Easy Table - Version 1.0

Version Description

  • Encoding fix
  • Added colalign param
  • Added colwidth param
  • Added style param
  • Added limit param
  • Added trim param
  • Added terminator param
  • Added nl2br if terminator is not \n nor \r
  • Added is_search conditional option to load CSS/JS
  • Improved admin UI, field description is now using tTooltip
Download this release

Release Info

Developer takien
Plugin Icon wp plugin Easy Table
Version 1.0
Comparing to
See all releases

Code changes from version 0.9 to 1.0

css/admin-style.css CHANGED
@@ -3,15 +3,57 @@
3
*/
4
@import url(easy-table.css);
5
6
- .left,
7
- .right{
8
- float:left;
9
- width:49%
10
- }
11
.toggledesc{
12
float:right;
13
margin-right:20px;
14
}
15
.action-button{
16
margin-bottom:20px
17
}
@@ -48,4 +90,37 @@
48
background: -ms-linear-gradient(top, #f85032 0%,#f16f5c 35%,#f02f17 71%,#e73827 100%);
49
background: linear-gradient(top, #f85032 0%,#f16f5c 35%,#f02f17 71%,#e73827 100%);
50
border-color:#cf3100;
51
}
3
*/
4
@import url(easy-table.css);
5
6
+ /* Use foundation zurb
7
+ * Requires: normalize.css */
8
+ /* Global Reset & Standards ---------------------- */
9
+ .easy-table-wrap *,.easy-table-wrap *:before,.easy-table-wrap *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
10
+
11
+ /* The Grid ---------------------- */
12
+ .row { width: 100%; max-width: 100%; min-width: 768px; margin: 0 auto; }
13
+ .row .row { width: auto; max-width: none; min-width: 0; margin: 0 -15px; }
14
+ .row.collapse .column, .row.collapse .columns { padding: 0; }
15
+ .row .row { width: auto; max-width: none; min-width: 0; margin: 0 -15px; }
16
+ .row .row.collapse { margin: 0; }
17
+
18
+ .column, .columns { float: left; min-height: 1px; padding: 0 15px; position: relative; }
19
+ .column.centered, .columns.centered { float: none; margin: 0 auto; }
20
+
21
+ [class*="column"] + [class*="column"]:last-child { float: right; }
22
+
23
+ [class*="column"] + [class*="column"].end { float: left; }
24
+
25
+ .one, .row .one { width: 8.33333%; }
26
+ .two, .row .two { width: 16.66667%; }
27
+ .three, .row .three { width: 25%; }
28
+ .four, .row .four { width: 33.33333%; }
29
+ .five, .row .five { width: 41.66667%; }
30
+ .six, .row .six { width: 50%; }
31
+ .seven, .row .seven { width: 58.33333%; }
32
+ .eight, .row .eight { width: 66.66667%; }
33
+ .nine, .row .nine { width: 75%; }
34
+ .ten, .row .ten { width: 83.33333%; }
35
+ .eleven, .row .eleven { width: 91.66667%; }
36
+ .twelve, .row .twelve { width: 100%; }
37
+
38
+ /* Nicolas Gallagher's micro clearfix */
39
+ .row { *zoom: 1; }
40
+ .row:before, .row:after { content: " "; display: table; }
41
+ .row:after { clear: both; }
42
+
43
+
44
.toggledesc{
45
float:right;
46
margin-right:20px;
47
}
48
+ .help-btn {
49
+ text-decoration:none;
50
+ display:inline-block;
51
+ width:20px;
52
+ height:20px;
53
+ color:#666;
54
+ text-align:center;
55
+ border:1px solid #ccc;
56
+ }
57
.action-button{
58
margin-bottom:20px
59
}
90
background: -ms-linear-gradient(top, #f85032 0%,#f16f5c 35%,#f02f17 71%,#e73827 100%);
91
background: linear-gradient(top, #f85032 0%,#f16f5c 35%,#f02f17 71%,#e73827 100%);
92
border-color:#cf3100;
93
+ }
94
+ /*since 1.0
95
+
96
+ */
97
+ .wrap .form-table tr.new label,
98
+ .wrap .form-table tr.new .description,
99
+ .wrap .form-table tr.new p,
100
+ .wrap .new
101
+ {
102
+ /* color:green !important */
103
+ }
104
+ #easy-table-theme-editor {
105
+ width:100%;
106
+ min-height:400px;
107
+ font-family: Consolas,Monaco,monospace;
108
+ font-size: 12px;
109
+ background: none repeat scroll 0% 0% rgb(249, 249, 249);
110
+ outline: 0px none;
111
+ }
112
+
113
+
114
+
115
+ @media (min-width:1024px) {
116
+ .left,
117
+ .right{
118
+ float:left;
119
+ width:49%
120
+ }
121
+ }
122
+ @media (max-width:800px) {
123
+ span.description {
124
+ display:block;
125
+ }
126
}
easy-table.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Easy Table
4
Plugin URI: http://takien.com/
5
Description: Create table in post, page, or widget in easy way.
6
Author: Takien
7
- Version: 0.9
8
Author URI: http://takien.com/
9
*/
10
@@ -23,6 +23,22 @@ Author URI: http://takien.com/
23
For a copy of the GNU General Public License, write to the Free Software
24
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25
*/
26
27
if(!defined('ABSPATH')) die();
28
@@ -34,29 +50,32 @@ class EasyTable {
34
* Default settings
35
* Plugin will use this setting if user not made custom setting via settings page or tag.
36
*/
37
- var $settings = Array(
38
- 'shortcodetag' => 'table',
39
- 'attrtag' => 'attr',
40
- 'tablewidget' => false,
41
- 'scriptloadin' => Array('is_single','is_page'),
42
- 'class' => '',
43
- 'caption' => false,
44
- 'width' => '100%',
45
- 'align' => 'left',
46
- 'th' => true,
47
- 'tf' => false,
48
- 'border' => 0,
49
- 'id' => false,
50
- 'theme' => 'default',
51
- 'tablesorter' => false,
52
- 'loadcss' => true,
53
'scriptinfooter'=> false,
54
- 'delimiter' => ',',
55
- 'file' => false,
56
- 'enclosure' => '"',
57
- 'escape' => '\\',
58
'nl' => '~~',
59
- 'csvfile' => false
60
);
61
62
@@ -86,7 +105,7 @@ function __construct(){
86
private function easy_table_base($return){
87
$easy_table_base = Array(
88
'name' => 'Easy Table',
89
- 'version' => '0.9',
90
'plugin-domain' => 'easy-table'
91
);
92
return $easy_table_base[$return];
@@ -108,9 +127,15 @@ function easy_table_short_code($atts, $content="") {
108
'enclosure' => $this->option('enclosure'),
109
'escape' => $this->option('escape'),
110
'file' => $this->option('file'),
111
'sort' => '',
112
'nl' => $this->option('nl'),
113
- 'ai' => false
114
), $atts);
115
/**
116
* because clean_pre is deprecated since WordPress 3.4, then replace it manually
@@ -162,19 +187,29 @@ private function csv_to_table($data,$args){
162
}
163
}
164
165
- if(empty($data)) return false;
166
if(!is_array($data)){
167
/**
168
normalize nl, since it may contains new line.
169
@since 0.9
170
*/
171
$data = preg_replace('/'.preg_quote($nl).'([\s\r\n\t]+)?/i',$nl,$data);
172
173
/*
174
convert csv to array.
175
*/
176
- $data = $this->csv_to_array(trim($data), $delimiter, $enclosure, $escape);
177
}
178
$max_cols = count(max($data));
179
180
$r=0;
@@ -196,13 +231,24 @@ private function csv_to_table($data,$args){
196
*/
197
$tfpos = ($tf == 'last') ? count($data) : ($th?2:1);
198
199
- $pos = strpos($width,'px');
200
- if ($pos === false) {
201
- $width = (int)$width.'%';
202
- } else {
203
- $width = (int)$width.'px';
204
}
205
- $output = '<table '.($id ? 'id="'.$id.'"':'').' style="width:'.$width.';'.(($align=='center') ? 'margin-left:auto;margin-right:auto' : '').'" width="'.$width.'" align="'.$align.'" class="easy-table easy-table-'.$theme.' '.($tablesorter ? 'tablesorter __sortlist__ ':'').$class.'" '.(($border !=='0') ? 'border="'.$border.'"' : '').'>'."\n";
206
207
$output .= $caption ? '<caption>'.$caption.'</caption>'."\n" : '';
208
$output .= $th ? '<thead>' : (($tf !== 'last') ? '' : '<tbody>');
@@ -238,12 +284,12 @@ ai head, text to shown in the table head row, default is No.
238
$indexwidth = isset($index[2]) ? (int)$index[2] : 30;
239
$output .= ($ai AND ($thtd == 'td')) ? '<'.$thtd.' style="width:'.$indexwidth.'px">'.$indexnum."</$thtd>" : ($ai ? "<$thtd>".$indexhead."</$thtd>" : '');
240
241
- foreach($cols as $c=>$col){
242
/**
243
* Add attribute for each cell
244
* @since 0.5
245
*/
246
- preg_match('/\['.$this->option('attrtag').' ([^\\]\\/]*(?:\\/(?!\\])[^\\]\\/]*)*?)/',$col,$matchattr);
247
$attr = isset($matchattr[1]) ? $matchattr[1] : '';
248
/**
249
* extract $attr value
@@ -280,8 +326,42 @@ ai head, text to shown in the table head row, default is No.
280
nl, replace nl with new line
281
@since 0.9
282
*/
283
- $col = str_replace($nl,'<br />',$col);
284
- $output .= "<$thtd $attr>".do_shortcode($col)."</$thtd>\n";
285
}
286
287
$output .= '</tr>'."\n";
@@ -321,10 +401,23 @@ ai head, text to shown in the table head row, default is No.
321
/**
322
* Convert CSV to array
323
*/
324
- private function csv_to_array($csv, $delimiter = ',', $enclosure = '"', $escape = '\\', $terminator = "\n") {
325
$r = array();
326
$rows = str_getcsv($csv, $terminator,$enclosure,$escape);
327
$rows = array_diff($rows,Array(''));
328
329
foreach($rows as &$row) {
330
$r[] = str_getcsv($row,$delimiter);
@@ -377,7 +470,16 @@ function themes(){
377
}
378
return $themes;
379
}
380
-
381
/**
382
* Register plugin setting
383
*/
@@ -392,33 +494,36 @@ function easy_table_register_setting() {
392
function render_form($fields){
393
$output ='<table class="form-table">';
394
foreach($fields as $field){
395
if($field['type']=='text'){
396
- $output .= '<tr><th><label for="'.$field['name'].'">'.$field['label'].'</label></th>';
397
$output .= '<td><input type="text" id="'.$field['name'].'" name="'.$field['name'].'" value="'.$field['value'].'" />';
398
- $output .= ' <span class="description">'.$field['description'].'</span></td></tr>';
399
}
400
if($field['type']=='checkbox'){
401
- $output .= '<tr><th><label for="'.$field['name'].'">'.$field['label'].'</label></th>';
402
$output .= '<td><input type="hidden" name="'.$field['name'].'" value="" /><input type="checkbox" id="'.$field['name'].'" name="'.$field['name'].'" value="'.$field['value'].'" '.$field['attr'].' />';
403
- $output .= ' <span class="description">'.$field['description'].'</span></td></tr>';
404
}
405
if($field['type']=='checkboxgroup'){
406
- $output .= '<tr><th><label>'.$field['grouplabel'].'</label></th>';
407
$output .= '<td>';
408
foreach($field['groupitem'] as $key=>$item){
409
$output .= '<input type="hidden" name="'.$item['name'].'" value="" /><input type="checkbox" id="'.$item['name'].'" name="'.$item['name'].'" value="'.$item['value'].'" '.$item['attr'].' /> <label for="'.$item['name'].'">'.$item['label'].'</label><br />';
410
}
411
- $output .= ' <span class="description">'.$field['description'].'</span></td></tr>';
412
}
413
if($field['type'] == 'select'){
414
- $output .= '<tr><th><label>'.$field['label'].'</label></th>';
415
$output .= '<td>';
416
$output .= '<select name="'.$field['name'].'">';
417
foreach( (array)$field['values'] as $val=>$name ) {
418
$output .= '<option '.(($val==$field['value']) ? 'selected="selected"' : '' ).' value="'.$val.'">'.$name.'</option>';
419
}
420
$output .= '</select>';
421
- $output .= ' <span class="description">'.$field['description'].'</span></td></tr>';
422
}
423
}
424
$output .= '</table>';
@@ -432,7 +537,9 @@ function easy_table_script() {
432
if( is_single() AND in_array('is_single',$this->option('scriptloadin')) OR
433
is_page() AND in_array('is_page',$this->option('scriptloadin')) OR
434
is_home() AND in_array('is_home',$this->option('scriptloadin')) OR
435
- is_archive() AND in_array('is_archive',$this->option('scriptloadin')))
436
{
437
if($this->option('tablesorter')) {
438
wp_enqueue_script('easy_table_script',plugins_url( 'js/easy-table-script.js' , __FILE__ ),array('jquery'),$this->easy_table_base('version'),$this->option('scriptinfooter'));
@@ -447,7 +554,9 @@ function easy_table_style() {
447
if( is_single() AND in_array('is_single',$this->option('scriptloadin')) OR
448
is_page() AND in_array('is_page',$this->option('scriptloadin')) OR
449
is_home() AND in_array('is_home',$this->option('scriptloadin')) OR
450
- is_archive() AND in_array('is_archive',$this->option('scriptloadin')))
451
{
452
if($this->option('loadcss')) {
453
wp_enqueue_style('easy_table_style', plugins_url('themes/'.$this->option('theme').'/style.css', __FILE__),false,$this->easy_table_base('version'));
@@ -464,10 +573,19 @@ if($this->option('tablesorter')) { ?>
464
if($this->option('loadcss')) { ?>
465
<link rel="stylesheet" href="<?php echo plugins_url('themes/'.$this->option('theme').'/style.css?ver='.$this->easy_table_base('version'), __FILE__);?>" />
466
<?php } ?>
467
<link rel="stylesheet" href="<?php echo plugins_url( 'css/admin-style.css?ver='.$this->easy_table_base('version') , __FILE__);?>" />
468
<script type="text/javascript">
469
//<![CDATA[
470
jQuery(document).ready(function($){
471
$('.togglethis a').click(function(e){
472
var target = $(this).attr('data-target');
473
$(target).toggle();
@@ -516,10 +634,14 @@ function easy_table_add_page() {
516
* Plugin option page
517
*/
518
function easy_table_page() { ?>
519
- <div class="wrap">
520
<div class="icon32"><img src="<?php echo plugins_url('/images/icon-table.png', __FILE__);?>" /></div>
521
<h2 class="nav-tab-wrapper">
522
<a href="options-general.php?page=<?php echo $this->easy_table_base('plugin-domain');?>" class="nav-tab <?php echo !isset($_GET['gettab']) ? 'nav-tab-active' : '';?>"><?php printf(__('%s Option','easy-table'), $this->easy_table_base('name'));?></a>
523
<a href="options-general.php?page=<?php echo $this->easy_table_base('plugin-domain');?>&gettab=support" class="nav-tab <?php echo (isset($_GET['gettab']) AND ($_GET['gettab'] == 'support')) ? 'nav-tab-active' : '';?>"><?php _e('Support','easy-table');?></a>
524
<a href="options-general.php?page=<?php echo $this->easy_table_base('plugin-domain');?>&gettab=about" class="nav-tab <?php echo (isset($_GET['gettab']) AND ($_GET['gettab'] == 'about')) ? 'nav-tab-active' : '';?>"><?php _e('About','easy-table');?></a>
525
</h2>
@@ -531,7 +653,7 @@ wp_nonce_field('update-options');
531
settings_fields('easy_table_option_field');
532
533
?>
534
- <span class="togglethis toggledesc"><em><a href="#" data-target=".description"><?php _e('Show/hide description');?></a></em></span>
535
<h3><?php _e('General options','easy-table');?></h3>
536
<?php
537
$fields = Array(
@@ -539,7 +661,7 @@ settings_fields('easy_table_option_field');
539
'name' => 'easy_table_plugin_option[shortcodetag]',
540
'label' => __('Short code tag','easy-table'),
541
'type' => 'text',
542
- 'description' => __('Shortcode tag, type "table" if you want to use [table] short tag.','easy-table'),
543
'value' => $this->option('shortcodetag')
544
)
545
,
@@ -585,6 +707,12 @@ settings_fields('easy_table_option_field');
585
'label' => __('Archive page','easy-table'),
586
'value' => 'is_archive',
587
'attr' => in_array('is_archive',$this->option('scriptloadin')) ? 'checked="checked"' : ''
588
)
589
)
590
)
@@ -662,13 +790,37 @@ settings_fields('easy_table_option_field');
662
'type' => 'select',
663
'value' => $this->option('theme'),
664
'values' => array_combine($this->themes(),$this->themes()),
665
- 'description' => __('Select default theme of the table','easy-table'),
666
- 'attr' => $this->option('tablesorter') ? 'checked="checked"':'')
667
);
668
echo $this->render_form($fields);
669
?>
670
671
- <h3><?php _e('Parser Option','easy-table');?></h3>
672
<p><em><?php _e('Do not change this unless you know what you\'re doing','easy-table');?></em>
673
</p>
674
<?php
@@ -679,6 +831,13 @@ settings_fields('easy_table_option_field');
679
'type' => 'text',
680
'value' => $this->option('nl'),
681
'description' => __('Since new line is used by parser, you need specify character as a replacement.','easy-table'))
682
,Array(
683
'name' => 'easy_table_plugin_option[delimiter]',
684
'label' => __('Delimiter','easy-table'),
@@ -715,13 +874,14 @@ settings_fields('easy_table_option_field');
715
</div>
716
<div class="right">
717
<?php
718
$defaulttableexample = '
719
- [table caption="Just test table"]
720
- no[attr style="width:20px"],head1,head2,head3
721
- 1,row1col1,row1col2,row1col3
722
- 2,row2col1,row2col2,row2col3
723
- 3,row3col1[attr colspan="2"],row3col3
724
- 4,row4col1,row4col2,row4col3
725
[/table] ';
726
$tableexample = $defaulttableexample;
727
if(isset($_POST['test-easy-table'])){
@@ -731,6 +891,7 @@ if(isset($_POST['test-easy-table'])){
731
if(isset($_POST['test-easy-table-reset'])){
732
$tableexample = $defaulttableexample;
733
}
734
?>
735
<h3><?php _e('Possible parameter','easy-table');?></h3>
736
<p><?php _e('These parameters commonly can override global options in the left side of this page. Example usage:','easy-table');?></p>
@@ -747,6 +908,12 @@ if(isset($_POST['test-easy-table-reset'])){
747
<li><strong>tablesorter</strong>, <?php _e('default value','easy-table');?> <em>'false'</em></li>
748
<li><strong>file</strong>, <?php _e('default value','easy-table');?> <em>'false'</em></li>
749
<li><strong>sort</strong>, <?php _e('default value','easy-table');?> <em>''</em></li>
750
</ol>
751
<h3><?php printf('Example usage of %s parameter','sort','easy-table');?></h3>
752
<p><em>sort</em> <?php _e('parameter is for initial sorting order. Value for each column separated by comma. See example below:','easy-table');?></p>
@@ -809,6 +976,35 @@ col4,col5,col6
809
810
</div>
811
<div class="clear"></div>
812
813
<?php elseif($_GET['gettab'] == 'support') : ?>
814
<p><?php _e('I have tried to make this plugin can be used as easy as possible and documentation as complete as possible. However it is also possible that you are still confused. Therefore feel free to ask. I would be happy to answer.','easy-table');?></p>
@@ -982,8 +1178,13 @@ if (!function_exists('str_getcsv')) {
982
rewind($handle);
983
$line = -1;
984
$return = Array();
985
-
986
- while (($data = @fgetcsv($handle, 1000, $delimiter, $enclosure)) !== FALSE) {
987
$num = count($data);
988
for ($c=0; $c < $num; $c++) {
989
$line++;
4
Plugin URI: http://takien.com/
5
Description: Create table in post, page, or widget in easy way.
6
Author: Takien
7
+ Version: 1.0
8
Author URI: http://takien.com/
9
*/
10
23
For a copy of the GNU General Public License, write to the Free Software
24
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25
*/
26
+ /*
27
+ Easy Table 1.0 beta2
28
+ + Added nl2br if terminator is not \n nor \r
29
+ + Added is_search conditional option to load CSS/JS
30
+ + Improved admin UI, field description is now using tTooltip
31
+
32
+ Easy Table 1.0 beta
33
+ Changelog:
34
+ + Encoding fix (?)
35
+ + Added colalign
36
+ + Added colwidth
37
+ + Added style param
38
+ + Added limit param
39
+ + Added trim param
40
+ + Added terminator param
41
+ */
42
43
if(!defined('ABSPATH')) die();
44
50
* Default settings
51
* Plugin will use this setting if user not made custom setting via settings page or tag.
52
*/
53
+ var $settings = Array(
54
+ 'shortcodetag' => 'table',
55
+ 'attrtag' => 'attr',
56
+ 'tablewidget' => false,
57
+ 'scriptloadin' => Array('is_single','is_page'),
58
+ 'class' => '',
59
+ 'caption' => false,
60
+ 'width' => '100%',
61
+ 'align' => 'left',
62
+ 'th' => true,
63
+ 'tf' => false,
64
+ 'border' => 0,
65
+ 'id' => false,
66
+ 'theme' => 'default',
67
+ 'tablesorter' => false,
68
+ 'loadcss' => true,
69
'scriptinfooter'=> false,
70
+ 'delimiter' => ',',
71
+ 'file' => false,
72
+ 'trim' => false, /*trim, since 1.0*/
73
+ 'enclosure' => '&quot;',
74
+ 'escape' => '\\',
75
'nl' => '~~',
76
+ 'csvfile' => false,
77
+ 'terminator' => '\n', /*row terminator, since 1.0*/
78
+ 'limit' => 0 /*max row to be included to table, 0 = unlimited, since 1.0*/
79
);
80
81
105
private function easy_table_base($return){
106
$easy_table_base = Array(
107
'name' => 'Easy Table',
108
+ 'version' => '1.0',
109
'plugin-domain' => 'easy-table'
110
);
111
return $easy_table_base[$return];
127
'enclosure' => $this->option('enclosure'),
128
'escape' => $this->option('escape'),
129
'file' => $this->option('file'),
130
+ 'trim' => $this->option('trim'),
131
'sort' => '',
132
'nl' => $this->option('nl'),
133
+ 'ai' => false,
134
+ 'terminator' => $this->option('terminator'),
135
+ 'limit' => $this->option('limit'),
136
+ 'style' => '', /*table inline style, since 1.0*/
137
+ 'colalign' => '', /*column align, ex: [table colalign="left|right|center"], @since 1.0*/
138
+ 'colwidth' => '', /*column width, ex: [table colwidth="100|200|300"], @since 1.0*/
139
), $atts);
140
/**
141
* because clean_pre is deprecated since WordPress 3.4, then replace it manually
187
}
188
}
189
190
if(!is_array($data)){
191
/**
192
normalize nl, since it may contains new line.
193
@since 0.9
194
*/
195
$data = preg_replace('/'.preg_quote($nl).'([\s\r\n\t]+)?/i',$nl,$data);
196
+
197
+ /*
198
+ Fix encoding?
199
+ @since: 1.0 beta
200
+ */
201
+ require_once (dirname(__FILE__).'/inc/Encoding.php');
202
+ //$data = ForceEncode::fixUTF8($data);
203
+ $data = ForceEncode::toUTF8($data);
204
205
/*
206
convert csv to array.
207
*/
208
+ $data = $this->csv_to_array(trim($data), $delimiter, $enclosure, $escape,$terminator);
209
}
210
+
211
+ if(empty($data)) return false;
212
+
213
$max_cols = count(max($data));
214
215
$r=0;
231
*/
232
$tfpos = ($tf == 'last') ? count($data) : ($th?2:1);
233
234
+ $width = (stripos($width,'%') === false) ? (int)$width.'px' : (int)$width.'%';
235
+
236
+ /*colalign & colwidth
237
+ @since 1.0
238
+ */
239
+ if($colalign) {
240
+ $c_align = explode('|',$colalign);
241
+ }
242
+ if($colwidth) {
243
+ $c_width = explode('|',$colwidth);
244
}
245
+
246
+ $output = '<table '.($id ? 'id="'.$id.'"':'');
247
+ $output .= ' width="'.$width.'" align="'.$align.'" ';
248
+ $output .= ' style="'.((stripos($style,'width') === false) ? ('width:'.$width.';'.(($align=='center') ? 'margin-left:auto;margin-right:auto' : '')) : $style).'" ';
249
+ $output .= ' class="easy-table easy-table-'.$theme.' '.($tablesorter ? 'tablesorter __sortlist__ ':'').$class.'" '.
250
+ (($border !=='0') ? 'border="'.$border.'"' : '').
251
+ '>'."\n";
252
253
$output .= $caption ? '<caption>'.$caption.'</caption>'."\n" : '';
254
$output .= $th ? '<thead>' : (($tf !== 'last') ? '' : '<tbody>');
284
$indexwidth = isset($index[2]) ? (int)$index[2] : 30;
285
$output .= ($ai AND ($thtd == 'td')) ? '<'.$thtd.' style="width:'.$indexwidth.'px">'.$indexnum."</$thtd>" : ($ai ? "<$thtd>".$indexhead."</$thtd>" : '');
286
287
+ foreach($cols as $c=>$cell){
288
/**
289
* Add attribute for each cell
290
* @since 0.5
291
*/
292
+ preg_match('/\['.$this->option('attrtag').' ([^\\]\\/]*(?:\\/(?!\\])[^\\]\\/]*)*?)/',$cell,$matchattr);
293
$attr = isset($matchattr[1]) ? $matchattr[1] : '';
294
/**
295
* extract $attr value
326
nl, replace nl with new line
327
@since 0.9
328
*/
329
+ $cell = str_replace($nl,'<br />',$cell);
330
+ /*trim cell content?
331
+ @since 1.0
332
+ */
333
+ $cell = $trim ? trim(str_replace('&nbsp;','',$cell)) : $cell;
334
+
335
+ /*nl2br? only if terminator is not \n or \r*/
336
+ if(( '\n' !== $terminator ) OR ( '\r' !== $terminator )) {
337
+ $cell = nl2br($cell);
338
+ }
339
+ /*colalign
340
+ @since 1.0
341
+ */
342
+ if (isset($c_align[$c]) AND (stripos($attr,'text-align') === false)) {
343
+ if(stripos($attr,'style') === false) {
344
+ $attr = $attr. ' style="text-align:'.$c_align[$c].'" ';
345
+ }
346
+ else {
347
+ $attr = preg_replace('/style(\s+)?=(\s+)?("|\')(\s+)?/i','style=${3}text-align:'.$c_align[$c].';',$attr);
348
+ }
349
+ }
350
+ /*colwidth
351
+ @since 1.0
352
+ */
353
+ if (isset($c_width[$c]) AND (stripos($attr,'width') === false) AND ($r == 1)) {
354
+ $c_width[$c] = (stripos($c_width[$c],'%') === false) ? (int)$c_width[$c].'px' : (int)$c_width[$c].'%';
355
+
356
+ if(stripos($attr,'style') === false) {
357
+ $attr = $attr. ' style="width:'.$c_width[$c].'" ';
358
+ }
359
+ else {
360
+ $attr = preg_replace('/style(\s+)?=(\s+)?("|\')(\s+)?/i','style=${3}width:'.$c_width[$c].';',$attr);
361
+ }
362
+ }
363
+
364
+ $output .= "<$thtd $attr>".do_shortcode($cell)."</$thtd>\n";
365
}
366
367
$output .= '</tr>'."\n";
401
/**
402
* Convert CSV to array
403
*/
404
+ private function csv_to_array($csv, $delimiter = ',', $enclosure = '"', $escape = '\\', $terminator = "\n", $limit = 0 ) {
405
$r = array();
406
+
407
+ $terminator = ($terminator == '\n') ? "\n" : $terminator;
408
+ $terminator = ($terminator == '\r') ? "\r" : $terminator;
409
+ $terminator = ($terminator == '\t') ? "\t" : $terminator;
410
+
411
$rows = str_getcsv($csv, $terminator,$enclosure,$escape);
412
$rows = array_diff($rows,Array(''));
413
+ /*
414
+ * limit how many rows will be included?
415
+ * default 0, means ulimited.
416
+ * @since 1.0
417
+ */
418
+ if($limit > 0) {
419
+ $rows = array_slice($rows, 0, $limit);
420
+ }
421
422
foreach($rows as &$row) {
423
$r[] = str_getcsv($row,$delimiter);
470
}
471
return $themes;
472
}
473
+ function theme_content() {
474
+ if(!isset($_GET['edit'])) {
475
+ return false;
476
+ }
477
+ $theme = $_GET['edit'];
478
+ $dir = plugin_dir_path(__FILE__).'themes/';
479
+ if(is_writable($dir.$theme.'/style.css')) {
480
+ return file_get_contents($dir.$theme.'/style.css');
481
+ }
482
+ }
483
/**
484
* Register plugin setting
485
*/
494
function render_form($fields){
495
$output ='<table class="form-table">';
496
foreach($fields as $field){
497
+ $field['rowclass'] = isset($field['rowclass']) ? $field['rowclass'] : false;
498
+ $field['label'] = isset($field['label']) ? $field['label'] : '';
499
+
500
if($field['type']=='text'){
501
+ $output .= '<tr '.($field['rowclass'] ? 'class="'.$field['rowclass'].'"': '').'><th><label for="'.$field['name'].'">'.$field['label'].'</label></th>';
502
$output .= '<td><input type="text" id="'.$field['name'].'" name="'.$field['name'].'" value="'.$field['value'].'" />';
503
+ $output .= ' <a href="#" class="help-btn ttt" data-title="'.$field['label'].'" data-content="'.$field['description'].'">?</a></td></tr>';
504
}
505
if($field['type']=='checkbox'){
506
+ $output .= '<tr '.($field['rowclass'] ? 'class="'.$field['rowclass'].'"': '').'><th><label for="'.$field['name'].'">'.$field['label'].'</label></th>';
507
$output .= '<td><input type="hidden" name="'.$field['name'].'" value="" /><input type="checkbox" id="'.$field['name'].'" name="'.$field['name'].'" value="'.$field['value'].'" '.$field['attr'].' />';
508
+ $output .= ' <a href="#" class="help-btn ttt" data-title="'.$field['label'].'" data-content="'.$field['description'].'">?</a></td></tr>';
509
}
510
if($field['type']=='checkboxgroup'){
511
+ $output .= '<tr '.($field['rowclass'] ? 'class="'.$field['rowclass'].'"': '').'><th><label>'.$field['grouplabel'].'</label></th>';
512
$output .= '<td>';
513
foreach($field['groupitem'] as $key=>$item){
514
$output .= '<input type="hidden" name="'.$item['name'].'" value="" /><input type="checkbox" id="'.$item['name'].'" name="'.$item['name'].'" value="'.$item['value'].'" '.$item['attr'].' /> <label for="'.$item['name'].'">'.$item['label'].'</label><br />';
515
}
516
+ $output .= ' <a href="#" class="help-btn ttt" data-title="'.$field['label'].'" data-content="'.$field['description'].'">?</a></td></tr>';
517
}
518
if($field['type'] == 'select'){
519
+ $output .= '<tr '.($field['rowclass'] ? 'class="'.$field['rowclass'].'"': '').'><th><label>'.$field['label'].'</label></th>';
520
$output .= '<td>';
521
$output .= '<select name="'.$field['name'].'">';
522
foreach( (array)$field['values'] as $val=>$name ) {
523
$output .= '<option '.(($val==$field['value']) ? 'selected="selected"' : '' ).' value="'.$val.'">'.$name.'</option>';
524
}
525
$output .= '</select>';
526
+ $output .= ' <a href="#" class="help-btn ttt" data-title="'.$field['label'].'" data-content="'.$field['description'].'">?</a></td></tr>';
527
}
528
}
529
$output .= '</table>';
537
if( is_single() AND in_array('is_single',$this->option('scriptloadin')) OR
538
is_page() AND in_array('is_page',$this->option('scriptloadin')) OR
539
is_home() AND in_array('is_home',$this->option('scriptloadin')) OR
540
+ is_archive() AND in_array('is_archive',$this->option('scriptloadin')) OR
541
+ is_search() AND in_array('is_search',$this->option('scriptloadin'))
542
+ )
543
{
544
if($this->option('tablesorter')) {
545
wp_enqueue_script('easy_table_script',plugins_url( 'js/easy-table-script.js' , __FILE__ ),array('jquery'),$this->easy_table_base('version'),$this->option('scriptinfooter'));
554
if( is_single() AND in_array('is_single',$this->option('scriptloadin')) OR
555
is_page() AND in_array('is_page',$this->option('scriptloadin')) OR
556
is_home() AND in_array('is_home',$this->option('scriptloadin')) OR
557
+ is_archive() AND in_array('is_archive',$this->option('scriptloadin')) OR
558
+ is_search() AND in_array('is_search',$this->option('scriptloadin'))
559
+ )
560
{
561
if($this->option('loadcss')) {
562
wp_enqueue_style('easy_table_style', plugins_url('themes/'.$this->option('theme').'/style.css', __FILE__),false,$this->easy_table_base('version'));
573
if($this->option('loadcss')) { ?>
574
<link rel="stylesheet" href="<?php echo plugins_url('themes/'.$this->option('theme').'/style.css?ver='.$this->easy_table_base('version'), __FILE__);?>" />
575
<?php } ?>
576
+
577
<link rel="stylesheet" href="<?php echo plugins_url( 'css/admin-style.css?ver='.$this->easy_table_base('version') , __FILE__);?>" />
578
+ <script src="<?php echo plugins_url( 'js/ttooltip/script/jquery-ttooltip.min.js' , __FILE__);?>"></script>
579
+ <link rel="stylesheet" href="<?php echo plugins_url( 'js/ttooltip/style/jquery-ttooltip.css?ver='.$this->easy_table_base('version') , __FILE__);?>" />
580
+
581
<script type="text/javascript">
582
//<![CDATA[
583
jQuery(document).ready(function($){
584
+ $('.ttt').ttooltip({
585
+ maxwidth:300,
586
+ timeout:500,
587
+ template:'<div class="ttooltip-wrap"><div class="ttooltip-arrow ttooltip-arrow-border"></div><div class="ttooltip-arrow"></div><div class="ttooltip-inner"><h3 class="ttooltip-title"></h3><div class="ttooltip-content"><p></p></div><div class="ttooltip-footer"></div></div></div>'
588
+ });
589
$('.togglethis a').click(function(e){
590
var target = $(this).attr('data-target');
591
$(target).toggle();
634
* Plugin option page
635
*/
636
function easy_table_page() { ?>
637
+ <div class="wrap easy-table-wrap">
638
<div class="icon32"><img src="<?php echo plugins_url('/images/icon-table.png', __FILE__);?>" /></div>
639
<h2 class="nav-tab-wrapper">
640
<a href="options-general.php?page=<?php echo $this->easy_table_base('plugin-domain');?>" class="nav-tab <?php echo !isset($_GET['gettab']) ? 'nav-tab-active' : '';?>"><?php printf(__('%s Option','easy-table'), $this->easy_table_base('name'));?></a>
641
+ <?php
642
+ /** currently not available
643
+ <a href="options-general.php?page=<?php echo $this->easy_table_base('plugin-domain');?>&gettab=themes" class="nav-tab <?php echo (isset($_GET['gettab']) AND ($_GET['gettab'] == 'themes')) ? 'nav-tab-active' : '';?>"><?php _e('Themes','easy-table');?></a>
644
+ */?>
645
<a href="options-general.php?page=<?php echo $this->easy_table_base('plugin-domain');?>&gettab=support" class="nav-tab <?php echo (isset($_GET['gettab']) AND ($_GET['gettab'] == 'support')) ? 'nav-tab-active' : '';?>"><?php _e('Support','easy-table');?></a>
646
<a href="options-general.php?page=<?php echo $this->easy_table_base('plugin-domain');?>&gettab=about" class="nav-tab <?php echo (isset($_GET['gettab']) AND ($_GET['gettab'] == 'about')) ? 'nav-tab-active' : '';?>"><?php _e('About','easy-table');?></a>
647
</h2>
653
settings_fields('easy_table_option_field');
654
655
?>
656
+ <span class="togglethis toggledesc"><em><a href="#" data-target=".help-btn"><?php _e('Show/hide help button');?></a></em></span>
657
<h3><?php _e('General options','easy-table');?></h3>
658
<?php
659
$fields = Array(
661
'name' => 'easy_table_plugin_option[shortcodetag]',
662
'label' => __('Short code tag','easy-table'),
663
'type' => 'text',
664
+ 'description' => __('Shortcode tag, type \'table\' if you want to use [table] short tag.','easy-table'),
665
'value' => $this->option('shortcodetag')
666
)
667
,
707
'label' => __('Archive page','easy-table'),
708
'value' => 'is_archive',
709
'attr' => in_array('is_archive',$this->option('scriptloadin')) ? 'checked="checked"' : ''
710
+ ),
711
+ Array(
712
+ 'name' => 'easy_table_plugin_option[scriptloadin][]',
713
+ 'label' => __('Search page','easy-table'),
714
+ 'value' => 'is_search',
715
+ 'attr' => in_array('is_search',$this->option('scriptloadin')) ? 'checked="checked"' : ''
716
)
717
)
718
)
790
'type' => 'select',
791
'value' => $this->option('theme'),
792
'values' => array_combine($this->themes(),$this->themes()),
793
+ 'description' => __('Select default theme of the table','easy-table')
794
+ )
795
);
796
echo $this->render_form($fields);
797
?>
798
799
+ <h3><?php _e('Data options','easy-table');?></h3>
800
+ <?php
801
+ $fields = Array(
802
+ Array(
803
+ 'name' => 'easy_table_plugin_option[limit]',
804
+ 'label' => __('Row limit','easy-table'),
805
+ 'type' => 'text',
806
+ 'value' => $this->option('limit'),
807
+ 'rowclass' => 'new',
808
+ 'description' =>__('Max row to convert to table, default 0 (unlimited)','easy-table')
809
+ ),
810
+ Array(
811
+ 'name' => 'easy_table_plugin_option[trim]',
812
+ 'label' => __('Trim cell data?','easy-table'),
813
+ 'type' => 'checkbox',
814
+ 'value' => 1,
815
+ 'attr' => $this->option('trim') ? 'checked="checked"':'',
816
+ 'rowclass' => 'new',
817
+ 'description' =>__('Trim empty character around cell data','easy-table')
818
+ ),
819
+ );
820
+ echo $this->render_form($fields);
821
+ ?>
822
+
823
+ <h3><?php _e('Parser options','easy-table');?></h3>
824
<p><em><?php _e('Do not change this unless you know what you\'re doing','easy-table');?></em>
825
</p>
826
<?php
831
'type' => 'text',
832
'value' => $this->option('nl'),
833
'description' => __('Since new line is used by parser, you need specify character as a replacement.','easy-table'))
834
+ ,Array(
835
+ 'name' => 'easy_table_plugin_option[terminator]',
836
+ 'label' => __('Row terminator','easy-table'),
837
+ 'type' => 'text',
838
+ 'value' => $this->option('terminator'),
839
+ 'rowclass' => 'new',
840
+ 'description' => __('This caharacter will converted into new row. Default value \n (this is invisible character when you press Enter). If your new line not converted as new row in the table, try use \r instead.','easy-table'))
841
,Array(
842
'name' => 'easy_table_plugin_option[delimiter]',
843
'label' => __('Delimiter','easy-table'),
874
</div>
875
<div class="right">
876
<?php
877
+
878
$defaulttableexample = '
879
+ [table caption="Just test table" width="500" colwidth="20|100|50" colalign="left|left|center|left|right"]
880
+ no,head1,head2,head3,head4
881
+ 1,row1col1,row1col2,row1col3,100
882
+ 2,row2col1,row2col2,row2col3,20000
883
+ 3,row3col1,,row3col3,1405
884
+ 4,row4col1,row4col2,row4col3,23023
885
[/table] ';
886
$tableexample = $defaulttableexample;
887
if(isset($_POST['test-easy-table'])){
891
if(isset($_POST['test-easy-table-reset'])){
892
$tableexample = $defaulttableexample;
893
}
894
+
895
?>
896
<h3><?php _e('Possible parameter','easy-table');?></h3>
897
<p><?php _e('These parameters commonly can override global options in the left side of this page. Example usage:','easy-table');?></p>
908
<li><strong>tablesorter</strong>, <?php _e('default value','easy-table');?> <em>'false'</em></li>
909
<li><strong>file</strong>, <?php _e('default value','easy-table');?> <em>'false'</em></li>
910
<li><strong>sort</strong>, <?php _e('default value','easy-table');?> <em>''</em></li>
911
+ <li class="new"><strong>trim</strong>, <?php _e('default value','easy-table');?> <em>false</em></li>
912
+ <li class="new"><strong>style</strong>, <?php _e('default value','easy-table');?> <em>''</em></li>
913
+ <li class="new"><strong>limit</strong>, <?php _e('default value','easy-table');?> <em>0</em></li>
914
+ <li class="new"><strong>terminator</strong>, <?php _e('default value','easy-table');?> <em>\n</em></li>
915
+ <li class="new"><strong>colalign</strong>, <?php _e('default value','easy-table');?> <em>''</em>, see example on the test area</li>
916
+ <li class="new"><strong>colwidth</strong>, <?php _e('default value','easy-table');?> <em>''</em>, see example on the test area</li>
917
</ol>
918
<h3><?php printf('Example usage of %s parameter','sort','easy-table');?></h3>
919
<p><em>sort</em> <?php _e('parameter is for initial sorting order. Value for each column separated by comma. See example below:','easy-table');?></p>
976
977
</div>
978
<div class="clear"></div>
979
+ <?php elseif($_GET['gettab'] == 'themes') : ?>
980
+ <h3><?php _e('Easy Table theme editor');?></h3>
981
+
982
+ <div class="row">
983
+ <div class="columns nine">
984
+ <textarea name="" id="easy-table-theme-editor"><?php echo esc_textarea($this->theme_content());?></textarea>
985
+ <input type="submit" class="button primary" value="Save"/>
986
+ </div>
987
+ <div class="columns three">
988
+ <ul>
989
+ <?php
990
+ foreach($this->themes() as $theme) {
991
+ echo '
992
+ <li><a href="#">'.$theme.'</a>
993
+ <a href="options-general.php?page=easy-table&gettab=themes&edit='.$theme.'">edit</a>
994
+ <a href="&edit-theme=1&clone=1#">clone</a>
995
+ <a href="#">delete</a>
996
+ <a href="#">preview</a>
997
+ </li>';
998
+ }
999
+ ?>
1000
+ </ul>
1001
+ <form action="">
1002
+ New theme: <br/>
1003
+ <input type="text" value="" placeholder="Theme name" name="themename"/>
1004
+ <input type="submit" value="Create"/>
1005
+ </form>
1006
+ </div>
1007
+ </div>
1008
1009
<?php elseif($_GET['gettab'] == 'support') : ?>
1010
<p><?php _e('I have tried to make this plugin can be used as easy as possible and documentation as complete as possible. However it is also possible that you are still confused. Therefore feel free to ask. I would be happy to answer.','easy-table');?></p>
1178
rewind($handle);
1179
$line = -1;
1180
$return = Array();
1181
+ /* add dynamic row limit,
1182
+ * @since: 1.0
1183
+ */
1184
+ $option = get_option('easy_table_plugin_option');
1185
+ $limit = !empty($option['limit']) ? (int)$option['limit'] : 2000;
1186
+
1187
+ while (($data = @fgetcsv($handle, $limit, $delimiter, $enclosure)) !== FALSE) {
1188
$num = count($data);
1189
for ($c=0; $c < $num; $c++) {
1190
$line++;
inc/Encoding.php ADDED
@@ -0,0 +1,263 @@
1
+ <?php
2
+ /**
3
+ * @author "Sebastián Grignoli" <grignoli@framework2.com.ar>
4
+ * @package Encoding
5
+ * @version 1.1
6
+ * @link http://www.framework2.com.ar/dzone/forceUTF8-es/
7
+ * @example http://www.framework2.com.ar/dzone/forceUTF8-es/
8
+ * Class renamed to ForceEncode by "takien" <contact@takien.com>
9
+ */
10
+
11
+ class ForceEncode {
12
+
13
+ protected static $win1252ToUtf8 = array(
14
+ 128 => "\xe2\x82\xac",
15
+
16
+ 130 => "\xe2\x80\x9a",
17
+ 131 => "\xc6\x92",
18
+ 132 => "\xe2\x80\x9e",
19
+ 133 => "\xe2\x80\xa6",
20
+ 134 => "\xe2\x80\xa0",
21
+ 135 => "\xe2\x80\xa1",
22
+ 136 => "\xcb\x86",
23
+ 137 => "\xe2\x80\xb0",
24
+ 138 => "\xc5\xa0",
25
+ 139 => "\xe2\x80\xb9",
26
+ 140 => "\xc5\x92",
27
+
28
+ 142 => "\xc5\xbd",
29
+
30
+
31
+ 145 => "\xe2\x80\x98",
32
+ 146 => "\xe2\x80\x99",
33
+ 147 => "\xe2\x80\x9c",
34
+ 148 => "\xe2\x80\x9d",
35
+ 149 => "\xe2\x80\xa2",
36
+ 150 => "\xe2\x80\x93",
37
+ 151 => "\xe2\x80\x94",
38
+ 152 => "\xcb\x9c",
39
+ 153 => "\xe2\x84\xa2",
40
+ 154 => "\xc5\xa1",
41
+ 155 => "\xe2\x80\xba",
42
+ 156 => "\xc5\x93",
43
+
44
+ 158 => "\xc5\xbe",
45
+ 159 => "\xc5\xb8"
46
+ );
47
+
48
+ protected static $brokenUtf8ToUtf8 = array(
49
+ "\xc2\x80" => "\xe2\x82\xac",
50
+
51
+ "\xc2\x82" => "\xe2\x80\x9a",
52
+ "\xc2\x83" => "\xc6\x92",
53
+ "\xc2\x84" => "\xe2\x80\x9e",
54
+ "\xc2\x85" => "\xe2\x80\xa6",
55
+ "\xc2\x86" => "\xe2\x80\xa0",
56
+ "\xc2\x87" => "\xe2\x80\xa1",
57
+ "\xc2\x88" => "\xcb\x86",
58
+ "\xc2\x89" => "\xe2\x80\xb0",
59
+ "\xc2\x8a" => "\xc5\xa0",
60
+ "\xc2\x8b" => "\xe2\x80\xb9",
61
+ "\xc2\x8c" => "\xc5\x92",
62
+
63
+ "\xc2\x8e" => "\xc5\xbd",
64
+
65
+
66
+ "\xc2\x91" => "\xe2\x80\x98",
67
+ "\xc2\x92" => "\xe2\x80\x99",
68
+ "\xc2\x93" => "\xe2\x80\x9c",
69
+ "\xc2\x94" => "\xe2\x80\x9d",
70
+ "\xc2\x95" => "\xe2\x80\xa2",
71
+ "\xc2\x96" => "\xe2\x80\x93",
72
+ "\xc2\x97" => "\xe2\x80\x94",
73
+ "\xc2\x98" => "\xcb\x9c",
74
+ "\xc2\x99" => "\xe2\x84\xa2",
75
+ "\xc2\x9a" => "\xc5\xa1",
76
+ "\xc2\x9b" => "\xe2\x80\xba",
77
+ "\xc2\x9c" => "\xc5\x93",
78
+
79
+ "\xc2\x9e" => "\xc5\xbe",
80
+ "\xc2\x9f" => "\xc5\xb8"
81
+ );
82
+
83
+ protected static $utf8ToWin1252 = array(
84
+ "\xe2\x82\xac" => "\x80",
85
+
86
+ "\xe2\x80\x9a" => "\x82",
87
+ "\xc6\x92" => "\x83",
88
+ "\xe2\x80\x9e" => "\x84",
89
+ "\xe2\x80\xa6" => "\x85",
90
+ "\xe2\x80\xa0" => "\x86",
91
+ "\xe2\x80\xa1" => "\x87",
92
+ "\xcb\x86" => "\x88",
93
+ "\xe2\x80\xb0" => "\x89",
94
+ "\xc5\xa0" => "\x8a",
95
+ "\xe2\x80\xb9" => "\x8b",
96
+ "\xc5\x92" => "\x8c",
97
+
98
+ "\xc5\xbd" => "\x8e",
99
+
100
+
101
+ "\xe2\x80\x98" => "\x91",
102
+ "\xe2\x80\x99" => "\x92",
103
+ "\xe2\x80\x9c" => "\x93",
104
+ "\xe2\x80\x9d" => "\x94",
105
+ "\xe2\x80\xa2" => "\x95",
106
+ "\xe2\x80\x93" => "\x96",
107
+ "\xe2\x80\x94" => "\x97",
108
+ "\xcb\x9c" => "\x98",
109
+ "\xe2\x84\xa2" => "\x99",
110
+ "\xc5\xa1" => "\x9a",
111
+ "\xe2\x80\xba" => "\x9b",
112
+ "\xc5\x93" => "\x9c",
113
+
114
+ "\xc5\xbe" => "\x9e",
115
+ "\xc5\xb8" => "\x9f"
116
+ );
117
+
118
+ static function toUTF8($text){
119
+ /**
120
+ * Function Encoding::toUTF8
121
+ *
122
+ * This function leaves UTF8 characters alone, while converting almost all non-UTF8 to UTF8.
123
+ *
124
+ * It assumes that the encoding of the original string is either Windows-1252 or ISO 8859-1.
125
+ *
126
+ * It may fail to convert characters to UTF-8 if they fall into one of these scenarios:
127
+ *
128
+ * 1) when any of these characters: ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß
129
+ * are followed by any of these: ("group B")
130
+ * ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶•¸¹º»¼½¾¿
131
+ * For example: %ABREPRESENT%C9%BB. «REPRESENTÉ»
132
+ * The "«" (%AB) character will be converted, but the "É" followed by "»" (%C9%BB)
133
+ * is also a valid unicode character, and will be left unchanged.
134
+ *
135
+ * 2) when any of these: àáâãäåæçèéêëìíîï are followed by TWO chars from group B,
136
+ * 3) when any of these: ðñòó are followed by THREE chars from group B.
137
+ *
138
+ * @name toUTF8
139
+ * @param string $text Any string.
140
+ * @return string The same string, UTF8 encoded
141
+ *
142
+ */
143
+
144
+ if(is_array($text))
145
+ {
146
+ foreach($text as $k => $v)
147
+ {
148
+ $text[$k] = self::toUTF8($v);
149
+ }
150
+ return $text;
151
+ } elseif(is_string($text)) {
152
+
153
+ $max = strlen($text);
154
+ $buf = "";
155
+ for($i = 0; $i < $max; $i++){
156
+ $c1 = $text{$i};
157
+ if($c1>="\xc0"){ //Should be converted to UTF8, if it's not UTF8 already
158
+ $c2 = $i+1 >= $max? "\x00" : $text{$i+1};
159
+ $c3 = $i+2 >= $max? "\x00" : $text{$i+2};
160
+ $c4 = $i+3 >= $max? "\x00" : $text{$i+3};
161
+ if($c1 >= "\xc0" & $c1 <= "\xdf"){ //looks like 2 bytes UTF8
162
+ if($c2 >= "\x80" && $c2 <= "\xbf"){ //yeah, almost sure it's UTF8 already
163
+ $buf .= $c1 . $c2;
164
+ $i++;
165
+ } else { //not valid UTF8. Convert it.
166
+ $cc1 = (chr(ord($c1) / 64) | "\xc0");
167
+ $cc2 = ($c1 & "\x3f") | "\x80";
168
+ $buf .= $cc1 . $cc2;
169
+ }
170
+ } elseif($c1 >= "\xe0" & $c1 <= "\xef"){ //looks like 3 bytes UTF8
171
+ if($c2 >= "\x80" && $c2 <= "\xbf" && $c3 >= "\x80" && $c3 <= "\xbf"){ //yeah, almost sure it's UTF8 already
172
+ $buf .= $c1 . $c2 . $c3;
173
+ $i = $i + 2;
174
+ } else { //not valid UTF8. Convert it.
175
+ $cc1 = (chr(ord($c1) / 64) | "\xc0");
176
+ $cc2 = ($c1 & "\x3f") | "\x80";
177
+ $buf .= $cc1 . $cc2;
178
+ }
179
+ } elseif($c1 >= "\xf0" & $c1 <= "\xf7"){ //looks like 4 bytes UTF8
180
+ if($c2 >= "\x80" && $c2 <= "\xbf" && $c3 >= "\x80" && $c3 <= "\xbf" && $c4 >= "\x80" && $c4 <= "\xbf"){ //yeah, almost sure it's UTF8 already
181
+ $buf .= $c1 . $c2 . $c3;
182
+ $i = $i + 2;
183
+ } else { //not valid UTF8. Convert it.
184
+ $cc1 = (chr(ord($c1) / 64) | "\xc0");
185
+ $cc2 = ($c1 & "\x3f") | "\x80";
186
+ $buf .= $cc1 . $cc2;
187
+ }
188
+ } else { //doesn't look like UTF8, but should be converted
189
+ $cc1 = (chr(ord($c1) / 64) | "\xc0");
190
+ $cc2 = (($c1 & "\x3f") | "\x80");
191
+ $buf .= $cc1 . $cc2;
192
+ }
193
+ } elseif(($c1 & "\xc0") == "\x80"){ // needs conversion
194
+ if(isset(self::$win1252ToUtf8[ord($c1)])) { //found in Windows-1252 special cases
195
+ $buf .= self::$win1252ToUtf8[ord($c1)];
196
+ } else {
197
+ $cc1 = (chr(ord($c1) / 64) | "\xc0");
198
+ $cc2 = (($c1 & "\x3f") | "\x80");
199
+ $buf .= $cc1 . $cc2;
200
+ }
201
+ } else { // it doesn't need convesion
202
+ $buf .= $c1;
203
+ }
204
+ }
205
+ return $buf;
206
+ } else {
207
+ return $text;
208
+ }
209
+ }
210
+
211
+ static function toWin1252($text) {
212
+ if(is_array($text)) {
213
+ foreach($text as $k => $v) {
214
+ $text[$k] = self::toWin1252($v);
215
+ }
216
+ return $text;
217
+ } elseif(is_string($text)) {
218
+ return utf8_decode(str_replace(array_keys(self::$utf8ToWin1252), array_values(self::$utf8ToWin1252), self::toUTF8($text)));
219
+ } else {
220
+ return $text;
221
+ }
222
+ }
223
+
224
+ static function toISO8859($text) {
225
+ return self::toWin1252($text);
226
+ }
227
+
228
+ static function toLatin1($text) {
229
+ return self::toWin1252($text);
230
+ }
231
+
232
+ static function fixUTF8($text){
233
+ if(is_array($text)) {
234
+ foreach($text as $k => $v) {
235
+ $text[$k] = self::fixUTF8($v);
236
+ }
237
+ return $text;
238
+ }
239
+
240
+ $last = "";
241
+ while($last <> $text){
242
+ $last = $text;
243
+ $text = self::toUTF8(utf8_decode(str_replace(array_keys(self::$utf8ToWin1252), array_values(self::$utf8ToWin1252), $text)));
244
+ }
245
+ $text = self::toUTF8(utf8_decode(str_replace(array_keys(self::$utf8ToWin1252), array_values(self::$utf8ToWin1252), $text)));
246
+ return $text;
247
+ }
248
+
249
+ static function UTF8FixWin1252Chars($text){
250
+ // If you received an UTF-8 string that was converted from Windows-1252 as it was ISO8859-1
251
+ // (ignoring Windows-1252 chars from 80 to 9F) use this function to fix it.
252
+ // See: http://en.wikipedia.org/wiki/Windows-1252
253
+
254
+ return str_replace(array_keys(self::$brokenUtf8ToUtf8), array_values(self::$brokenUtf8ToUtf8), $text);
255
+ }
256
+
257
+ static function removeBOM($str=""){
258
+ if(substr($str, 0,3) == pack("CCC",0xef,0xbb,0xbf)) {
259
+ $str=substr($str, 3);
260
+ }
261
+ return $str;
262
+ }
263
+ }
inc/index.html ADDED
File without changes
js/ttooltip/script/index.html ADDED
File without changes
js/ttooltip/script/jquery-ttooltip.js ADDED
@@ -0,0 +1,250 @@
1
+ /*!
2
+ * tTooltip v0.1
3
+ *
4
+ * Copyright 2012 Takien, No Inc
5
+ * http://takien.com
6
+ *
7
+ * Licensed under the Apache License v2.0
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * follow @cektkp and @perdanaweb
11
+ */
12
+ (function($) {
13
+ function arrow_pos(el){
14
+ var pos = el.position();
15
+ var top = pos.top-$(window).scrollTop();
16
+ var left = pos.left-$(window).scrollLeft();
17
+ var right = $(window).width()-(left+el.width());
18
+ var bottom = $(window).height()-(top+el.height());
19
+ var ret = 'topleft';
20
+ if(top > bottom){
21
+ ret = 'bottom';
22
+ } else {
23
+ ret = 'top';
24
+ }
25
+
26
+ if(left > right){
27
+ ret += 'right';
28
+ }
29
+ else{
30
+ ret += 'left';
31
+ }
32
+
33
+ return ret;
34
+ }
35
+
36
+ $.fn.ttooltip = function(customOptions) {
37
+ var o = $.extend({}, $.fn.ttooltip.defaultOptions, customOptions);
38
+ var tp = $(o.template);
39
+ var c = tp.find('.ttooltip-content');
40
+ var t = tp.find('.ttooltip-title');
41
+ var f = tp.find('.ttooltip-footer');
42
+ var timeout = 0;
43
+ var times = 0;
44
+ var tooltip;
45
+ var source;
46
+
47
+ tp.css({
48
+ 'position':'absolute',
49
+ 'max-width':o.maxwidth
50
+ });
51
+
52
+ return this.each(function(index) {
53
+ var tt = $(this);
54
+ tt.bind(o.trigger,function(e){
55
+
56
+
57
+ clearInterval(timeout);
58
+
59
+ /* append template to body*/
60
+ tp.appendTo(document.body);
61
+
62
+ /* update tp object to the newest dom */
63
+ tp = $('.ttooltip-wrap');
64
+
65
+ c = tp.find('.ttooltip-content');
66
+ t = tp.find('.ttooltip-title');
67
+ f = tp.find('.ttooltip-footer');
68
+
69
+ /* collect data from data attribute */
70
+ source = tt.data();
71
+ if(source.href==undefined){
72
+ source.href=tt.attr('href');
73
+ }
74
+
75
+ /* if no content, nothing to do here */
76
+ if(source.content == undefined){
77
+ return false;
78
+ }
79
+ /* set the content */
80
+ /* if content is ajax, get data from data-href if any or from href attribute */
81
+
82
+ if(source.content == 'ajax'){
83
+ $.get(source.href,function(data){
84
+ tp.find('.ttooltip-inner').html(data);
85
+ o.onload(tp,tt);
86
+ });
87
+ }
88
+ else {
89
+ t.show().html(source.title);
90
+ c.show().html(source.content);
91
+ f.show().html(source.footer);
92
+
93
+ o.onload(tp,tt);
94
+
95
+ /* hide footer if empty */
96
+ if(source.footer==undefined){
97
+ f.empty().hide();
98
+ }
99
+ /* hide title if empty */
100
+ if(source.title==undefined){
101
+ t.empty().hide();
102
+ }
103
+ }
104
+
105
+
106
+
107
+ /* add clearfix to the footer */
108
+ c.addClass('clearfix');
109
+ f.addClass('clearfix');
110
+
111
+ /* remove any position class, then update with new position class */
112
+ tp
113
+ .removeClass()
114
+ .addClass('ttooltip-wrap ttooltip-'+arrow_pos(tt))
115
+ .fadeIn();
116
+
117
+
118
+
119
+ var arrow = tp.find('.ttooltip-arrow');
120
+ var mouseleft = (e.pageX-((arrow.outerWidth()*0.5)+arrow.position().left));
121
+ var distance = 25;
122
+ var mousetop;
123
+ /* do not overlap mouse cursor with arrow */
124
+ mouseleft = mouseleft - distance;
125
+
126
+ arrow.removeClass('tooltip-arrow-gray');
127
+
128
+ /* update top position */
129
+ /* mousetop = tt.position().top+tt.outerHeight()+arrow.outerHeight();
130
+ if((arrow_pos(tt) == 'bottomright') || (arrow_pos(tt) == 'bottomleft')){
131
+ mousetop = tt.position().top-tp.outerHeight()-arrow.outerHeight();
132
+ mouseleft = mouseleft - distance;
133
+ distance = 0;
134
+
135
+ if(tp.find('.ttooltip-footer').html() !=''){
136
+ arrow.addClass('tooltip-arrow-gray');
137
+ }
138
+ } */
139
+ mousetop = tt.offset().top+tt.outerHeight()+arrow.outerHeight();
140
+ if((arrow_pos(tt) == 'bottomright') || (arrow_pos(tt) == 'bottomleft')){
141
+ mousetop = tt.offset().top-tp.outerHeight()-arrow.outerHeight();
142
+ mouseleft = mouseleft - distance;
143
+ distance = 0;
144
+
145
+ if(tp.find('.ttooltip-footer').html() !=''){
146
+ arrow.addClass('tooltip-arrow-gray');
147
+ }
148
+ }
149
+
150
+ tp
151
+ .css({
152
+ 'top' : mousetop,
153
+ 'left' : mouseleft,
154
+ 'width': source.width?source.width:'auto',
155
+ 'opacity':1
156
+ })
157
+ .fadeIn();
158
+
159
+
160
+
161
+
162
+ /* follow mouse movement, horizontal only */
163
+ if(o.followmouse) {
164
+ $(this).mousemove(function(x){
165
+ tp.css({
166
+ 'top':mousetop,
167
+ 'left':x.pageX-arrow.position().left-distance
168
+ })
169
+ });
170
+ }
171
+
172
+ /* close on mouseleave*/
173
+
174
+ if(o.autohide){
175
+ /* define times, to prevent event triggered twice*/
176
+ closewhat($(this));
177
+ closewhat(tp);
178
+ }
179
+
180
+
181
+ function closewhat(what){
182
+ what.bind(o.close,function(){
183
+ times++;
184
+ if(times==1){
185
+ timeout = setTimeout(function(){
186
+ close(tp);
187
+ },o.timeout);
188
+
189
+ tp.bind('mouseenter',function(){
190
+ times=0;
191
+ clearTimeout(timeout);
192
+ });
193
+ /*updated 30/09/2012*/
194
+ tt.bind('mouseenter',function(){
195
+ times=0;
196
+ clearTimeout(timeout);
197
+ });
198
+ }
199
+ });
200
+ }
201
+
202
+ /* close on esc */
203
+ if(o.closeonesc){
204
+ document.onkeydown = function(evt) {
205
+ evt = evt || window.event;
206
+ if (evt.keyCode == 27) {
207
+ close(tp);
208
+ }
209
+ };
210
+ }
211
+ /*updated 30/09/2012*/
212
+ tp.find('.close').click(function(e){
213
+ close(tp);
214
+ e.preventDefault();
215
+ });
216
+
217
+ function close(what){
218
+ what.fadeOut(o.fadeoutspeed,function(){
219
+ what.remove();
220
+ /*call onclose callback*/
221
+ o.onclose(what,tt);
222
+ });
223
+ clearTimeout(timeout);
224
+ times=0;
225
+ }
226
+
227
+ e.preventDefault();
228
+
229
+ });
230
+
231
+ }); /* end loop*/
232
+
233
+ };
234
+
235
+ $.fn.ttooltip.defaultOptions = {
236
+ autohide : true,
237
+ followmouse : true,
238
+ closeonesc : true,
239
+ content : '',
240
+ title : '',
241
+ trigger : 'mouseenter',
242
+ close : 'mouseleave',
243
+ maxwidth : 300,
244
+ timeout : 500,
245
+ fadeoutspeed: 'fast',
246
+ onload : function(){},
247
+ onclose : function(){},/*updated 30/09/2012*/
248
+ template : '<div class="ttooltip-wrap"><div class="ttooltip-arrow ttooltip-arrow-border"></div><div class="ttooltip-arrow"></div><div class="ttooltip-inner"><button type="button" class="close">&times;</button><h3 class="ttooltip-title"></h3><div class="ttooltip-content"><p></p></div><div class="ttooltip-footer"></div></div></div>'
249
+ };/*updated 30/09/2012*/
250
+ })(jQuery);
js/ttooltip/script/jquery-ttooltip.min.js ADDED
@@ -0,0 +1,12 @@
1
+ /*!
2
+ * tTooltip v0.1
3
+ *
4
+ * Copyright 2012 Takien, No Inc
5
+ * http://takien.com
6
+ *
7
+ * Licensed under the Apache License v2.0
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * follow @cektkp and @perdanaweb
11
+ */
12
+ (function(e){function t(t){var n=t.position();var r=n.top-e(window).scrollTop();var i=n.left-e(window).scrollLeft();var s=e(window).width()-(i+t.width());var o=e(window).height()-(r+t.height());var u="topleft";if(r>o){u="bottom"}else{u="top"}if(i>s){u+="right"}else{u+="left"}return u}e.fn.ttooltip=function(n){var r=e.extend({},e.fn.ttooltip.defaultOptions,n);var i=e(r.template);var s=i.find(".ttooltip-content");var o=i.find(".ttooltip-title");var u=i.find(".ttooltip-footer");var a=0;var f=0;var l;var c;i.css({position:"absolute","max-width":r.maxwidth});return this.each(function(n){var l=e(this);l.bind(r.trigger,function(n){function m(e){e.bind(r.close,function(){f++;if(f==1){a=setTimeout(function(){g(i)},r.timeout);i.bind("mouseenter",function(){f=0;clearTimeout(a)});l.bind("mouseenter",function(){f=0;clearTimeout(a)})}})}function g(e){e.fadeOut(r.fadeoutspeed,function(){e.remove();r.onclose(e,l)});clearTimeout(a);f=0}clearInterval(a);i.appendTo(document.body);i=e(".ttooltip-wrap");s=i.find(".ttooltip-content");o=i.find(".ttooltip-title");u=i.find(".ttooltip-footer");c=l.data();if(c.href==undefined){c.href=l.attr("href")}if(c.content==undefined){return false}if(c.content=="ajax"){e.get(c.href,function(e){i.find(".ttooltip-inner").html(e);r.onload(i,l)})}else{o.show().html(c.title);s.show().html(c.content);u.show().html(c.footer);r.onload(i,l);if(c.footer==undefined){u.empty().hide()}if(c.title==undefined){o.empty().hide()}}s.addClass("clearfix");u.addClass("clearfix");i.removeClass().addClass("ttooltip-wrap ttooltip-"+t(l)).fadeIn();var h=i.find(".ttooltip-arrow");var p=n.pageX-(h.outerWidth()*.5+h.position().left);var d=25;var v;p=p-d;h.removeClass("tooltip-arrow-gray");v=l.offset().top+l.outerHeight()+h.outerHeight();if(t(l)=="bottomright"||t(l)=="bottomleft"){v=l.offset().top-i.outerHeight()-h.outerHeight();p=p-d;d=0;if(i.find(".ttooltip-footer").html()!=""){h.addClass("tooltip-arrow-gray")}}i.css({top:v,left:p,width:c.width?c.width:"auto",opacity:1}).fadeIn();if(r.followmouse){e(this).mousemove(function(e){i.css({top:v,left:e.pageX-h.position().left-d})})}if(r.autohide){m(e(this));m(i)}if(r.closeonesc){document.onkeydown=function(e){e=e||window.event;if(e.keyCode==27){g(i)}}}i.find(".close").click(function(e){g(i);e.preventDefault()});n.preventDefault()})})};e.fn.ttooltip.defaultOptions={autohide:true,followmouse:true,closeonesc:true,content:"",title:"",trigger:"mouseenter",close:"mouseleave",maxwidth:300,timeout:500,fadeoutspeed:"fast",onload:function(){},onclose:function(){},template:'<div class="ttooltip-wrap"><div class="ttooltip-arrow ttooltip-arrow-border"></div><div class="ttooltip-arrow"></div><div class="ttooltip-inner"><button type="button" class="close">�</button><h3 class="ttooltip-title"></h3><div class="ttooltip-content"><p></p></div><div class="ttooltip-footer"></div></div></div>'}})(jQuery);
js/ttooltip/style/index.html ADDED
File without changes
js/ttooltip/style/jquery-ttooltip.css ADDED
@@ -0,0 +1,109 @@
1
+ /*!
2
+ * tTooltip v0.1
3
+ *
4
+ * Copyright 2012 Takien, No Inc
5
+ * http://takien.com
6
+ *
7
+ * Licensed under the Apache License v2.0
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * follow @cektkp and @perdanaweb
11
+ */
12
+ .clearfix {
13
+ *zoom: 1;
14
+ }
15
+ .clearfix:before,
16
+ .clearfix:after {
17
+ display: table;
18
+ content: "";
19
+ }
20
+ .clearfix:after {
21
+ clear: both;
22
+ }
23
+ a.ttooltip{
24
+ text-decoration:none;
25
+ border-bottom:1px dotted #0079be;
26
+ color:#0079be
27
+ }
28
+ .ttooltip-wrap{
29
+ background:#f5f5f5;
30
+ border:1px solid #b3b3b3;
31
+ z-index:2000;
32
+ -webkit-border-radius: 2px;
33
+ -moz-border-radius: 2px;
34
+ border-radius: 2px;
35
+ box-shadow: 0pt 2px 4px rgba(0, 0, 0, 0.2);
36
+ }
37
+ .ttooltip-inner{
38
+ position:relative;
39
+ }
40
+ .ttooltip-title{
41
+ font-size:1.1em;
42
+ font-weight:bold;
43
+ padding:10px;
44
+ background:#fff;
45
+ color:#333333;
46
+ margin:0;
47
+ }
48
+ .ttooltip-content{
49
+ padding:5px 10px;
50
+ background:#fff;
51
+ box-shadow: 0pt 2px 4px rgba(0, 0, 0, 0.12);
52
+ }
53
+ .ttooltip-content p{
54
+ margin:0 0 10px;
55
+ }
56
+ .ttooltip-arrow{
57
+ position:absolute;
58
+ background:transparent;
59
+ width:0;
60
+ height:0;
61
+ z-index:2001
62
+ }
63
+ .ttooltip-topleft .ttooltip-arrow{
64
+ left:20px;
65
+ top: -10px;
66
+ border-left: 10px solid transparent;
67
+ border-right: 10px solid transparent;
68
+ border-bottom: 10px solid #fff;
69
+ }
70
+ .ttooltip-topright .ttooltip-arrow{
71
+ right:20px;
72
+ top: -10px;
73
+ border-left: 10px solid transparent;
74
+ border-right: 10px solid transparent;
75
+ border-bottom: 10px solid #fff;
76
+ }
77
+ .ttooltip-topright .ttooltip-arrow-border,
78
+ .ttooltip-topleft .ttooltip-arrow-border{
79
+ top:-11px;
80
+ border-bottom-color:#b3b3b3
81
+ }
82
+ .ttooltip-bottomleft .ttooltip-arrow{
83
+ left:20px;
84
+ bottom: -10px;
85
+ border-left: 10px solid transparent;
86
+ border-right: 10px solid transparent;
87
+ border-top: 10px solid #fff;
88
+ }
89
+ .ttooltip-bottomright .ttooltip-arrow{
90
+ right:20px;
91
+ bottom: -10px;
92
+ border-left: 10px solid transparent;
93
+ border-right: 10px solid transparent;
94
+ border-top: 10px solid #fff;
95
+ }
96
+ .ttooltip-bottomleft .ttooltip-arrow.tooltip-arrow-gray,
97
+ .ttooltip-bottomright .ttooltip-arrow.tooltip-arrow-gray{
98
+ border-top-color:#f5f5f5
99
+ }
100
+
101
+ .ttooltip-bottomleft .ttooltip-arrow-border,
102
+ .ttooltip-bottomright .ttooltip-arrow-border{
103
+ bottom:-11px;
104
+ border-top-color:#b3b3b3
105
+ }
106
+
107
+ .ttooltip-footer{
108
+ padding:10px;
109
+ }
languages/easy-table-id_ID.mo CHANGED
Binary file
languages/easy-table-id_ID.po CHANGED
@@ -1,10 +1,10 @@
1
msgid ""
2
msgstr ""
3
- "Project-Id-Version: easy-table 0.9\n"
4
"Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2012-08-19 01:57+0700\n"
6
- "PO-Revision-Date: 2012-08-19 01:58+0700\n"
7
- "Last-Translator: takien <contact@takien.com>\n"
8
"Language-Team: takien.com <contact@takien.com>\n"
9
"MIME-Version: 1.0\n"
10
"Content-Type: text/plain; charset=UTF-8\n"
@@ -16,502 +16,443 @@ msgstr ""
16
"X-Poedit-SourceCharset: utf-8\n"
17
"X-Poedit-SearchPath-0: .\n"
18
19
- #: easy-table.php:488
20
- #: New folder/easy-table.php:453
21
msgid "Settings"
22
msgstr "Pengaturan"
23
24
- #: easy-table.php:500
25
- #: New folder/easy-table.php:465
26
msgid "Instruction"
27
msgstr "Petunjuk"
28
29
- #: easy-table.php:501
30
- #: New folder/easy-table.php:466
31
msgid "Once plugin installed, go to plugin options page to configure some options"
32
msgstr "Setelah plugin terpasang, kemudian buka halaman penyetelan plugin"
33
34
- #: easy-table.php:502
35
- #: New folder/easy-table.php:467
36
msgid "You are ready to write a table in post or page."
37
msgstr "Anda telah siap untuk membuat tabel di post atau halaman."
38
39
- #: easy-table.php:503
40
- #: New folder/easy-table.php:468
41
msgid "To be able write table in widget you have to check <em>Enable render table in widget</em> option in the option page."
42
msgstr ""
43
44
- #: easy-table.php:522
45
- #: New folder/easy-table.php:487
46
#, php-format
47
msgid "%s Option"
48
msgstr "Pengaturan %s"
49
50
- #: easy-table.php:523
51
- #: New folder/easy-table.php:488
52
msgid "Support"
53
msgstr "Dukungan"
54
55
- #: easy-table.php:524
56
- #: New folder/easy-table.php:489
57
msgid "About"
58
msgstr "Tentang"
59
60
- #: easy-table.php:534
61
- #: New folder/easy-table.php:499
62
- msgid "Show/hide description"
63
- msgstr "Tampilkan/Sembunyikan keterangan"
64
65
- #: easy-table.php:535
66
- #: New folder/easy-table.php:500
67
msgid "General options"
68
msgstr "Pengaturan umum"
69
70
- #: easy-table.php:540
71
- #: New folder/easy-table.php:505
72
msgid "Short code tag"
73
msgstr ""
74
75
- #: easy-table.php:542
76
- #: New folder/easy-table.php:507
77
- msgid "Shortcode tag, type \"table\" if you want to use [table] short tag."
78
msgstr ""
79
80
- #: easy-table.php:548
81
- #: easy-table.php:768
82
- #: New folder/easy-table.php:513
83
- #: folder/easy-table.php:718
84
msgid "Cell attribute tag"
85
msgstr ""
86
87
- #: easy-table.php:550
88
- #: New folder/easy-table.php:515
89
msgid "Cell attribute tag, default is attr."
90
msgstr ""
91
92
- #: easy-table.php:555
93
- #: New folder/easy-table.php:520
94
msgid "Also render table in widget?"
95
msgstr "Tampilkan tabel di widget?"
96
97
- #: easy-table.php:557
98
- #: New folder/easy-table.php:522
99
msgid "Check this if you want the table could be rendered in widget."
100
msgstr ""
101
102
- #: easy-table.php:562
103
- #: New folder/easy-table.php:527
104
msgid "Only load JS/CSS when in this condition"
105
msgstr ""
106
107
- #: easy-table.php:563
108
- #: New folder/easy-table.php:528
109
msgid "Please check in where JavaScript and CSS should be loaded"
110
msgstr ""
111
112
- #: easy-table.php:567
113
- #: New folder/easy-table.php:532
114
msgid "Single"
115
msgstr ""
116
117
- #: easy-table.php:573
118
- #: New folder/easy-table.php:538
119
msgid "Page"
120
msgstr ""
121
122
- #: easy-table.php:579
123
- #: New folder/easy-table.php:544
124
msgid "Front page"
125
msgstr ""
126
127
- #: easy-table.php:585
128
- #: New folder/easy-table.php:550
129
msgid "Archive page"
130
msgstr ""
131
132
- #: easy-table.php:593
133
msgid "Load script on footer?"
134
msgstr "Muat script di footer?"
135
136
- #: easy-table.php:595
137
msgid "Check this if you want the script to be rendered in footer. Try to check or uncheck this if you experienced conflict with another JavaScript library (not guaranteed though)."
138
msgstr ""
139
140
- #: easy-table.php:606
141
- #: New folder/easy-table.php:562
142
msgid "Use tablesorter?"
143
msgstr "Gunakan tablesorter?"
144
145
- #: easy-table.php:609
146
- #: New folder/easy-table.php:565
147
msgid "Check this to use tablesorter jQuery plugin"
148
msgstr "Ceklist ini jika ingin menggunakan jQuery plugin tablesorter"
149
150
- #: easy-table.php:613
151
- #: New folder/easy-table.php:569
152
msgid "Use TH for the first row?"
153
msgstr "Gunakan TH untuk baris pertama?"
154
155
- #: easy-table.php:616
156
- #: New folder/easy-table.php:572
157
msgid "Check this if you want to use first row as table head (required by tablesorter)"
158
msgstr ""
159
160
- #: easy-table.php:620
161
- #: New folder/easy-table.php:576
162
msgid "Load CSS?"
163
msgstr "Muat CSS?"
164
165
- #: easy-table.php:623
166
- #: New folder/easy-table.php:579
167
msgid "Check this to use CSS included in this plugin to styling table, you may unceck if you want to write your own style."
168
msgstr "Ceklist ini untuk menyertakan CSS untuk penataan tampilan tabel."
169
170
- #: easy-table.php:627
171
- #: New folder/easy-table.php:583
172
msgid "Table class"
173
msgstr "Class tabel"
174
175
- #: easy-table.php:629
176
- #: New folder/easy-table.php:585
177
msgid "Additional table class attribute."
178
msgstr ""
179
180
- #: easy-table.php:633
181
- #: New folder/easy-table.php:589
182
msgid "Table width"
183
msgstr "Lebar tabel"
184
185
- #: easy-table.php:635
186
- #: New folder/easy-table.php:591
187
msgid "Table width, in pixel or percent (may be overriden by CSS)"
188
msgstr "Lebar tabel, dalam pixel atau persen (kemungkinan ditimpa oleh CSS)"
189
190
- #: easy-table.php:639
191
- #: New folder/easy-table.php:595
192
msgid "Table align"
193
msgstr "Perataan tabel"
194
195
- #: easy-table.php:641
196
- #: New folder/easy-table.php:597
197
msgid "Table align, left/right/center (may be overriden by CSS)"
198
msgstr "Perataan tabel, left/right/center (kemungkinan ditimpa oleh CSS)"
199
200
- #: easy-table.php:645
201
- #: New folder/easy-table.php:601
202
msgid "Table border"
203
msgstr "Garis tabel"
204
205
- #: easy-table.php:647
206
- #: New folder/easy-table.php:603
207
msgid "Table border (may be overriden by CSS)"
208
msgstr "Garis tabel (kemungkinan ditimpa oleh CSS)"
209
210
- #: easy-table.php:652
211
- #: New folder/easy-table.php:608
212
msgid "Table options"
213
msgstr "Pengaturan tabel"
214
215
- #: easy-table.php:656
216
- #: New folder/easy-table.php:612
217
msgid "Theme selector"
218
msgstr "Pemilihan tema"
219
220
- #: easy-table.php:661
221
- #: New folder/easy-table.php:617
222
msgid "Default theme"
223
msgstr "Tema bawaan"
224
225
- #: easy-table.php:665
226
- #: New folder/easy-table.php:621
227
msgid "Select default theme of the table"
228
msgstr "Pilih tema untuk tabel"
229
230
- #: easy-table.php:671
231
- #: New folder/easy-table.php:627
232
- msgid "Parser Option"
233
msgstr "Pengaturan parser"
234
235
- #: easy-table.php:672
236
- #: New folder/easy-table.php:628
237
msgid "Do not change this unless you know what you're doing"
238
msgstr "Jangan ganti bagian ini kecuali Anda mengetahuinya"
239
240
- #: easy-table.php:678
241
msgid "New line replacement"
242
msgstr "Pengganti baris baru"
243
244
- #: easy-table.php:681
245
msgid "Since new line is used by parser, you need specify character as a replacement."
246
msgstr ""
247
248
- #: easy-table.php:684
249
- #: New folder/easy-table.php:634
250
msgid "Delimiter"
251
msgstr "Pemisah"
252
253
- #: easy-table.php:687
254
- #: New folder/easy-table.php:637
255
msgid "CSV delimiter (default is comma)"
256
msgstr ""
257
258
- #: easy-table.php:690
259
- #: New folder/easy-table.php:640
260
msgid "Enclosure"
261
msgstr ""
262
263
- #: easy-table.php:693
264
- #: New folder/easy-table.php:643
265
msgid "CSV enclosure (default is double quote)"
266
msgstr ""
267
268
- #: easy-table.php:696
269
- #: New folder/easy-table.php:646
270
msgid "Escape"
271
msgstr ""
272
273
- #: easy-table.php:699
274
- #: New folder/easy-table.php:649
275
msgid "CSV escape (default is backslash)"
276
msgstr ""
277
278
- #: easy-table.php:702
279
- #: New folder/easy-table.php:652
280
msgid "Allow read CSV from file?"
281
msgstr "Bolehkan membaca CSV dari file?"
282
283
- #: easy-table.php:705
284
- #: New folder/easy-table.php:655
285
msgid "Check this if you also want to convert CSV file to table"
286
msgstr "Ceklist ini jika Anda juga ingin merubah file CSV ke tabel"
287
288
- #: easy-table.php:713
289
- #: New folder/easy-table.php:663
290
msgid "Save"
291
msgstr "Simpan"
292
293
- #: easy-table.php:735
294
- #: New folder/easy-table.php:685
295
msgid "Possible parameter"
296
msgstr "Parameter yang dimungkinkan"
297
298
- #: easy-table.php:736
299
- #: New folder/easy-table.php:686
300
msgid "These parameters commonly can override global options in the left side of this page. Example usage:"
301
msgstr "Parameter berikut ini secara umum dapat menggantikan setingan global yang ada di sebelah kiri halaman ini. Contoh penggunaan:"
302
303
- #: easy-table.php:739
304
- #: easy-table.php:740
305
- #: easy-table.php:741
306
- #: easy-table.php:742
307
- #: easy-table.php:743
308
- #: easy-table.php:744
309
- #: easy-table.php:745
310
- #: easy-table.php:746
311
- #: easy-table.php:747
312
- #: easy-table.php:748
313
- #: easy-table.php:749
314
- #: New
315
- #: folder/easy-table.php:689
316
- #: folder/easy-table.php:690
317
- #: folder/easy-table.php:691
318
- #: folder/easy-table.php:692
319
- #: folder/easy-table.php:693
320
- #: folder/easy-table.php:694
321
- #: folder/easy-table.php:695
322
- #: folder/easy-table.php:696
323
- #: folder/easy-table.php:697
324
- #: folder/easy-table.php:698
325
- #: folder/easy-table.php:699
326
msgid "default value"
327
msgstr "nilai bawaan"
328
329
- #: easy-table.php:739
330
- #: New folder/easy-table.php:689
331
msgid "another value"
332
msgstr "nilai lainnya"
333
334
- #: easy-table.php:752
335
- #: New folder/easy-table.php:702
336
msgid "parameter is for initial sorting order. Value for each column separated by comma. See example below:"
337
msgstr "parameter untuk penyortiran bawaan. Nilai dari masing masih kolom dipisahkan dengan koma. Lihat contoh berikut:"
338
339
- #: easy-table.php:754
340
- #: New folder/easy-table.php:704
341
msgid "Set initial order of first column descending and second column ascending:"
342
msgstr ""
343
344
- #: easy-table.php:760
345
- #: New folder/easy-table.php:710
346
msgid "Set initial order of second column descending:"
347
msgstr ""
348
349
- #: easy-table.php:766
350
- #: New folder/easy-table.php:716
351
msgid "Additionaly, sort option also can be set via sort attr in a cell. See example below"
352
msgstr ""
353
354
- #: easy-table.php:770
355
- #: New folder/easy-table.php:720
356
msgid "To set attribute for cell eg. class, colspan, rowspan, etc"
357
msgstr ""
358
359
- #: easy-table.php:771
360
- #: New folder/easy-table.php:721
361
msgid "Example"
362
msgstr "Contoh"
363
364
- #: easy-table.php:780
365
- #: New folder/easy-table.php:730
366
msgid "To set initial sort order, this is intended to TH (first row) only."
367
msgstr ""
368
369
- #: easy-table.php:781
370
- #: New folder/easy-table.php:731
371
msgid "Example: sort second column descending "
372
msgstr ""
373
374
- #: easy-table.php:798
375
- #: New folder/easy-table.php:748
376
msgid "Test area:"
377
msgstr "Area test:"
378
379
- #: easy-table.php:803
380
- #: New folder/easy-table.php:753
381
msgid "Reset"
382
msgstr "Reset"
383
384
- #: easy-table.php:804
385
- #: New folder/easy-table.php:754
386
msgid "Update preview"
387
msgstr "Perbaharui pratinjau"
388
389
- #: easy-table.php:806
390
- #: New folder/easy-table.php:756
391
msgid "Preview"
392
msgstr "Pratinjau"
393
394
- #: easy-table.php:814
395
- #: New folder/easy-table.php:764
396
msgid "I have tried to make this plugin can be used as easy as possible and documentation as complete as possible. However it is also possible that you are still confused. Therefore feel free to ask. I would be happy to answer."
397
msgstr "Saya telah membuat plugin ini semudah mungkin digunakan dan juga dokumentasi yang selengkap mungkin. Meskipun begitu mungkin Anda masih bingung. Untuk itu jangan sungkan-sungkan untuk bertanya. Saya akan senang menjawabnya."
398
399
- #: easy-table.php:815
400
- #: New folder/easy-table.php:765
401
msgid "You can use this discussion to get support, request feature or reporting bug."
402
msgstr ""
403
404
- #: easy-table.php:816
405
- #: New folder/easy-table.php:766
406
msgid "Before you ask something, make sure you have read documentation here!"
407
msgstr "Sebelum bertanya sesuatu, pastikan Anda telah membaca dokumentasi di sini!"
408
409
- #: easy-table.php:875
410
- #: New folder/easy-table.php:825
411
msgid "Install Now"
412
msgstr ""
413
414
- #: easy-table.php:879
415
- #: New folder/easy-table.php:829
416
msgid "Install Update Now"
417
msgstr ""
418
419
- #: easy-table.php:882
420
- #: New folder/easy-table.php:832
421
#, php-format
422
msgid "Newer Version (%s) Installed"
423
msgstr ""
424
425
- #: easy-table.php:885
426
- #: New folder/easy-table.php:835
427
msgid "Latest Version Installed"
428
msgstr ""
429
430
- #: easy-table.php:894
431
- #: New folder/easy-table.php:844
432
msgid "Latest Version:"
433
msgstr ""
434
435
- #: easy-table.php:896
436
- #: New folder/easy-table.php:846
437
msgid "Author:"
438
msgstr ""
439
440
- #: easy-table.php:898
441
- #: New folder/easy-table.php:848
442
msgid "Last Updated:"
443
msgstr ""
444
445
- #: easy-table.php:899
446
- #: New folder/easy-table.php:849
447
#, php-format
448
msgid "%s ago"
449
msgstr ""
450
451
- #: easy-table.php:901
452
- #: New folder/easy-table.php:851
453
msgid "Requires WordPress Version:"
454
msgstr ""
455
456
- #: easy-table.php:901
457
- #: New folder/easy-table.php:851
458
#, php-format
459
msgid "%s or higher"
460
msgstr ""
461
462
- #: easy-table.php:903
463
- #: New folder/easy-table.php:853
464
msgid "Compatible up to:"
465
msgstr ""
466
467
- #: easy-table.php:905
468
- #: New folder/easy-table.php:855
469
msgid "Downloaded:"
470
msgstr ""
471
472
- #: easy-table.php:907
473
- #: New folder/easy-table.php:857
474
msgid "WordPress.org Plugin Page &#187;"
475
msgstr ""
476
477
- #: easy-table.php:909
478
- #: New folder/easy-table.php:859
479
msgid "Plugin Homepage &#187;"
480
msgstr ""
481
482
- #: easy-table.php:913
483
- #: New folder/easy-table.php:863
484
msgid "Average Rating"
485
msgstr "Penilaian rata-rata"
486
487
- #: easy-table.php:931
488
- #: New folder/easy-table.php:881
489
msgid "Support my work with donation"
490
msgstr "Dukung karya saya dengan sumbangan"
491
492
- #: easy-table.php:940
493
- #: New folder/easy-table.php:890
494
msgid "Don't have money? No problem, you can rate my plugin instead."
495
msgstr "Tidak punya uang? Tidak masalah, Anda cukup memberi rating plugin ini."
496
497
- #: easy-table.php:941
498
- #: New folder/easy-table.php:891
499
msgid "Click here to rate"
500
msgstr "Klik di sini untuk memberi nilai"
501
502
- #: easy-table.php:943
503
- #: New folder/easy-table.php:893
504
msgid "Thanks to"
505
msgstr "Terimakasih kepada"
506
507
- #: easy-table.php:949
508
- #: easy-table.php:950
509
- #: easy-table.php:951
510
- #: easy-table.php:952
511
- #: New folder/easy-table.php:899
512
- #: folder/easy-table.php:900
513
- #: folder/easy-table.php:901
514
- #: folder/easy-table.php:902
515
msgid "by"
516
msgstr "oleh"
517
1
msgid ""
2
msgstr ""
3
+ "Project-Id-Version: easy-table 1.0\n"
4
"Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2013-01-29 08:48+0700\n"
6
+ "PO-Revision-Date: 2013-01-29 08:49+0700\n"
7
+ "Last-Translator: takien <imissuaja@yahoo.com>\n"
8
"Language-Team: takien.com <contact@takien.com>\n"
9
"MIME-Version: 1.0\n"
10
"Content-Type: text/plain; charset=UTF-8\n"
16
"X-Poedit-SourceCharset: utf-8\n"
17
"X-Poedit-SearchPath-0: .\n"
18
19
+ #: easy-table.php:606
20
msgid "Settings"
21
msgstr "Pengaturan"
22
23
+ #: easy-table.php:618
24
msgid "Instruction"
25
msgstr "Petunjuk"
26
27
+ #: easy-table.php:619
28
msgid "Once plugin installed, go to plugin options page to configure some options"
29
msgstr "Setelah plugin terpasang, kemudian buka halaman penyetelan plugin"
30
31
+ #: easy-table.php:620
32
msgid "You are ready to write a table in post or page."
33
msgstr "Anda telah siap untuk membuat tabel di post atau halaman."
34
35
+ #: easy-table.php:621
36
msgid "To be able write table in widget you have to check <em>Enable render table in widget</em> option in the option page."
37
msgstr ""
38
39
+ #: easy-table.php:640
40
#, php-format
41
msgid "%s Option"
42
msgstr "Pengaturan %s"
43
44
+ #: easy-table.php:645
45
msgid "Support"
46
msgstr "Dukungan"
47
48
+ #: easy-table.php:646
49
msgid "About"
50
msgstr "Tentang"
51
52
+ #: easy-table.php:656
53
+ msgid "Show/hide help button"
54
+ msgstr "Tampilkan/Sembunyikan tombol bantuan"
55
56
+ #: easy-table.php:657
57
msgid "General options"
58
msgstr "Pengaturan umum"
59
60
+ #: easy-table.php:662
61
msgid "Short code tag"
62
msgstr ""
63
64
+ #: easy-table.php:664
65
+ msgid "Shortcode tag, type 'table' if you want to use [table] short tag."
66
msgstr ""
67
68
+ #: easy-table.php:670
69
+ #: easy-table.php:935
70
msgid "Cell attribute tag"
71
msgstr ""
72
73
+ #: easy-table.php:672
74
msgid "Cell attribute tag, default is attr."
75
msgstr ""
76
77
+ #: easy-table.php:677
78
msgid "Also render table in widget?"
79
msgstr "Tampilkan tabel di widget?"
80
81
+ #: easy-table.php:679
82
msgid "Check this if you want the table could be rendered in widget."
83
msgstr ""
84
85
+ #: easy-table.php:684
86
msgid "Only load JS/CSS when in this condition"
87
msgstr ""
88
89
+ #: easy-table.php:685
90
msgid "Please check in where JavaScript and CSS should be loaded"
91
msgstr ""
92
93
+ #: easy-table.php:689
94
msgid "Single"
95
msgstr ""
96
97
+ #: easy-table.php:695
98
msgid "Page"
99
msgstr ""
100
101
+ #: easy-table.php:701
102
msgid "Front page"
103
msgstr ""
104
105
+ #: easy-table.php:707
106
msgid "Archive page"
107
msgstr ""
108
109
+ #: easy-table.php:713
110
+ msgid "Search page"
111
+ msgstr ""
112
+
113
+ #: easy-table.php:721
114
msgid "Load script on footer?"
115
msgstr "Muat script di footer?"
116
117
+ #: easy-table.php:723
118
msgid "Check this if you want the script to be rendered in footer. Try to check or uncheck this if you experienced conflict with another JavaScript library (not guaranteed though)."
119
msgstr ""
120
121
+ #: easy-table.php:734
122
msgid "Use tablesorter?"
123
msgstr "Gunakan tablesorter?"
124
125
+ #: easy-table.php:737
126
msgid "Check this to use tablesorter jQuery plugin"
127
msgstr "Ceklist ini jika ingin menggunakan jQuery plugin tablesorter"
128
129
+ #: easy-table.php:741
130
msgid "Use TH for the first row?"
131
msgstr "Gunakan TH untuk baris pertama?"
132
133
+ #: easy-table.php:744
134
msgid "Check this if you want to use first row as table head (required by tablesorter)"
135
msgstr ""
136
137
+ #: easy-table.php:748
138
msgid "Load CSS?"
139
msgstr "Muat CSS?"
140
141
+ #: easy-table.php:751
142
msgid "Check this to use CSS included in this plugin to styling table, you may unceck if you want to write your own style."
143
msgstr "Ceklist ini untuk menyertakan CSS untuk penataan tampilan tabel."
144
145
+ #: easy-table.php:755
146
msgid "Table class"
147
msgstr "Class tabel"
148
149
+ #: easy-table.php:757
150
msgid "Additional table class attribute."
151
msgstr ""
152
153
+ #: easy-table.php:761
154
msgid "Table width"
155
msgstr "Lebar tabel"
156
157
+ #: easy-table.php:763
158
msgid "Table width, in pixel or percent (may be overriden by CSS)"
159
msgstr "Lebar tabel, dalam pixel atau persen (kemungkinan ditimpa oleh CSS)"
160
161
+ #: easy-table.php:767
162
msgid "Table align"
163
msgstr "Perataan tabel"
164
165
+ #: easy-table.php:769
166
msgid "Table align, left/right/center (may be overriden by CSS)"
167
msgstr "Perataan tabel, left/right/center (kemungkinan ditimpa oleh CSS)"
168
169
+ #: easy-table.php:773
170
msgid "Table border"
171
msgstr "Garis tabel"
172
173
+ #: easy-table.php:775
174
msgid "Table border (may be overriden by CSS)"
175
msgstr "Garis tabel (kemungkinan ditimpa oleh CSS)"
176
177
+ #: easy-table.php:780
178
msgid "Table options"
179
msgstr "Pengaturan tabel"
180
181
+ #: easy-table.php:784
182
msgid "Theme selector"
183
msgstr "Pemilihan tema"
184
185
+ #: easy-table.php:789
186
msgid "Default theme"
187
msgstr "Tema bawaan"
188
189
+ #: easy-table.php:793
190
msgid "Select default theme of the table"
191
msgstr "Pilih tema untuk tabel"
192
193
+ #: easy-table.php:799
194
+ #, fuzzy
195
+ msgid "Data options"
196
+ msgstr "Pengaturan tabel"
197
+
198
+ #: easy-table.php:804
199
+ msgid "Row limit"
200
+ msgstr "Batas baris"
201
+
202
+ #: easy-table.php:808
203
+ msgid "Max row to convert to table, default 0 (unlimited)"
204
+ msgstr ""
205
+
206
+ #: easy-table.php:812
207
+ msgid "Trim cell data?"
208
+ msgstr ""
209
+
210
+ #: easy-table.php:817
211
+ msgid "Trim empty character around cell data"
212
+ msgstr ""
213
+
214
+ #: easy-table.php:823
215
+ #, fuzzy
216
+ msgid "Parser options"
217
msgstr "Pengaturan parser"
218
219
+ #: easy-table.php:824
220
msgid "Do not change this unless you know what you're doing"
221
msgstr "Jangan ganti bagian ini kecuali Anda mengetahuinya"
222
223
+ #: easy-table.php:830
224
msgid "New line replacement"
225
msgstr "Pengganti baris baru"
226
227
+ #: easy-table.php:833
228
msgid "Since new line is used by parser, you need specify character as a replacement."
229
msgstr ""
230
231
+ #: easy-table.php:836
232
+ msgid "Row terminator"
233
+ msgstr "Pembatas baris"
234
+
235
+ #: easy-table.php:840
236
+ msgid ""
237
+ "This caharacter will converted into new row. Default value \\n"
238
+ " (this is invisible character when you press Enter). If your new line not converted as new row in the table, try use \\r instead."
239
+ msgstr ""
240
+
241
+ #: easy-table.php:843
242
msgid "Delimiter"
243
msgstr "Pemisah"
244
245
+ #: easy-table.php:846
246
msgid "CSV delimiter (default is comma)"
247
msgstr ""
248
249
+ #: easy-table.php:849
250
msgid "Enclosure"
251
msgstr ""
252
253
+ #: easy-table.php:852
254
msgid "CSV enclosure (default is double quote)"
255
msgstr ""
256
257
+ #: easy-table.php:855
258
msgid "Escape"
259
msgstr ""
260
261
+ #: easy-table.php:858
262
msgid "CSV escape (default is backslash)"
263
msgstr ""
264
265
+ #: easy-table.php:861
266
msgid "Allow read CSV from file?"
267
msgstr "Bolehkan membaca CSV dari file?"
268
269
+ #: easy-table.php:864
270
msgid "Check this if you also want to convert CSV file to table"
271
msgstr "Ceklist ini jika Anda juga ingin merubah file CSV ke tabel"
272
273
+ #: easy-table.php:872
274
msgid "Save"
275
msgstr "Simpan"
276
277
+ #: easy-table.php:896
278
msgid "Possible parameter"
279
msgstr "Parameter yang dimungkinkan"
280
281
+ #: easy-table.php:897
282
msgid "These parameters commonly can override global options in the left side of this page. Example usage:"
283
msgstr "Parameter berikut ini secara umum dapat menggantikan setingan global yang ada di sebelah kiri halaman ini. Contoh penggunaan:"
284
285
+ #: easy-table.php:900
286
+ #: easy-table.php:901
287
+ #: easy-table.php:902
288
+ #: easy-table.php:903
289
+ #: easy-table.php:904
290
+ #: easy-table.php:905
291
+ #: easy-table.php:906
292
+ #: easy-table.php:907
293
+ #: easy-table.php:908
294
+ #: easy-table.php:909
295
+ #: easy-table.php:910
296
+ #: easy-table.php:911
297
+ #: easy-table.php:912
298
+ #: easy-table.php:913
299
+ #: easy-table.php:914
300
+ #: easy-table.php:915
301
+ #: easy-table.php:916
302
msgid "default value"
303
msgstr "nilai bawaan"
304
305
+ #: easy-table.php:900
306
msgid "another value"
307
msgstr "nilai lainnya"
308
309
+ #: easy-table.php:919
310
msgid "parameter is for initial sorting order. Value for each column separated by comma. See example below:"
311
msgstr "parameter untuk penyortiran bawaan. Nilai dari masing masih kolom dipisahkan dengan koma. Lihat contoh berikut:"
312
313
+ #: easy-table.php:921
314
msgid "Set initial order of first column descending and second column ascending:"
315
msgstr ""
316
317
+ #: easy-table.php:927
318
msgid "Set initial order of second column descending:"
319
msgstr ""
320
321
+ #: easy-table.php:933
322
msgid "Additionaly, sort option also can be set via sort attr in a cell. See example below"
323
msgstr ""
324
325
+ #: easy-table.php:937
326
msgid "To set attribute for cell eg. class, colspan, rowspan, etc"
327
msgstr ""
328
329
+ #: easy-table.php:938
330
msgid "Example"
331
msgstr "Contoh"
332
333
+ #: easy-table.php:947
334
msgid "To set initial sort order, this is intended to TH (first row) only."
335
msgstr ""
336
337
+ #: easy-table.php:948
338
msgid "Example: sort second column descending "
339
msgstr ""
340
341
+ #: easy-table.php:965
342
msgid "Test area:"
343
msgstr "Area test:"
344
345
+ #: easy-table.php:970
346
msgid "Reset"
347
msgstr "Reset"
348
349
+ #: easy-table.php:971
350
msgid "Update preview"
351
msgstr "Perbaharui pratinjau"
352
353
+ #: easy-table.php:973
354
msgid "Preview"
355
msgstr "Pratinjau"
356
357
+ #: easy-table.php:980
358
+ msgid "Easy Table theme editor"
359
+ msgstr ""
360
+
361
+ #: easy-table.php:1010
362
msgid "I have tried to make this plugin can be used as easy as possible and documentation as complete as possible. However it is also possible that you are still confused. Therefore feel free to ask. I would be happy to answer."
363
msgstr "Saya telah membuat plugin ini semudah mungkin digunakan dan juga dokumentasi yang selengkap mungkin. Meskipun begitu mungkin Anda masih bingung. Untuk itu jangan sungkan-sungkan untuk bertanya. Saya akan senang menjawabnya."
364
365
+ #: easy-table.php:1011
366
msgid "You can use this discussion to get support, request feature or reporting bug."
367
msgstr ""
368
369
+ #: easy-table.php:1012
370
msgid "Before you ask something, make sure you have read documentation here!"
371
msgstr "Sebelum bertanya sesuatu, pastikan Anda telah membaca dokumentasi di sini!"
372
373
+ #: easy-table.php:1071
374
msgid "Install Now"
375
msgstr ""
376
377
+ #: easy-table.php:1075
378
msgid "Install Update Now"
379
msgstr ""
380
381
+ #: easy-table.php:1078
382
#, php-format
383
msgid "Newer Version (%s) Installed"
384
msgstr ""
385
386
+ #: easy-table.php:1081
387
msgid "Latest Version Installed"
388
msgstr ""
389
390
+ #: easy-table.php:1090
391
msgid "Latest Version:"
392
msgstr ""
393
394
+ #: easy-table.php:1092
395
msgid "Author:"
396
msgstr ""
397
398
+ #: easy-table.php:1094
399
msgid "Last Updated:"
400
msgstr ""
401
402
+ #: easy-table.php:1095
403
#, php-format
404
msgid "%s ago"
405
msgstr ""
406
407
+ #: easy-table.php:1097
408
msgid "Requires WordPress Version:"
409
msgstr ""
410
411
+ #: easy-table.php:1097
412
#, php-format
413
msgid "%s or higher"
414
msgstr ""
415
416
+ #: easy-table.php:1099
417
msgid "Compatible up to:"
418
msgstr ""
419
420
+ #: easy-table.php:1101
421
msgid "Downloaded:"
422
msgstr ""
423
424
+ #: easy-table.php:1103
425
msgid "WordPress.org Plugin Page &#187;"
426
msgstr ""
427
428
+ #: easy-table.php:1105
429
msgid "Plugin Homepage &#187;"
430
msgstr ""
431
432
+ #: easy-table.php:1109
433
msgid "Average Rating"
434
msgstr "Penilaian rata-rata"
435
436
+ #: easy-table.php:1127
437
msgid "Support my work with donation"
438
msgstr "Dukung karya saya dengan sumbangan"
439
440