Admin Columns - Version 2.0.2

Version Description

  • [Fixed] Performance issue
  • [Added] Option to show/hide edit-button
  • [Fixed] Bug before/after-field not saving correctly
  • [Fixed] Bug with storage model trying to load repository (svn) files
  • [Fixed] Bug with tooltip
  • [Fixed] Bug with duplicate message in javascript
  • [Added] RTL support - thanks to Hassan
  • [Added] Arabic translation - thanks to Hassan
Download this release

Release Info

Developer tschutter
Plugin Icon 128x128 Admin Columns
Version 2.0.2
Comparing to
See all releases

Code changes from version 2.0.1 to 2.0.2

assets/css/admin-column.css CHANGED
@@ -12,6 +12,12 @@
12
display: inline-block;
13
line-height: 16px;
14
}
15
.cpac-settings-link.current {
16
font-weight: bold;
17
}
@@ -28,6 +34,10 @@ a.help {
28
padding-right: 25px;
29
position: relative;
30
}
31
.button.loading span {
32
position: absolute;
33
top: 2px;
@@ -37,7 +47,10 @@ a.help {
37
height: 16px;
38
display: inline-block;
39
}
40
-
41
/* =Icons
42
-------------------------------------------------------------- */
43
.icon-yes {
@@ -67,6 +80,10 @@ a.help {
67
white-space: normal;
68
margin-right: 14px;
69
}
70
71
/* =Structure
72
-------------------------------------------------------------- */
@@ -74,15 +91,27 @@ a.help {
74
margin-right: 300px;
75
max-width: 600px;
76
}
77
.columns-left {
78
float: left;
79
width: 100%;
80
}
81
.columns-right {
82
float: right;
83
margin-right: -300px;
84
width: 280px;
85
}
86
.columns-right-inside.fixed {
87
position: fixed;
88
top: 40px;
@@ -114,6 +143,9 @@ a.help {
114
border-top: 1px solid #dfdfdf;
115
padding: 5px 4px 7px 0;
116
}
117
.cpac-placeholder .inner-placeholder {
118
border: 1px dashed #808080;
119
background: #eee;
@@ -180,6 +212,10 @@ a.help {
180
.column-meta img {
181
margin-right: 3px;
182
}
183
.column-meta .column_sort {
184
width: 10px;
185
background: transparent url('../images/drag.png') no-repeat 8px 8px;
@@ -211,6 +247,10 @@ a.help {
211
margin-left: 12px;
212
font-size: 12px;
213
}
214
.column-meta .column_label .inner > a.remove-button:hover {
215
background-color: #BC0B0B;
216
color: #FFFFFF;
@@ -226,6 +266,9 @@ a.help {
226
color: #999999;
227
font-size: 12px;
228
}
229
.column-meta .column_type {
230
width: auto;
231
text-align: right;
@@ -233,6 +276,11 @@ a.help {
233
color: #999999;
234
padding-right: 0;
235
}
236
.column-meta .column_edit {
237
width: 38px;
238
background: transparent url('../images/arrow.png') no-repeat 23px 16px;
@@ -281,6 +329,10 @@ tr.column_image_size td.input label {
281
tr.column_image_size td.input label input {
282
margin-right: 3px;
283
}
284
tr.column_image_size td.input label.custom-size-w,
285
tr.column_image_size td.input label.custom-size-h {
286
margin: 0;
@@ -308,9 +360,15 @@ tr.column_image_size.hidden {
308
width: 12px;
309
float: right;
310
}
311
.column-meta .column_label span.vers {
312
float: left;
313
}
314
315
/* =Column Form
316
-------------------------------------------------------------- */
@@ -350,7 +408,7 @@ tr.column_image_size.hidden {
350
font-weight: bold;
351
color: #333333;
352
display: block;
353
- display: inline;
354
}
355
.column-form tr td.label p {
356
color: #666666;
@@ -370,6 +428,11 @@ tr.column_image_size.hidden {
370
border-radius: 5px;
371
border: 1px solid #c7d7e2;
372
padding: 5px 8px !important;
373
}
374
.column-form tr td.label a.more-info {
375
display: none;
@@ -382,6 +445,9 @@ tr.column_image_size.hidden {
382
background: transparent url(../images/info.png) no-repeat 0 0;
383
float: right;
384
}
385
.column-form tr td select,
386
.column-form tr td input[type=text] {
387
width: 99.95%; /* excl padding */
@@ -392,18 +458,28 @@ tr.column_image_size.hidden {
392
float: left;
393
text-align: middle;
394
}
395
.column-form div.input-width-range {
396
float: left;
397
position: relative;
398
width: 87%;
399
margin-top: 4px;
400
}
401
.column-form div.input-width-range .ui-slider-handle {
402
cursor:ew-resize;
403
}
404
.column-form tr td.input label {
405
padding-right: 10px;
406
}
407
.column-form tr td.input p.description {
408
display: none;
409
margin-top: 4px;
@@ -413,6 +489,9 @@ tr.column_image_size.hidden {
413
vertical-align: middle;
414
float: right;
415
}
416
.column-form div.msg {
417
margin-top: 5px;
418
display: none;
@@ -450,6 +529,12 @@ tr.column_image_size.hidden {
450
text-shadow: 0 1px 0 #FFFFFF;
451
display: inline-block;
452
}
453
454
/* =Sidebar
455
-------------------------------------------------------------- */
@@ -581,9 +666,16 @@ tr.column_image_size.hidden {
581
padding-left: 25px;
582
margin-bottom: 4px;
583
}
584
#addon-state a.find-more-addons {
585
float: right;
586
}
587
588
/* =Settings Page
589
-------------------------------------------------------------- */
@@ -594,6 +686,9 @@ table.cpac-form-table {
594
.col-25, .col-30, .col-35, .col-65, .col-70, .col-75 {
595
float: left;
596
}
597
.col-25 { width: 25%; }
598
.col-30 { width: 30%; }
599
.col-35 { width: 35%; }
@@ -646,6 +741,9 @@ tr td.padding-22 {
646
display: inline-block;
647
margin-top: -5px;
648
}
649
.column-footer .button-container p {
650
margin: 4px;
651
color: #7A9BBE;
@@ -766,6 +864,9 @@ tr td.padding-22 {
766
float: right;
767
width: 48%;
768
}
769
.cpac_export .ms-container ul.ms-list {
770
width: 100%;
771
}
@@ -794,6 +895,9 @@ ul.addons li {
794
width: 180px;
795
min-height: 300px;
796
}
797
ul.addons li h3 {
798
font-size: 13px;
799
}
@@ -805,6 +909,10 @@ ul.addons li .button {
805
right: 15px;
806
position: absolute;
807
}
808
ul.addons li span.state {
809
display: none;
810
position: absolute;
@@ -818,9 +926,16 @@ ul.addons li span.state {
818
color: #fff;
819
font-weight: bold;
820
}
821
ul.addons li img {
822
margin: -15px 0 0 -13px;
823
}
824
ul.addons li.active .button {
825
display: none;
826
}
@@ -837,9 +952,17 @@ ul.addons li.active span.state {
837
margin-left: 1.5em;
838
padding: 0 15px;
839
}
840
.wp-pointer-right {
841
margin-right: 15px;
842
}
843
844
/* =Responsive
845
-------------------------------------------------------------- */
@@ -847,11 +970,19 @@ ul.addons li.active span.state {
847
.columns-container {
848
margin-right: 0;
849
}
850
.columns-right {
851
margin-top: 0;
852
margin-right: 0;
853
width: 100%;
854
}
855
.columns-right-inside.fixed {
856
position: relative;
857
top: 0;
@@ -863,4 +994,4 @@ ul.addons li.active span.state {
863
.columns-right #plugin-support {
864
display: none;
865
}
866
- }
12
display: inline-block;
13
line-height: 16px;
14
}
15
+ .rtl .cpac-settings-link {
16
+ float: left;
17
+ margin: 12px 0 5px 14px;
18
+ padding-right: 20px;
19
+ padding-left: 0;
20
+ }
21
.cpac-settings-link.current {
22
font-weight: bold;
23
}
34
padding-right: 25px;
35
position: relative;
36
}
37
+ .rtl .button.loading {
38
+ padding-left: 25px;
39
+ padding-right: 0;
40
+ }
41
.button.loading span {
42
position: absolute;
43
top: 2px;
47
height: 16px;
48
display: inline-block;
49
}
50
+ .rtl .button.loading span {
51
+ left: 6px;
52
+ right: auto;
53
+ }
54
/* =Icons
55
-------------------------------------------------------------- */
56
.icon-yes {
80
white-space: normal;
81
margin-right: 14px;
82
}
83
+ .rtl .cpac-menu .subsubsub {
84
+ margin-left: 14px;
85
+ margin-right: 0;
86
+ }
87
88
/* =Structure
89
-------------------------------------------------------------- */
91
margin-right: 300px;
92
max-width: 600px;
93
}
94
+ .rtl .columns-container {
95
+ margin-left: 300px;
96
+ margin-right: 0;
97
+ }
98
.columns-left {
99
float: left;
100
width: 100%;
101
}
102
+ .rtl .columns-left {
103
+ float: right;
104
+ }
105
.columns-right {
106
float: right;
107
margin-right: -300px;
108
width: 280px;
109
}
110
+ .rtl .columns-right {
111
+ float: left;
112
+ margin-left: -300px;
113
+ margin-right: 0;
114
+ }
115
.columns-right-inside.fixed {
116
position: fixed;
117
top: 40px;
143
border-top: 1px solid #dfdfdf;
144
padding: 5px 4px 7px 0;
145
}
146
+ .rtl .cpac-placeholder {
147
+ padding: 5px 0 7px 4px;
148
+ }
149
.cpac-placeholder .inner-placeholder {
150
border: 1px dashed #808080;
151
background: #eee;
212
.column-meta img {
213
margin-right: 3px;
214
}
215
+ .rtl .column-meta img {
216
+ margin-left: 3px;
217
+ margin-right: 0;
218
+ }
219
.column-meta .column_sort {
220
width: 10px;
221
background: transparent url('../images/drag.png') no-repeat 8px 8px;
247
margin-left: 12px;
248
font-size: 12px;
249
}
250
+ .rtl .column-meta .column_label .inner > a.remove-button {
251
+ margin-right: 12px;
252
+ margin-left: 0;
253
+ }
254
.column-meta .column_label .inner > a.remove-button:hover {
255
background-color: #BC0B0B;
256
color: #FFFFFF;
266
color: #999999;
267
font-size: 12px;
268
}
269
+ .rtl .column-meta .column_label .inner .meta {
270
+ float: left;
271
+ }
272
.column-meta .column_type {
273
width: auto;
274
text-align: right;
276
color: #999999;
277
padding-right: 0;
278
}
279
+ .rtl .column-meta .column_type {
280
+ text-align: left;
281
+ padding-left: 0;
282
+ padding-right: auto;
283
+ }
284
.column-meta .column_edit {
285
width: 38px;
286
background: transparent url('../images/arrow.png') no-repeat 23px 16px;
329
tr.column_image_size td.input label input {
330
margin-right: 3px;
331
}
332
+ .rtl tr.column_image_size td.input label input {
333
+ margin-left: 3px;
334
+ margin-right: 0;
335
+ }
336
tr.column_image_size td.input label.custom-size-w,
337
tr.column_image_size td.input label.custom-size-h {
338
margin: 0;
360
width: 12px;
361
float: right;
362
}
363
+ .rtl .column-meta span.vers .comment-grey-bubble {
364
+ float: left;
365
+ }
366
.column-meta .column_label span.vers {
367
float: left;
368
}
369
+ .rtl .column-meta .column_label span.vers {
370
+ float: right;
371
+ }
372
373
/* =Column Form
374
-------------------------------------------------------------- */
408
font-weight: bold;
409
color: #333333;
410
display: block;
411
+ position: relative;
412
}
413
.column-form tr td.label p {
414
color: #666666;
428
border-radius: 5px;
429
border: 1px solid #c7d7e2;
430
padding: 5px 8px !important;
431
+ font-weight: normal;
432
+ }
433
+ .rtl .column-form tr td.label p.description {
434
+ right: 0;
435
+ left: auto;
436
}
437
.column-form tr td.label a.more-info {
438
display: none;
445
background: transparent url(../images/info.png) no-repeat 0 0;
446
float: right;
447
}
448
+ .rtl .column-form tr td.label a.more-info {
449
+ float: left;
450
+ }
451
.column-form tr td select,
452
.column-form tr td input[type=text] {
453
width: 99.95%; /* excl padding */
458
float: left;
459
text-align: middle;
460
}
461
+ .rtl .column-form div.description {
462
+ float: right;
463
+ }
464
.column-form div.input-width-range {
465
float: left;
466
position: relative;
467
width: 87%;
468
margin-top: 4px;
469
}
470
+ .rtl .column-form div.input-width-range {
471
+ float: right;
472
+ }
473
.column-form div.input-width-range .ui-slider-handle {
474
cursor:ew-resize;
475
}
476
.column-form tr td.input label {
477
padding-right: 10px;
478
}
479
+ .rtl .column-form tr td.input label {
480
+ padding-left: 10px;
481
+ padding-right: 0;
482
+ }
483
.column-form tr td.input p.description {
484
display: none;
485
margin-top: 4px;
489
vertical-align: middle;
490
float: right;
491
}
492
+ .rtl .column-form a.help {
493
+ float: left;
494
+ }
495
.column-form div.msg {
496
margin-top: 5px;
497
display: none;
529
text-shadow: 0 1px 0 #FFFFFF;
530
display: inline-block;
531
}
532
+ .rtl .column-footer .order-message {
533
+ float: right;
534
+ padding-right: 22px;
535
+ padding-left: 0;
536
+ background: transparent url('../images/order_arrow-rtl.png') no-repeat right top;
537
+ }
538
539
/* =Sidebar
540
-------------------------------------------------------------- */
666
padding-left: 25px;
667
margin-bottom: 4px;
668
}
669
+ .rtl #addon-state ul li {
670
+ padding-right: 25px;
671
+ padding-left: 0;
672
+ }
673
#addon-state a.find-more-addons {
674
float: right;
675
}
676
+ .rtl #addon-state a.find-more-addons {
677
+ float: left;
678
+ }
679
680
/* =Settings Page
681
-------------------------------------------------------------- */
686
.col-25, .col-30, .col-35, .col-65, .col-70, .col-75 {
687
float: left;
688
}
689
+ .rtl .col-25, .rtl .col-30, .rtl .col-35, .rtl .col-65, .rtl .col-70, .rtl .col-75 {
690
+ float: right;
691
+ }
692
.col-25 { width: 25%; }
693
.col-30 { width: 30%; }
694
.col-35 { width: 35%; }
741
display: inline-block;
742
margin-top: -5px;
743
}
744
+ .rtl .column-footer .button-container {
745
+ float: left;
746
+ }
747
.column-footer .button-container p {
748
margin: 4px;
749
color: #7A9BBE;
864
float: right;
865
width: 48%;
866
}
867
+ .rtl .cpac_export .ms-container .ms-selection {
868
+ float: left;
869
+ }
870
.cpac_export .ms-container ul.ms-list {
871
width: 100%;
872
}
895
width: 180px;
896
min-height: 300px;
897
}
898
+ .rtl ul.addons li {
899
+ float: right;
900
+ }
901
ul.addons li h3 {
902
font-size: 13px;
903
}
909
right: 15px;
910
position: absolute;
911
}
912
+ .rtl ul.addons li .button {
913
+ left: 15px;
914
+ right: auto;
915
+ }
916
ul.addons li span.state {
917
display: none;
918
position: absolute;
926
color: #fff;
927
font-weight: bold;
928
}
929
+ .rtl ul.addons li span.state {
930
+ margin-right: -13px;
931
+ margin-left: 0;
932
+ }
933
ul.addons li img {
934
margin: -15px 0 0 -13px;
935
}
936
+ .rtl ul.addons li img {
937
+ margin: -15px -13px 0 0;
938
+ }
939
ul.addons li.active .button {
940
display: none;
941
}
952
margin-left: 1.5em;
953
padding: 0 15px;
954
}
955
+ .rtl .wp-pointer-content ol {
956
+ margin-right: 1.5em;
957
+ margin-left: 0;
958
+ }
959
.wp-pointer-right {
960
margin-right: 15px;
961
}
962
+ .rtl .wp-pointer-right {
963
+ margin-left: 15px;
964
+ margin-right: 0;
965
+ }
966
967
/* =Responsive
968
-------------------------------------------------------------- */
970
.columns-container {
971
margin-right: 0;
972
}
973
+ .rtl .columns-container {
974
+ margin-left: 0;
975
+ margin-right: auto;
976
+ }
977
.columns-right {
978
margin-top: 0;
979
margin-right: 0;
980
width: 100%;
981
}
982
+ .rtl .columns-right {
983
+ margin-left: 0;
984
+ margin-right: auto;
985
+ }
986
.columns-right-inside.fixed {
987
position: relative;
988
top: 0;
994
.columns-right #plugin-support {
995
display: none;
996
}
997
+ }
assets/css/column.css CHANGED
@@ -19,6 +19,10 @@ span.status-closed {
19
margin-right: 2px;
20
overflow: hidden;
21
}
22
.cpac-column-value-image img {
23
display: block;
24
margin: 0 auto;
@@ -27,6 +31,10 @@ span.status-closed {
27
padding-right: 5px;
28
padding-bottom: 4px;
29
}
30
31
/* =Color Column
32
-------------------------------------------------------------- */
@@ -50,9 +58,14 @@ div.cpac-color span {
50
min-width: 47px;
51
text-align: center;
52
}
53
54
/* =Available Sizes column
55
-------------------------------------------------------------- */
56
div.sizes span.not-available {
57
color: #999;
58
- }
19
margin-right: 2px;
20
overflow: hidden;
21
}
22
+ .rtl .cpac-column-value-image {
23
+ margin-left: 2px;
24
+ margin-right: 0;
25
+ }
26
.cpac-column-value-image img {
27
display: block;
28
margin: 0 auto;
31
padding-right: 5px;
32
padding-bottom: 4px;
33
}
34
+ .rtl .column-column-attachment img {
35
+ padding-left: 5px;
36
+ padding-right: 0;
37
+ }
38
39
/* =Color Column
40
-------------------------------------------------------------- */
58
min-width: 47px;
59
text-align: center;
60
}
61
+ .rtl div.cpac-color span {
62
+ float: right;
63
+ margin-left: 12px;
64
+ margin-right: 0;
65
+ }
66
67
/* =Available Sizes column
68
-------------------------------------------------------------- */
69
div.sizes span.not-available {
70
color: #999;
71
+ }
assets/images/order_arrow-rtl.png ADDED
Binary file
assets/js/admin-columns.js CHANGED
@@ -179,9 +179,9 @@ jQuery.fn.column_bind_events = function() {
179
180
/** tooltip */
181
column.find('.column-form .label label').hover(function(){
182
- jQuery(this).next('p.description').show();
183
},function(){
184
- jQuery(this).next('p.description').hide();
185
});
186
};
187
179
180
/** tooltip */
181
column.find('.column-form .label label').hover(function(){
182
+ jQuery(this).find('p.description').show();
183
},function(){
184
+ jQuery(this).find('p.description').hide();
185
});
186
};
187
classes/column.php CHANGED
@@ -121,7 +121,7 @@ class CPAC_Column {
121
// set column name to column type
122
$properties['name'] = $properties['type'];
123
124
- // show
125
if ( method_exists( $this, 'apply_conditional' ) )
126
$properties['is_registered'] = $this->apply_conditional();
127
@@ -754,11 +754,9 @@ class CPAC_Column {
754
<td class="label">
755
<label for="<?php $this->attr_id( $pointer ); ?>">
756
<?php echo stripslashes( $label ); ?>
757
</label>
758
- <?php if( $description ) : ?>
759
- <p class="description"><?php echo $description; ?></p>
760
- <a href="javascript:;" class="more-info"></a>
761
- <?php endif; ?>
762
</td>
763
<?php
764
}
121
// set column name to column type
122
$properties['name'] = $properties['type'];
123
124
+ // apply conditional statements wheter this column should be available or not.
125
if ( method_exists( $this, 'apply_conditional' ) )
126
$properties['is_registered'] = $this->apply_conditional();
127
754
<td class="label">
755
<label for="<?php $this->attr_id( $pointer ); ?>">
756
<?php echo stripslashes( $label ); ?>
757
+
758
+ <?php if( $description ) : ?><p class="description"><?php echo $description; ?></p><?php endif; ?>
759
</label>
760
</td>
761
<?php
762
}
classes/column/custom-field.php CHANGED
@@ -165,7 +165,7 @@ class CPAC_Column_Custom_Field extends CPAC_Column {
165
}
166
167
/**
168
- * Get Users by ID - Value method
169
*
170
* @since 2.0.0
171
*
@@ -292,18 +292,22 @@ class CPAC_Column_Custom_Field extends CPAC_Column {
292
*/
293
function get_value( $id ) {
294
295
- if ( ! $meta = $this->get_meta_by_id( $id ) )
296
- return false;
297
298
- // get value by meta
299
- $meta = $this->get_value_by_meta( $meta );
300
301
// add before and after string
302
- if ( $meta ) {
303
- $meta = "{$this->options->before}{$meta}{$this->options->after}";
304
}
305
306
- return $meta;
307
}
308
309
/**
@@ -379,13 +383,13 @@ class CPAC_Column_Custom_Field extends CPAC_Column {
379
<tr class="column_before">
380
<?php $this->label_view( __( "Before", 'cpac' ), __( 'This text will appear before the custom field value.', 'cpac' ), 'before' ); ?>
381
<td class="input">
382
- <input type="text" class="cpac-before" name="<?php $this->attr_name( 'before' ); ?>" id="<?php $this->attr_id( 'before' ); ?>" value="<?php echo $this->options->before; ?>"/>
383
</td>
384
</tr>
385
<tr class="column_after">
386
<?php $this->label_view( __( "After", 'cpac' ), __( 'This text will appear after the custom field value.', 'cpac' ), 'after' ); ?>
387
<td class="input">
388
- <input type="text" class="cpac-after" name="<?php $this->attr_name( 'after' ); ?>" id="<?php $this->attr_id( 'after' ); ?>" value="<?php echo $this->options->after; ?>"/>
389
</td>
390
</tr>
391
<?php
165
}
166
167
/**
168
+ * Get meta value
169
*
170
* @since 2.0.0
171
*
292
*/
293
function get_value( $id ) {
294
295
+ $value = '';
296
+
297
+ if ( $meta = $this->get_meta_by_id( $id ) ) {
298
299
+ // get value by meta
300
+ $value = $this->get_value_by_meta( $meta );
301
+ }
302
+
303
+ $value = apply_filters( 'cac/column/meta/value', $value, $id, $this );
304
305
// add before and after string
306
+ if ( $value ) {
307
+ $value = "{$this->options->before}{$value}{$this->options->after}";
308
}
309
310
+ return $value;
311
}
312
313
/**
383
<tr class="column_before">
384
<?php $this->label_view( __( "Before", 'cpac' ), __( 'This text will appear before the custom field value.', 'cpac' ), 'before' ); ?>
385
<td class="input">
386
+ <input type="text" class="cpac-before" name="<?php $this->attr_name( 'before' ); ?>" id="<?php $this->attr_id( 'before' ); ?>" value="<?php echo esc_attr( stripslashes( $this->options->before ) ); ?>"/>
387
</td>
388
</tr>
389
<tr class="column_after">
390
<?php $this->label_view( __( "After", 'cpac' ), __( 'This text will appear after the custom field value.', 'cpac' ), 'after' ); ?>
391
<td class="input">
392
+ <input type="text" class="cpac-after" name="<?php $this->attr_name( 'after' ); ?>" id="<?php $this->attr_id( 'after' ); ?>" value="<?php echo esc_attr( stripslashes( $this->options->after ) ); ?>"/>
393
</td>
394
</tr>
395
<?php
classes/export_import.php DELETED
@@ -1,179 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * CPAC_Export_Import Class
5
- *
6
- * @since 1.4.6.5
7
- *
8
- */
9
- class CPAC_Export_Import {
10
-
11
- private $cpac;
12
-
13
- /**
14
- * Constructor
15
- *
16
- * @since 1.4.6.5
17
- */
18
- function __construct( $cpac ) {
19
-
20
- $this->cpac = $cpac;
21
-
22
- add_action( 'admin_init', array( $this, 'download_export' ) );
23
- add_action( 'admin_init', array( $this, 'handle_file_import' ) );
24
- }
25
-
26
- /**
27
- * Get export string
28
- *
29
- * @since 2.0.0
30
- */
31
- function get_export_string( $types = array() ) {
32
-
33
- if ( empty( $types ) )
34
- return false;
35
-
36
- $columns = array();
37
-
38
- // get stored columns
39
- foreach ( $this->cpac->storage_models as $storage_model ) {
40
-
41
- if ( ! in_array( $storage_model->key, $types ) )
42
- continue;
43
-
44
- $columns[ $storage_model->key ] = $storage_model->get_stored_columns();
45
- }
46
-
47
- if ( empty( $columns ) )
48
- return false;
49
-
50
- return "<!-- START: Admin Columns export -->\n" . base64_encode( serialize( array_filter( $columns ) ) ) . "\n<!-- END: Admin Columns export -->";
51
- }
52
-
53
- /**
54
- * Download Export
55
- *
56
- * @since 2.0.0
57
- */
58
- function download_export() {
59
- if ( ! isset( $_REQUEST['_cpac_nonce'] ) || ! wp_verify_nonce( $_REQUEST['_cpac_nonce'], 'download-export' ) )
60
- return false;
61
-
62
- if ( empty( $_REQUEST['export_types'] ) ) {
63
-
64
- cpac_admin_message( __( 'Export field is empty. Please select your types from the left column.', 'cpac' ), 'error' );
65
-
66
- return false;
67
- }
68
-
69
- $single_type = '';
70
- if ( 1 == count( $_REQUEST['export_types'] ) ) {
71
- $single_type = '_' . $_REQUEST['export_types'][0];
72
- }
73
-
74
- $filename = 'admin-columns-export_' . date('Y-m-d', time() ) . $single_type;
75
-
76
- // generate text file
77
- header( "Content-disposition: attachment; filename={$filename}.txt" );
78
- header( 'Content-type: text/plain' );
79
- echo $this->get_export_string( $_REQUEST['export_types'] );
80
- exit;
81
- }
82
-
83
- /**
84
- * Handle file import
85
- *
86
- * @uses wp_import_handle_upload()
87
- * @since 2.0.0
88
- */
89
- function handle_file_import() {
90
- if ( ! isset( $_REQUEST['_cpac_nonce'] ) || ! wp_verify_nonce( $_REQUEST['_cpac_nonce'], 'file-import' ) || empty( $_FILES['import'] ) )
91
- return false;
92
-
93
- // handles upload
94
- $file = wp_import_handle_upload();
95
-
96
- // any errors?
97
- $error = false;
98
- if ( isset( $file['error'] ) ) {
99
- $error = __( 'Sorry, there has been an error.', 'cpac' ) . '<br />' . esc_html( $file['error'] );
100
- } else if ( ! file_exists( $file['file'] ) ) {
101
- $error = __( 'Sorry, there has been an error.', 'cpac' ) . '<br />' . sprintf( __( 'The export file could not be found at <code>%s</code>. It is likely that this was caused by a permissions problem.', 'cpac' ), esc_html( $file['file'] ) );
102
- }
103
-
104
- if ( $error ) {
105
- cpac_admin_message( $error, 'error' );
106
-
107
- return false;
108
- }
109
- // read file contents and start the import
110
- $content = file_get_contents( $file['file'] );
111
-
112
- // cleanup
113
- wp_delete_attachment( $file['id'] );
114
-
115
- // decode file contents
116
- $columns = $this->get_decoded_settings( $content );
117
-
118
- if ( ! $columns ) {
119
- cpac_admin_message( __( 'Import failed. File does not contain Admin Column settings.', 'cpac' ), 'error' );
120
- return false;
121
- }
122
-
123
- // store settings
124
- foreach( $columns as $type => $cols ) {
125
-
126
- $storage_model = $this->cpac->get_storage_model( $type );
127
- $storage_model->store( $cols );
128
- }
129
- }
130
-
131
- /**
132
- * Get decoded settings
133
- *
134
- * @since 2.0.0
135
- *
136
- * @param string $encoded_string
137
- * @return array Columns
138
- */
139
- function get_decoded_settings( $encoded_string = '' ) {
140
- if( ! $encoded_string || ! is_string( $encoded_string ) || strpos( $encoded_string, '<!-- START: Admin Columns export -->' ) === false )
141
- return false;
142
-
143
- // decode
144
- $encoded_string = str_replace( "<!-- START: Admin Columns export -->\n", "", $encoded_string );
145
- $encoded_string = str_replace( "\n<!-- END: Admin Columns export -->", "", $encoded_string);
146
- $decoded = maybe_unserialize( base64_decode( trim( $encoded_string ) ) );
147
-
148
- if ( empty( $decoded ) || ! is_array( $decoded ) )
149
- return false;
150
-
151
- return $decoded;
152
- }
153
-
154
- /**
155
- * Update settings
156
- *
157
- * @since 2.0.0
158
- *
159
- * @param array $columns Columns
160
- * @return bool
161
- */
162
- function update_settings( $columns ) {
163
- $options = get_option( 'cpac_options' );
164
-
165
- // merge saved setting if they exist..
166
- if ( ! empty( $options['columns'] ) ) {
167
- $options['columns'] = array_merge( $options['columns'], $columns );
168
- }
169
-
170
- // .. if there are no setting yet use the import
171
- else {
172
- $options = array(
173
- 'columns' => $columns
174
- );
175
- }
176
-
177
- return update_option( 'cpac_options', array_filter( $options ) );
178
- }
179
- }
classes/settings.php CHANGED
@@ -123,6 +123,11 @@ class CPAC_Settings {
123
// columns
124
wp_enqueue_script( 'cpac-admin-columns', CPAC_URL . 'assets/js/admin-columns.js', array( 'jquery', 'dashboard', 'jquery-ui-slider', 'jquery-ui-sortable' ), CPAC_VERSION );
125
wp_enqueue_script( 'cpac-custom-fields-js', CPAC_URL . 'assets/js/custom-fields.js', array( 'jquery' ), CPAC_VERSION );
126
}
127
128
/**
@@ -201,15 +206,14 @@ class CPAC_Settings {
201
),
202
array(
203
'title' => __( "Basics", 'cpac' ),
204
- 'content' =>
205
- "<h5>". __( "Show / Hide", 'cpac' ) . "</h5>
206
- <p>". __( "You can switch columns on or off by clicking on the checkbox. This will show or hide each column heading.", 'cpac' ) . "</p>
207
- <h5>". __( "Change order", 'cpac' ) . "</h5>
208
- <p>". __( "By dragging the columns you can change the order which they will appear in.", 'cpac' ) . "</p>
209
- <h5>". __( "Change label", 'cpac' ) . "</h5>
210
- <p>". __( "By clicking on the triangle you will see the column options. Here you can change each label of the columns heading.", 'cpac' ) . "</p>
211
- <h5>". __( "Change column width", 'cpac' ) . "</h5>
212
- <p>". __( "By clicking on the triangle you will see the column options. By using the draggable slider yo can set the width of the columns in percentages.", 'cpac' ) . "</p>"
213
),
214
array(
215
'title' => __( "Custom Field", 'cpac' ),
@@ -578,7 +582,7 @@ class CPAC_Settings {
578
<?php $has_been_stored = $storage_model->get_stored_columns() ? true : false; ?>
579
<div class="form-update">
580
<input type="hidden" name="cpac_action" value="update_by_type" />
581
- <input type="submit" class="button-primary submit-update" value="<?php echo $has_been_stored ? __( 'Update' ) : __('Publish'); ?>" accesskey="u" >
582
</div>
583
<?php if ( $has_been_stored ) : ?>
584
<div class="form-reset">
@@ -697,13 +701,21 @@ class CPAC_Settings {
697
<form method="post" action="options.php">
698
<?php settings_fields( 'cpac-general-settings' ); ?>
699
<?php $options = get_option( 'cpac_general_options' ); ?>
700
- <strong><?php _e( 'Custom field settings', 'cpac' ); ?></strong>
701
<p>
702
<label for="show_hidden">
703
<input name="cpac_general_options[show_hidden]" id="show_hidden" type="checkbox" value="1" <?php checked( isset( $options['show_hidden'] ) ? $options['show_hidden'] : '', '1' ); ?>>
704
<?php _e( 'Show hidden custom fields. Default is <code>off</code>.', 'cpac' ); ?>
705
</label>
706
</p>
707
708
<?php do_action( 'cac/settings/general', $options ); ?>
709
123
// columns
124
wp_enqueue_script( 'cpac-admin-columns', CPAC_URL . 'assets/js/admin-columns.js', array( 'jquery', 'dashboard', 'jquery-ui-slider', 'jquery-ui-sortable' ), CPAC_VERSION );
125
wp_enqueue_script( 'cpac-custom-fields-js', CPAC_URL . 'assets/js/custom-fields.js', array( 'jquery' ), CPAC_VERSION );
126
+
127
+ // javascript translations
128
+ wp_localize_script( 'cpac-admin-columns', 'cpac_i18n', array(
129
+ 'clone' => __( '%s column is already present and can not be duplicated.', 'cpac' ),
130
+ ));
131
}
132
133
/**
206
),
207
array(
208
'title' => __( "Basics", 'cpac' ),
209
+ 'content' => "
210
+ <h5>" . __( "Change order", 'cpac' ) . "</h5>
211
+ <p>" . __( "By dragging the columns you can change the order which they will appear in.", 'cpac' ) . "</p>
212
+ <h5>" . __( "Change label", 'cpac' ) . "</h5>
213
+ <p>" . __( "By clicking on the triangle you will see the column options. Here you can change each label of the columns heading.", 'cpac' ) . "</p>
214
+ <h5>" . __( "Change column width", 'cpac' ) . "</h5>
215
+ <p>" . __( "By clicking on the triangle you will see the column options. By using the draggable slider you can set the width of the columns in percentages.", 'cpac' ) . "</p>
216
+ "
217
),
218
array(
219
'title' => __( "Custom Field", 'cpac' ),
582
<?php $has_been_stored = $storage_model->get_stored_columns() ? true : false; ?>
583
<div class="form-update">
584
<input type="hidden" name="cpac_action" value="update_by_type" />
585
+ <input type="submit" class="button-primary submit-update" value="<?php echo $has_been_stored ? __( 'Update' ) : __('Publish'); ?> <?php echo $storage_model->label; ?>" accesskey="u" >
586
</div>
587
<?php if ( $has_been_stored ) : ?>
588
<div class="form-reset">
701
<form method="post" action="options.php">
702
<?php settings_fields( 'cpac-general-settings' ); ?>
703
<?php $options = get_option( 'cpac_general_options' ); ?>
704
+ <p>
705
+ <br/>
706
+ </p>
707
<p>
708
<label for="show_hidden">
709
<input name="cpac_general_options[show_hidden]" id="show_hidden" type="checkbox" value="1" <?php checked( isset( $options['show_hidden'] ) ? $options['show_hidden'] : '', '1' ); ?>>
710
<?php _e( 'Show hidden custom fields. Default is <code>off</code>.', 'cpac' ); ?>
711
</label>
712
</p>
713
+ <p>
714
+ <label for="show_edit_button">
715
+ <input name="cpac_general_options[show_edit_button]" id="show_edit_button" type="checkbox" value="1" <?php checked( isset( $options['show_edit_button'] ) ? $options['show_edit_button'] : '', '1' ); ?>>
716
+ <?php _e( 'Show "Edit Columns" button on admin screens. Default is <code>off</code>.', 'cpac' ); ?>
717
+ </label>
718
+ </p>
719
720
<?php do_action( 'cac/settings/general', $options ); ?>
721
classes/storage_model.php CHANGED
@@ -46,6 +46,13 @@ abstract class CPAC_Storage_Model {
46
*/
47
protected $custom_columns;
48
49
/**
50
* Get default columns
51
*
@@ -221,7 +228,8 @@ abstract class CPAC_Storage_Model {
221
222
foreach( $iterator as $leaf ) {
223
224
- if ( $leaf->isDot() ) continue;
225
226
// build classname from filename
227
$class_name = implode( '_', array_map( 'ucfirst', explode( '-', basename( $leaf->getFilename(), '.php' ) ) ) );
@@ -374,6 +382,15 @@ abstract class CPAC_Storage_Model {
374
return $columns;
375
}
376
377
/**
378
* Get Columns
379
*
@@ -463,11 +480,15 @@ abstract class CPAC_Storage_Model {
463
*/
464
function get_column_by_name( $name ) {
465
466
- $columns = $this->get_columns();
467
- if ( ! isset( $columns[ $name ] ) )
468
return false;
469
470
- return $columns[ $name ];
471
}
472
473
/**
46
*/
47
protected $custom_columns;
48
49
+ /**
50
+ * Columns
51
+ *
52
+ * @since 2.0.1
53
+ */
54
+ protected $columns;
55
+
56
/**
57
* Get default columns
58
*
228
229
foreach( $iterator as $leaf ) {
230
231
+ // skip files that start with . ( e.g: .SVN .DS_STORE )
232
+ if ( $leaf->isDot() || $leaf->isDir() || substr( $leaf->getFilename(), 0, 1 ) === '.' ) continue;
233
234
// build classname from filename
235
$class_name = implode( '_', array_map( 'ucfirst', explode( '-', basename( $leaf->getFilename(), '.php' ) ) ) );
382
return $columns;
383
}
384
385
+ /**
386
+ * Set Columns
387
+ *
388
+ * @since 2.0.2
389
+ */
390
+ function set_columns() {
391
+ $this->columns = $this->get_columns();
392
+ }
393
+
394
/**
395
* Get Columns
396
*
480
*/
481
function get_column_by_name( $name ) {
482
483
+ // @todo check if no issues come up by using $this->columns
484
+ //$columns = $this->get_columns();
485
+ //if ( ! isset( $columns[ $name ] ) )
486
+ // return false;*/
487
+
488
+ if ( ! isset( $this->columns[ $name ] ) )
489
return false;
490
491
+ return $this->columns[ $name ];
492
}
493
494
/**
classes/storage_model/comment.php CHANGED
@@ -16,6 +16,10 @@ class CPAC_Storage_Model_Comment extends CPAC_Storage_Model {
16
17
$this->set_custom_columns();
18
19
// headings
20
add_filter( "manage_{$this->page}_columns", array( $this, 'add_headings' ) );
21
16
17
$this->set_custom_columns();
18
19
+ // Populate columns variable.
20
+ // This is used for manage_value. By storing these columns we greatly improve performance.
21
+ add_action( 'admin_init', array( $this, 'set_columns' ) );
22
+
23
// headings
24
add_filter( "manage_{$this->page}_columns", array( $this, 'add_headings' ) );
25
classes/storage_model/link.php CHANGED
@@ -16,6 +16,10 @@ class CPAC_Storage_Model_Link extends CPAC_Storage_Model {
16
17
$this->set_custom_columns();
18
19
// headings
20
add_filter( "manage_{$this->page}_columns", array( $this, 'add_headings' ) );
21
16
17
$this->set_custom_columns();
18
19
+ // Populate columns variable.
20
+ // This is used for manage_value. By storing these columns we greatly improve performance.
21
+ add_action( 'admin_init', array( $this, 'set_columns' ) );
22
+
23
// headings
24
add_filter( "manage_{$this->page}_columns", array( $this, 'add_headings' ) );
25
classes/storage_model/media.php CHANGED
@@ -16,6 +16,10 @@ class CPAC_Storage_Model_Media extends CPAC_Storage_Model {
16
17
$this->set_custom_columns();
18
19
// headings
20
add_filter( "manage_{$this->page}_columns", array( $this, 'add_headings' ) );
21
16
17
$this->set_custom_columns();
18
19
+ // Populate columns variable.
20
+ // This is used for manage_value. By storing these columns we greatly improve performance.
21
+ add_action( 'admin_init', array( $this, 'set_columns' ) );
22
+
23
// headings
24
add_filter( "manage_{$this->page}_columns", array( $this, 'add_headings' ) );
25
classes/storage_model/post.php CHANGED
@@ -14,8 +14,18 @@ class CPAC_Storage_Model_Post extends CPAC_Storage_Model {
14
$this->type = 'post';
15
$this->page = 'edit';
16
17
$this->set_custom_columns();
18
19
// Headings
20
21
// Since 3.1
@@ -114,8 +124,10 @@ class CPAC_Storage_Model_Post extends CPAC_Storage_Model {
114
115
$value = '';
116
117
- // get column instance
118
- if ( $column = $this->get_column_by_name( $column_name ) )
119
$value = $column->get_value( $post_id );
120
121
$value = apply_filters( "cac/column/value/posts", $value, $column );
14
$this->type = 'post';
15
$this->page = 'edit';
16
17
+ // @todo_minor
18
+ // Add parent::__construct and move these two over:
19
+ // $this->set_custom_columns()
20
+ // add_action( 'admin_init', array( $this, 'set_columns' ) );
21
+ // also for the other types
22
+
23
$this->set_custom_columns();
24
25
+ // Populate columns variable.
26
+ // This is used for manage_value. By storing these columns we greatly improve performance.
27
+ add_action( 'admin_init', array( $this, 'set_columns' ) );
28
+
29
// Headings
30
31
// Since 3.1
124
125
$value = '';
126
127
+ $column = $this->get_column_by_name( $column_name );
128
+
129
+ // get value
130
+ if ( $column )
131
$value = $column->get_value( $post_id );
132
133
$value = apply_filters( "cac/column/value/posts", $value, $column );
classes/storage_model/user.php CHANGED
@@ -16,6 +16,10 @@ class CPAC_Storage_Model_User extends CPAC_Storage_Model {
16
17
$this->set_custom_columns();
18
19
// headings
20
add_filter( "manage_{$this->page}_columns", array( $this, 'add_headings' ) );
21
16
17
$this->set_custom_columns();
18
19
+ // Populate columns variable.
20
+ // This is used for manage_value. By storing these columns we greatly improve performance.
21
+ add_action( 'admin_init', array( $this, 'set_columns' ) );
22
+
23
// headings
24
add_filter( "manage_{$this->page}_columns", array( $this, 'add_headings' ) );
25
classes/upgrade.php CHANGED
@@ -350,6 +350,8 @@ class CPAC_Upgrade {
350
*/
351
public function admin_scripts() {
352
wp_enqueue_script( 'cpac-upgrade', CPAC_URL . 'assets/js/upgrade.js', array( 'jquery' ), CPAC_VERSION );
353
wp_enqueue_style( 'cpac-admin', CPAC_URL . 'assets/css/admin-column.css', array(), CPAC_VERSION, 'all' );
354
355
// javascript translations
350
*/
351
public function admin_scripts() {
352
wp_enqueue_script( 'cpac-upgrade', CPAC_URL . 'assets/js/upgrade.js', array( 'jquery' ), CPAC_VERSION );
353
+
354
+ // CSS
355
wp_enqueue_style( 'cpac-admin', CPAC_URL . 'assets/css/admin-column.css', array(), CPAC_VERSION, 'all' );
356
357
// javascript translations
codepress-admin-columns.php CHANGED
@@ -2,7 +2,7 @@
2
/*
3
4
Plugin Name: Codepress Admin Columns
5
- Version: 2.0.1
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
@@ -29,7 +29,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
29
30
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
31
32
- define( 'CPAC_VERSION', '2.0.1' ); // current plugin version
33
define( 'CPAC_UPGRADE_VERSION', '2.0.0' ); // this is the latest version which requires an upgrade
34
define( 'CPAC_URL', plugin_dir_url( __FILE__ ) );
35
define( 'CPAC_DIR', plugin_dir_path( __FILE__ ) );
@@ -340,7 +340,11 @@ class CPAC {
340
.cpac-edit { margin-right: 3px; vertical-align: middle; }
341
</style>
342
343
- <?php if ( current_user_can( 'manage_admin_columns' ) && $edit_link ) : ?>
344
<script type="text/javascript">
345
jQuery(document).ready(function() {
346
jQuery('.tablenav.top .actions:last').append('<a href="<?php echo $edit_link; ?>" class="cpac-edit add-new-h2"><?php _e( 'Edit columns', 'cpac' ); ?></a>');
2
/*
3
4
Plugin Name: Codepress Admin Columns
5
+ Version: 2.0.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
29
30
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
31
32
+ define( 'CPAC_VERSION', '2.0.2' ); // current plugin version
33
define( 'CPAC_UPGRADE_VERSION', '2.0.0' ); // this is the latest version which requires an upgrade
34
define( 'CPAC_URL', plugin_dir_url( __FILE__ ) );
35
define( 'CPAC_DIR', plugin_dir_path( __FILE__ ) );
340
.cpac-edit { margin-right: 3px; vertical-align: middle; }
341
</style>
342
343
+ <?php
344
+
345
+ $general_options = get_option( 'cpac_general_options' );
346
+
347
+ if ( current_user_can( 'manage_admin_columns' ) && $edit_link && isset( $general_options['show_edit_button'] ) && '1' === $general_options['show_edit_button'] ) : ?>
348
<script type="text/javascript">
349
jQuery(document).ready(function() {
350
jQuery('.tablenav.top .actions:last').append('<a href="<?php echo $edit_link; ?>" class="cpac-edit add-new-h2"><?php _e( 'Edit columns', 'cpac' ); ?></a>');
languages/cac-addon-pro.po ADDED
@@ -0,0 +1,265 @@
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Admin Columns - Pro Addon\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2013-08-14 15:29+0100\n"
6
+ "PO-Revision-Date: 2013-08-14 15:29+0100\n"
7
+ "Last-Translator: Codepress <info@codepress.nl>\n"
8
+ "Language-Team: Codepress <info@codepress.nl>\n"
9
+ "Language: English\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Poedit-KeywordsList: __;_e\n"
14
+ "X-Poedit-Basepath: .\n"
15
+ "X-Poedit-SourceCharset: UTF-8\n"
16
+ "X-Generator: Poedit 1.5.7\n"
17
+ "X-Poedit-SearchPath-0: .\n"
18
+ "X-Poedit-SearchPath-1: ..\n"
19
+
20
+ #: ../cac-addon-pro.php:91
21
+ msgid ""
22
+ "Sortorder has been <strong>deactivated</strong>. You are using the Pro add-"
23
+ "on, which contains the same functionality."
24
+ msgstr ""
25
+
26
+ #: ../cac-addon-pro.php:117
27
+ msgid "Pro add-on"
28
+ msgstr ""
29
+
30
+ #: ../cac-addon-pro.php:133
31
+ #, php-format
32
+ msgid ""
33
+ "The Pro add-on is enabled but not effective. It requires %s in order to work."
34
+ msgstr ""
35
+
36
+ #: ../classes/update.php:159
37
+ msgid "Could not connect to API. Try again at a later time please."
38
+ msgstr ""
39
+
40
+ #: ../classes/update.php:167
41
+ msgid "Wrong response from API."
42
+ msgstr ""
43
+
44
+ #: ../classes/update.php:209
45
+ msgid "licence is empty."
46
+ msgstr ""
47
+
48
+ #: ../classes/update.php:227
49
+ msgid "error"
50
+ msgstr ""
51
+
52
+ #: ../classes/update.php:228
53
+ #, php-format
54
+ msgid "Login into your account at %s to see your current licence activations."
55
+ msgstr ""
56
+
57
+ #: ../classes/update.php:232
58
+ msgid "activation failed"
59
+ msgstr ""
60
+
61
+ #: ../classes/update.php:239
62
+ msgid "licence is <strong>activated</strong>."
63
+ msgstr ""
64
+
65
+ #: ../classes/update.php:260
66
+ msgid "No licence key found."
67
+ msgstr ""
68
+
69
+ #: ../classes/update.php:265
70
+ msgid "Licence key is not active."
71
+ msgstr ""
72
+
73
+ #: ../classes/update.php:288
74
+ msgid "licence is <strong>deactivated</strong>."
75
+ msgstr ""
76
+
77
+ #: ../classes/update.php:320
78
+ msgid "Add-ons updates"
79
+ msgstr ""
80
+
81
+ #: ../classes/update.php:321 ../classes/update.php:367
82
+ msgid "Enter your licence to receive automatic updates."
83
+ msgstr ""
84
+
85
+ #: ../classes/update.php:357
86
+ msgid "Automatic updates are enabled."
87
+ msgstr ""
88
+
89
+ #: ../classes/update.php:358
90
+ msgid "Deactivate licence"
91
+ msgstr ""
92
+
93
+ #: ../classes/update.php:364
94
+ msgid "Fill in your licence code"
95
+ msgstr ""
96
+
97
+ #: ../classes/update.php:365
98
+ msgid "Update licence"
99
+ msgstr ""
100
+
101
+ #: ../classes/export-import/classes/export_import.php:43
102
+ msgid "Export Settings"
103
+ msgstr ""
104
+
105
+ #: ../classes/export-import/classes/export_import.php:45
106
+ msgid ""
107
+ "Pick the types for export from the left column. Click export to download "
108
+ "your column settings."
109
+ msgstr ""
110
+
111
+ #: ../classes/export-import/classes/export_import.php:46
112
+ #: ../classes/export-import/classes/export_import.php:49
113
+ #: ../classes/export-import/classes/export_import.php:63
114
+ #: ../classes/export-import/classes/export_import.php:66
115
+ msgid "Instructions"
116
+ msgstr ""
117
+
118
+ #: ../classes/export-import/classes/export_import.php:48
119
+ msgid "Export Columns Types"
120
+ msgstr ""
121
+
122
+ #: ../classes/export-import/classes/export_import.php:51
123
+ msgid "Select one or more Column Types from the left section by clicking them."
124
+ msgstr ""
125
+
126
+ #: ../classes/export-import/classes/export_import.php:52
127
+ msgid "Click export."
128
+ msgstr ""
129
+
130
+ #: ../classes/export-import/classes/export_import.php:53
131
+ msgid "Save the export file when prompted."
132
+ msgstr ""
133
+
134
+ #: ../classes/export-import/classes/export_import.php:54
135
+ msgid "Upload and import your settings file through Import Settings."
136
+ msgstr ""
137
+
138
+ #: ../classes/export-import/classes/export_import.php:60
139
+ msgid "Import Settings"
140
+ msgstr ""
141
+
142
+ #: ../classes/export-import/classes/export_import.php:62
143
+ msgid "Copy and paste your import settings here."
144
+ msgstr ""
145
+
146
+ #: ../classes/export-import/classes/export_import.php:65
147
+ msgid "Import Columns Types"
148
+ msgstr ""
149
+
150
+ #: ../classes/export-import/classes/export_import.php:68
151
+ msgid "Choose a Admin Columns Export file to upload."
152
+ msgstr ""
153
+
154
+ #: ../classes/export-import/classes/export_import.php:69
155
+ msgid "Click upload file and import."
156
+ msgstr ""
157
+
158
+ #: ../classes/export-import/classes/export_import.php:70
159
+ msgid "That's it! You imported settings are now active."
160
+ msgstr ""
161
+
162
+ #: ../classes/export-import/classes/export_import.php:94
163
+ msgid "General"
164
+ msgstr ""
165
+
166
+ #: ../classes/export-import/classes/export_import.php:95
167
+ msgid "Posts"
168
+ msgstr ""
169
+
170
+ #: ../classes/export-import/classes/export_import.php:106
171
+ msgid "select all"
172
+ msgstr ""
173
+
174
+ #: ../classes/export-import/classes/export_import.php:107
175
+ msgid "Export"
176
+ msgstr ""
177
+
178
+ #: ../classes/export-import/classes/export_import.php:111
179
+ msgid "No stored column settings are found."
180
+ msgstr ""
181
+
182
+ #: ../classes/export-import/classes/export_import.php:129
183
+ msgid "Upload file and import"
184
+ msgstr ""
185
+
186
+ #: ../classes/export-import/classes/export_import.php:218
187
+ msgid "Export field is empty. Please select your types from the left column."
188
+ msgstr ""
189
+
190
+ #: ../classes/export-import/classes/export_import.php:253
191
+ #: ../classes/export-import/classes/export_import.php:255
192
+ msgid "Sorry, there has been an error."
193
+ msgstr ""
194
+
195
+ #: ../classes/export-import/classes/export_import.php:255
196
+ #, php-format
197
+ msgid ""
198
+ "The export file could not be found at <code>%s</code>. It is likely that "
199
+ "this was caused by a permissions problem."
200
+ msgstr ""
201
+
202
+ #: ../classes/export-import/classes/export_import.php:273
203
+ msgid "Import failed. File does not contain Admin Column settings."
204
+ msgstr ""
205
+
206
+ #: ../classes/export-import/classes/export_import.php:283
207
+ #, php-format
208
+ msgid "Screen %s does not exist."
209
+ msgstr ""
210
+
211
+ #: ../classes/filtering/filtering.php:56
212
+ msgid "Filtering add-on"
213
+ msgstr ""
214
+
215
+ #: ../classes/filtering/filtering.php:110
216
+ msgid "Enable filtering?"
217
+ msgstr ""
218
+
219
+ #: ../classes/filtering/filtering.php:110
220
+ msgid "This will make the column support filering."
221
+ msgstr ""
222
+
223
+ #: ../classes/filtering/filtering.php:114 ../classes/sortable/sortable.php:128
224
+ msgid "Yes"
225
+ msgstr ""
226
+
227
+ #: ../classes/filtering/filtering.php:118 ../classes/sortable/sortable.php:132
228
+ msgid "No"
229
+ msgstr ""
230
+
231
+ #: ../classes/filtering/filtering.php:137
232
+ msgid "filter"
233
+ msgstr ""
234
+
235
+ #: ../classes/filtering/classes/model.php:114
236
+ msgid "All"
237
+ msgstr ""
238
+
239
+ #: ../classes/filtering/classes/model.php:116
240
+ msgid "Empty"
241
+ msgstr ""
242
+
243
+ #: ../classes/filtering/classes/model.php:117
244
+ msgid "Not empty"
245
+ msgstr ""
246
+
247
+ #: ../classes/sortable/sortable.php:65
248
+ msgid "Sortable add-on"
249
+ msgstr ""
250
+
251
+ #: ../classes/sortable/sortable.php:124
252
+ msgid "Enable sorting?"
253
+ msgstr ""
254
+
255
+ #: ../classes/sortable/sortable.php:124
256
+ msgid "This will make the column support sorting."
257
+ msgstr ""
258
+
259
+ #: ../classes/sortable/sortable.php:151
260
+ msgid "sort"
261
+ msgstr ""
262
+
263
+ #: ../classes/sortable/classes/model.php:53
264
+ msgid "Reset sorting"
265
+ msgstr ""
languages/cpac-ar.mo ADDED
Binary file
languages/cpac-ar.po ADDED
@@ -0,0 +1,1239 @@
1
+ #
2
+ # Translators:
3
+ # TheHassan, 2013
4
+ msgid ""
5
+ msgstr ""
6
+ "Project-Id-Version: Admin Columns\n"
7
+ "Report-Msgid-Bugs-To: \n"
8
+ "POT-Creation-Date: 2013-08-08 08:49+0100\n"
9
+ "PO-Revision-Date: 2013-08-13 14:18+0100\n"
10
+ "Last-Translator: Codepress <info@codepress.nl>\n"
11
+ "Language-Team: Arabic (http://www.transifex.com/projects/p/admin-columns/"
12
+ "language/ar/)\n"
13
+ "MIME-Version: 1.0\n"
14
+ "Content-Type: text/plain; charset=UTF-8\n"
15
+ "Content-Transfer-Encoding: 8bit\n"
16
+ "Language: ar\n"
17
+ "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
18
+ "&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
19
+ "X-Generator: Poedit 1.5.7\n"
20
+ "X-Poedit-Basepath: .\n"
21
+ "X-Poedit-KeywordsList: __;_e\n"
22
+ "X-Poedit-SourceCharset: utf-8\n"
23
+ "X-Poedit-SearchPath-0: .\n"
24
+ "X-Poedit-SearchPath-1: ..\n"
25
+
26
+ #: ../codepress-admin-columns.php:226 ../classes/settings.php:530
27
+ msgid "Settings"
28
+ msgstr "إعدادات"
29
+
30
+ #: ../codepress-admin-columns.php:345
31
+ msgid "Edit columns"
32
+ msgstr "تحرير الأعمدة"
33
+
34
+ #: ../classes/column.php:479
35
+ msgid "Thumbnail"
36
+ msgstr "صورة مصغرة"
37
+
38
+ #: ../classes/column.php:480
39
+ msgid "Medium"
40
+ msgstr "وسط"
41
+
42
+ #: ../classes/column.php:481
43
+ msgid "Large"
44
+ msgstr "كبير"
45
+
46
+ #: ../classes/column.php:482
47
+ msgid "Full"
48
+ msgstr "كامل"
49
+
50
+ #: ../classes/column.php:776
51
+ msgid "Date Format"
52
+ msgstr "تنسيق التاريخ"
53
+
54
+ #: ../classes/column.php:777
55
+ msgid "This will determine how the date will be displayed."
56
+ msgstr "هذا سيحدد كيف سيتم عرض التاريخ."
57
+
58
+ #: ../classes/column.php:783
59
+ msgid "Example:"
60
+ msgstr "مثال:"
61
+
62
+ #: ../classes/column.php:785
63
+ #, php-format
64
+ msgid ""
65
+ "Leave empty for WordPress date format, change your <a href=\"%s\">default "
66
+ "date format here</a>."
67
+ msgstr ""
68
+ "أترك خاليا لتنسيق ووردبريس الإفتراضي للتاريخ، قم بتغيير <a href=\"%s\">تنسيق "
69
+ "التاريخ الخاص بك هنا</a>."
70
+
71
+ #: ../classes/column.php:786
72
+ msgid "Documentation on date and time formatting."
73
+ msgstr "توثيق حول تنسيق التاريخ والوقت."
74
+
75
+ #: ../classes/column.php:803
76
+ msgid "Excerpt length"
77
+ msgstr "طول المقتطف"
78
+
79
+ #: ../classes/column.php:804
80
+ msgid "Number of words"
81
+ msgstr "عدد الكلمات"
82
+
83
+ #: ../classes/column.php:826
84
+ msgid "Preview size"
85
+ msgstr "حجم المعاينة"
86
+
87
+ #: ../classes/column.php:843 ../classes/column.php:899
88
+ msgid "Custom"
89
+ msgstr "مخصوص"
90
+
91
+ #: ../classes/column.php:846
92
+ msgid "width"
93
+ msgstr "عرض"
94
+
95
+ #: ../classes/column.php:849
96
+ msgid "height"
97
+ msgstr "إرتفاع"
98
+
99
+ #: ../classes/column.php:900 ../classes/settings.php:220
100
+ #: ../classes/column/custom-field.php:72
101
+ msgid "Default"
102
+ msgstr "إفتراضي"
103
+
104
+ #: ../classes/column.php:925 ../classes/column.php:986
105
+ #: ../classes/column/user/actions.php:65
106
+ msgid "Remove"
107
+ msgstr "إزالة"
108
+
109
+ #: ../classes/column.php:944
110
+ msgid "Type"
111
+ msgstr "نوع"
112
+
113
+ #: ../classes/column.php:944
114
+ msgid "Choose a column type."
115
+ msgstr "اختر نوع عمود"
116
+
117
+ #: ../classes/column.php:954
118
+ msgid "Label"
119
+ msgstr "العنوان"
120
+
121
+ #: ../classes/column.php:954
122
+ msgid "This is the name which will appear as the column header."
123
+ msgstr "هذا هو الاسم الذي سيظهر كترويسة العمود."
124
+
125
+ #: ../classes/column.php:961 ../classes/column/media/width.php:12
126
+ msgid "Width"
127
+ msgstr "عرض"
128
+
129
+ #: ../classes/column.php:963 ../classes/column.php:964
130
+ msgid "default"
131
+ msgstr "إفتراضي"
132
+
133
+ #: ../classes/export_import.php:64
134
+ msgid "Export field is empty. Please select your types from the left column."
135
+ msgstr "حقل التصدير خالي. الرجاء اختيار أنواعك من العمود الأيمن."
136
+
137
+ #: ../classes/export_import.php:99 ../classes/export_import.php:101
138
+ msgid "Sorry, there has been an error."
139
+ msgstr "عفوا، حدث خطأ ما."
140
+
141
+ #: ../classes/export_import.php:101
142
+ #, php-format
143
+ msgid ""
144
+ "The export file could not be found at <code>%s</code>. It is likely that "
145
+ "this was caused by a permissions problem."
146
+ msgstr ""
147
+ "ملف التصدير لم يتم العثور عليه في <code>%s</code>. غالبا ما يكون السبب هو "
148
+ "خطأ قي الصلاحيات."
149
+
150
+ #: ../classes/export_import.php:119
151
+ msgid "Import failed. File does not contain Admin Column settings."
152
+ msgstr "فشل الاستيراد. الملف لا يحتوي على إعدادات Admin Column."
153
+
154
+ #: ../classes/settings.php:68
155
+ msgid "Admin Columns Settings"
156
+ msgstr "إعدادات Admin Columns"
157
+
158
+ #: ../classes/settings.php:68 ../classes/settings.php:529
159
+ #: ../classes/upgrade.php:93
160
+ msgid "Admin Columns"
161
+ msgstr "Admin Columns"
162
+
163
+ #: ../classes/settings.php:179
164
+ msgid "Default settings succesfully restored."
165
+ msgstr "تمت إستعادة الإعدادات الإفتراضية بنجاح."
166
+
167
+ #: ../classes/settings.php:197 ../classes/settings.php:453
168
+ msgid "Overview"
169
+ msgstr "نظرة عامة"
170
+
171
+ #: ../classes/settings.php:200
172
+ msgid ""
173
+ "This plugin is for adding and removing additional columns to the "
174
+ "administration screens for post(types), pages, media library, comments, "
175
+ "links and users. Change the column's label and reorder them."
176
+ msgstr ""
177
+ "هذا البرنامج هو لإضافة وإزالة أعمدة إضافية في الشاشات الإدارية لـ(أنواع) "
178
+ "التدوينات، الصفحات، مكتبة الوسائط، التعليقات، الوصلات والمستخدمين. قم بتغيير "
179
+ "تسمية الأعمدة وإعادة ترتيبها."
180
+
181
+ #: ../classes/settings.php:203
182
+ msgid "Basics"
183
+ msgstr "مبادئ"
184
+
185
+ #: ../classes/settings.php:205
186
+ msgid "Show / Hide"
187
+ msgstr "إظهار / إخفاء"
188
+
189
+ #: ../classes/settings.php:206
190
+ msgid ""
191
+ "You can switch columns on or off by clicking on the checkbox. This will show "
192
+ "or hide each column heading."
193
+ msgstr ""
194
+ "يمكنك تشغيل أو إيقاف الأعمدة عن طريق النقر على مربع الاختيار. هذا سوف يظهر "
195
+ "أو يخفي ترويسة كل عمود."
196
+
197
+ #: ../classes/settings.php:207
198
+ msgid "Change order"
199
+ msgstr "تغيير الترتيب"
200
+
201
+ #: ../classes/settings.php:208
202
+ msgid ""
203
+ "By dragging the columns you can change the order which they will appear in."
204
+ msgstr "عن طريق سحب الأعمدة يمكنك تغيير ترتيب الذي سوف تظهر فيه."
205
+
206
+ #: ../classes/settings.php:209
207
+ msgid "Change label"
208
+ msgstr "تغيير العنوان"
209
+
210
+ #: ../classes/settings.php:210
211
+ msgid ""
212
+ "By clicking on the triangle you will see the column options. Here you can "
213
+ "change each label of the columns heading."
214
+ msgstr ""
215
+ "بالنقر على المثلث سترى خيارات العمود. هنا يمكنك تغيير تسمية ترويسات الأعمدة."
216
+
217
+ #: ../classes/settings.php:211
218
+ msgid "Change column width"
219
+ msgstr "تغيير عرض العمود"
220
+
221
+ #: ../classes/settings.php:212
222
+ msgid ""
223
+ "By clicking on the triangle you will see the column options. By using the "
224
+ "draggable slider yo can set the width of the columns in percentages."
225
+ msgstr ""
226
+ "بالنقر على المثلث سترى خيارات العمود. باستخدام شريط التمرير القابل للسحب "
227
+ "يمكنك تعيين عرض الأعمدة بالنسب المئوية."
228
+
229
+ #: ../classes/settings.php:215 ../classes/column/custom-field.php:16
230
+ #: ../classes/column/custom-field.php:320
231
+ msgid "Custom Field"
232
+ msgstr "حقل مخصوص"
233
+
234
+ #: ../classes/settings.php:217
235
+ msgid "'Custom Field' column"
236
+ msgstr "عمود 'حقل مخصوص'"
237
+
238
+ #: ../classes/settings.php:218
239
+ msgid ""
240
+ "The custom field colum uses the custom fields from posts and users. There "
241
+ "are 10 types which you can set."
242
+ msgstr ""
243
+ "يستخدم عمود الحقل المخصوص الحقول المخصوصة من التدوينات والمستخدمين. هناك 10 "
244
+ "أنواع يمكنك تعيينها."
245
+
246
+ #: ../classes/settings.php:220
247
+ msgid ""
248
+ "Value: Can be either a string or array. Arrays will be flattened and values "
249
+ "are seperated by a ',' comma."
250
+ msgstr ""
251
+ "قيمة: يمكن أن تكون إما سلسلة أو مصفوفة. سيتم تسطيح المصفوفات ويتم فصل القيم "
252
+ "بـ '،' فاصلة."
253
+
254
+ #: ../classes/settings.php:221 ../classes/column/custom-field.php:73
255
+ #: ../classes/column/link/image.php:12
256
+ msgid "Image"
257
+ msgstr "صورة"
258
+
259
+ #: ../classes/settings.php:221
260
+ msgid ""
261
+ "Value: should contain an image URL or Attachment IDs ( seperated by a ',' "
262
+ "comma )."
263
+ msgstr ""
264
+ "قيمة: يجب أن يحتوي عنوان URL للصورة أو معرفات المرفقات (مفصولة بـ '،' فاصلة)."
265
+
266
+ #: ../classes/settings.php:222 ../classes/column/custom-field.php:75
267
+ #: ../classes/column/comment/excerpt.php:13
268
+ #: ../classes/column/post/excerpt.php:13
269
+ msgid "Excerpt"
270
+ msgstr "مقتطف"
271
+
272
+ #: ../classes/settings.php:222
273
+ msgid "Value: This will show the first 20 words of the Post content."
274
+ msgstr "قيمة: سيقوم هذا بإظهار أول 20 كلمة من محتوى التدوينة."
275
+
276
+ #: ../classes/settings.php:223 ../classes/column/custom-field.php:76
277
+ msgid "Multiple Values"
278
+ msgstr "قيم متعددة"
279
+
280
+ #: ../classes/settings.php:223
281
+ msgid ""
282
+ "Value: should be an array. This will flatten any ( multi dimensional ) array."
283
+ msgstr "قيمة: يجب أن يكون مصفوفة. هذا سوف يسطح أي مصفوفة (متعددة الأبعاد)."
284
+
285
+ #: ../classes/settings.php:224 ../classes/column/custom-field.php:77
286
+ msgid "Numeric"
287
+ msgstr "رقمي"
288
+
289
+ #: ../classes/settings.php:224
290
+ msgid ""
291
+ "Value: Integers only.<br/>If you have the 'sorting addon' this will be used "
292
+ "for sorting, so you can sort your posts on numeric (custom field) values."
293
+ msgstr ""
294
+ "القيمة: الأعداد الصحيحة فقط <br/> إذا كان لديك 'ملحق الترتيب' سيتم استخدام "
295
+ "هذه للترتيب، بحيث يمكنك ترتيب تدويناتك على القيم الرقمية (الحقل المخصوص)."
296
+
297
+ #: ../classes/settings.php:225 ../classes/column/custom-field.php:78
298
+ #: ../classes/column/comment/date.php:12
299
+ msgid "Date"
300
+ msgstr "تاريخ"
301
+
302
+ #: ../classes/settings.php:225
303
+ #, php-format
304
+ msgid ""
305
+ "Value: Can be unix time stamp or a date format as described in the <a "
306
+ "href='%s'>Codex</a>. You can change the outputted date format at the <a "
307
+ "href='%s'>general settings</a> page."
308
+ msgstr ""
309
+ "قيمة: يمكن أن تكون طابع يونكس زمني أو تنسيق تاريخ كما هو موضح في <a "
310
+ "href='%s'>Codex</a>. يمكنك تغيير تنسيق التاريخ المخرج من صفحة <a "
311
+ "href='%s'>الإعدادات العامة</a>."
312
+
313
+ #: ../classes/settings.php:226
314
+ msgid "Post Titles"
315
+ msgstr "عناوين تدوينات"
316
+
317
+ #: ../classes/settings.php:226
318
+ msgid "Value: can be one or more Post ID's (seperated by ',')."
319
+ msgstr "قيمة: يمكن أن تكون رقم تدوينة واحدة أو أكثر (مفصولة بـ',')."
320
+
321
+ #: ../classes/settings.php:227
322
+ msgid "Usernames"
323
+ msgstr "أسماء مستخدمين"
324
+
325
+ #: ../classes/settings.php:227
326
+ msgid "Value: can be one or more User ID's (seperated by ',')."
327
+ msgstr "قيمة: يمكن أن تكون رقم مستخدم واحد أو أكثر (مفصولة بـ',')."
328
+
329
+ #: ../classes/settings.php:228
330
+ msgid "Checkmark"
331
+ msgstr "علامة اختيار"
332
+
333
+ #: ../classes/settings.php:228
334
+ msgid "Value: should be a 1 (one) or 0 (zero)."
335
+ msgstr "قيمة: يجب أن تكون 1 (واحد) أو 0 (صفر)."
336
+
337
+ #: ../classes/settings.php:229 ../classes/column/custom-field.php:82
338
+ msgid "Color"
339
+ msgstr "لون"
340
+
341
+ #: ../classes/settings.php:229
342
+ msgid "Value: hex value color, such as #808080."
343
+ msgstr "قيمة: لون بقيمة عشرية، مثل 808080#."
344
+
345
+ #: ../classes/settings.php:373
346
+ msgid "Welcome to Admin Columns"
347
+ msgstr "مرحبا في Admin Columns"
348
+
349
+ #: ../classes/settings.php:376
350
+ msgid "Thank you for updating to the latest version!"
351
+ msgstr "شكرا لك على التحديث للنسخة الأخيرة!"
352
+
353
+ #: ../classes/settings.php:377
354
+ msgid ""
355
+ "Admin Columns is more polished and enjoyable than ever before. We hope you "
356
+ "like it."
357
+ msgstr ""
358
+ "Admin Columns أصبحت مصقولة وممتعة أكثر من أي وقت مضى. نأمل أن تنال إعجابكم."
359
+
360
+ #: ../classes/settings.php:382
361
+ msgid "What’s New"
362
+ msgstr "ما الجديد"
363
+
364
+ #: ../classes/settings.php:383
365
+ msgid "Changelog"
366
+ msgstr "سجل التغييرات"
367
+
368
+ #: ../classes/settings.php:385
369
+ msgid "Download Addons"
370
+ msgstr "تنزيل الإضافات"
371
+
372
+ #: ../classes/settings.php:391
373
+ msgid "Addons"
374
+ msgstr "إضافات"
375
+
376
+ #: ../classes/settings.php:393
377
+ msgid ""
378
+ "Addons are now activated by downloading and installing individual plugins. "
379
+ "Although these plugins will not be hosted on the wordpress.org repository, "
380
+ "each Add-on will continue to receive updates in the usual way."
381
+ msgstr ""
382
+ "يتم تنشيط الملحقات الآن عن طريق تحميل وتثبيت الإضافات الفردية. على الرغم من "
383
+ "أنه لن يتم استضافة هذه الإضافات على مستودع wordpress.org، سوف تستمر كل إضافة "
384
+ "بتلقي التحديثات بالطريقة المعتادة."
385
+
386
+ #: ../classes/settings.php:396
387
+ msgid ""
388
+ "This