15
15
return null ;
16
16
}
17
17
18
- $ redir = empty ($ _REQUEST ['redir ' ]) ?
19
- $ list ->getURL () . '#plugins ' : $ _REQUEST ['redir ' ];
20
-
21
- # -- Get settings --
22
- $ core ->blog ->settings ->addNamespace ('translater ' );
23
- $ s = $ core ->blog ->settings ->translater ;
24
-
25
18
$ translater = new dcTranslater ($ core );
26
19
27
- $ combo_backup_limit = [
28
- 5 => 5 ,
29
- 10 => 10 ,
30
- 15 => 15 ,
31
- 20 => 20 ,
32
- 40 => 40 ,
33
- 60 => 60
34
- ];
35
-
36
- $ combo_backup_folder = [
37
- 'module ' => __ ('locales folders of each module ' ),
38
- 'plugin ' => __ ('plugins folder root ' ),
39
- 'public ' => __ ('public folder root ' ),
40
- 'cache ' => __ ('cache folder of Dotclear ' ),
41
- 'translater ' =>__ ('locales folder of translater ' )
42
- ];
43
-
44
- $ combo_start_page = [
45
- 'modules_plugin ' => __ ('Plugins ' ),
46
- 'modules_theme ' => __ ('Themes ' ),
47
- 'pack ' => __ ('Import/Export ' )
48
- ];
49
-
50
- # -- Set settings --
51
20
if (!empty ($ _POST ['save ' ])) {
52
- try {
53
- if (empty ($ _POST ['translater_write_po ' ])
54
- && empty ($ _POST ['translater_write_langphp ' ])) {
55
- throw new Exception ('You must choose one file format at least ' );
56
- }
57
- foreach ($ translater ->getDefaultSettings () as $ k => $ v ) {
58
- $ translater ->setSetting ($ k , (isset ($ _POST ['translater_ ' . $ k ]) ? $ _POST ['translater_ ' . $ k ] : '' ));
59
- }
60
- foreach ($ translater ->proposal ->getTools () AS $ k => $ v ) {
61
- $ v ->save ();
62
- }
63
- dcPage::addSuccessNotice (
64
- __ ('Configuration has been successfully updated. ' )
65
- );
66
- http::redirect (
67
- $ list ->getURL ('module=translater&conf=1&redir= ' .
68
- $ list ->getRedir ())
21
+ try {
22
+ if (empty ($ _POST ['write_po ' ]) && empty ($ _POST ['write_langphp ' ])) {
23
+ throw new Exception (
24
+ __ ('You must at least choose one file format to write ' )
69
25
);
70
- } catch (Exception $ e ) {
71
- $ core ->error ->add (sprintf ($ errors [$ action ], $ e ->getMessage ()));
72
26
}
73
- }
74
-
75
- # -- Display form --
76
- echo '
77
- <div class="fieldset">
78
- <h4> ' . __ ('Translation ' ) . '</h4>
79
- <p><label class="classic"> ' .
80
- form::checkbox ('translater_write_po ' , '1 ' ,$ translater ->write_po ) . '
81
- ' . __ ('Write .po files ' ) . '</label></p>
82
- <p><label class="classic"> ' .
83
- form::checkbox ('translater_write_langphp ' , '1 ' , $ translater ->write_langphp ) . '
84
- ' . __ ('Write .lang.php files ' ) . '</label></p>
85
- <p><label class="classic"> ' .
86
- form::checkbox ('translater_scan_tpl ' , '1 ' , $ translater ->scan_tpl ) . '
87
- ' . __ ('Translate also strings of template files ' ) . '</label></p>
88
- <p><label class="classic"> ' .
89
- form::checkbox ('translater_parse_nodc ' , '1 ' , $ translater ->parse_nodc ) . '
90
- ' . __ ('Translate only unknow strings ' ) . '</label></p>
91
- <p><label class="classic"> ' .
92
- form::checkbox ('translater_hide_default ' , '1 ' , $ translater ->hide_default ) . '
93
- ' . __ ('Hide default modules of Dotclear ' ) . '</label></p>
94
- <p><label class="classic"> ' .
95
- form::checkbox ('translater_parse_comment ' , '1 ' , $ translater ->parse_comment ) . '
96
- ' . __ ('Write comments in files ' ) . '</label></p>
97
- <p><label class="classic"> ' .
98
- form::checkbox ('translater_parse_user ' , '1 ' , $ translater ->parse_user ) . '
99
- ' . __ ('Write informations about author in files ' ) . '</label><br />
100
- ' . form::field ('translater_parse_userinfo ' , 65 , 255 , $ translater ->parse_userinfo ) . '</p>
101
- </div>
102
-
103
- <div class="fieldset">
104
- <h4> ' . __ ('Tools ' ) . '</h4>
105
- <p><label class="classic"> ' . __ ('Default language of l10n source: ' ) . '<br /> ' .
106
- form::combo ('translater_proposal_lang ' ,
107
- array_flip ($ translater ->getIsoCodes ()), $ translater ->proposal_lang ) . '</label></p>
108
-
109
- <h4> ' . __ ('Select and configure the tool to use to translate strings: ' ) . '</h4> ' ;
110
-
111
- foreach ($ translater ->proposal ->getTools () AS $ k => $ v ) {
112
- $ form = $ v ->form ();
113
-
114
- echo '
115
- <dd>
116
- <dt><label class="classic"> ' .
117
- form::radio ('translater_proposal_tool ' , $ k , $ k == $ translater ->proposal_tool ) . '
118
- ' . $ v ->getDesc () . '</label></dt><dd> ' .
119
- (empty ($ form ) ?
120
- '<p> ' . sprintf (__ ('Nothing to configure for %s tool . ' ), $ v ->getName ()) . '</p> ' :
121
- $ form
122
- ) . '</dd></dl> ' ;
27
+ foreach ($ translater ->getDefaultSettings () as $ k => $ v ) {
28
+ $ translater ->setSetting ($ k , (isset ($ _POST [$ k ]) ? $ _POST [$ k ] : '' ));
29
+ }
30
+ dcPage::addSuccessNotice (
31
+ __ ('Configuration successfully updated. ' )
32
+ );
33
+ $ core ->adminurl ->redirect (
34
+ 'admin.plugins ' ,
35
+ ['module ' => 'translater ' , 'conf ' => 1 , 'redir ' => $ list ->getRedir ()]
36
+ );
37
+ } catch (Exception $ e ) {
38
+ $ core ->error ->add ($ e ->getMessage ());
39
+ }
123
40
}
124
41
125
42
echo '
43
+ <div class="fieldset"><h4> ' . __ ('Translation ' ) . '</h4>
44
+ <p><label for="write_po"> ' .
45
+ form::checkbox ('write_po ' , '1 ' ,$ translater ->write_po ) .
46
+ __ ('Write .po files ' ) . '</label></p>
47
+ <p><label for="write_langphp"> ' .
48
+ form::checkbox ('write_langphp ' , '1 ' , $ translater ->write_langphp ) .
49
+ __ ('Write .lang.php files ' ) . '</label></p>
50
+ <p><label for="scan_tpl"> ' .
51
+ form::checkbox ('scan_tpl ' , '1 ' , $ translater ->scan_tpl ) .
52
+ __ ('Translate also strings of template files ' ) . '</label></p>
53
+ <p><label for="parse_nodc"> ' .
54
+ form::checkbox ('parse_nodc ' , '1 ' , $ translater ->parse_nodc ) .
55
+ __ ('Translate only unknow strings ' ) . '</label></p>
56
+ <p><label for="hide_default"> ' .
57
+ form::checkbox ('hide_default ' , '1 ' , $ translater ->hide_default ) .
58
+ __ ('Hide default modules of Dotclear ' ) . '</label></p>
59
+ <p><label for="parse_comment"> ' .
60
+ form::checkbox ('parse_comment ' , '1 ' , $ translater ->parse_comment ) .
61
+ __ ('Write comments in files ' ) . '</label></p>
62
+ <p><label for="parse_user"> ' .
63
+ form::checkbox ('parse_user ' , '1 ' , $ translater ->parse_user ) .
64
+ __ ('Write informations about author in files ' ) . '</label></p>
65
+ <p><label for="parse_userinfo"> ' . __ ('User info: ' ) . '</label> ' .
66
+ form::field ('parse_userinfo ' , 65 , 255 , $ translater ->parse_userinfo ) . '</p>
67
+ <p class="form-note"> ' . sprintf (
68
+ __ ('Following informations can be used: %s ' ), implode (', ' , $ translater ::$ allowed_user_informations )) . '
69
+ </p>
126
70
</div>
127
71
128
- <div class="fieldset">
129
- <h4> ' . __ ('Import/Export ' ) . '</h4>
130
- <p><label class="classic"> ' .
131
- form::checkbox ('translater_import_overwrite ' , '1 ' , $ translater ->import_overwrite ) . '
132
- ' . __ ('Overwrite existing languages ' ) . '</label></p>
133
- <p><label class="classic"> ' . __ ('Name of exported package ' ) . '<br />
134
- ' . form::field ('translater_export_filename ' , 65 , 255 , $ translater ->export_filename ) . '</label></p>
72
+ <div class="fieldset"><h4> ' . __ ('Import/Export ' ) . '</h4>
73
+ <p><label for="import_overwrite"> ' .
74
+ form::checkbox ('import_overwrite ' , '1 ' , $ translater ->import_overwrite ) .
75
+ __ ('Overwrite existing languages ' ) . '</label></p>
76
+ <p><label for="export_filename"> ' . __ ('Name of exported package: ' ) . '</label> ' .
77
+ form::field ('export_filename ' , 65 , 255 , $ translater ->export_filename ) . '</p>
135
78
</div>
136
79
137
- <div class="fieldset">
138
- <h4> ' . __ ('Backups ' ) . '</h4>
139
- <p><label class="classic"> ' .
140
- form::checkbox ('translater_backup_auto ' , '1 ' , $ translater ->backup_auto ) . '
141
- ' . __ ('Make backups when changes are made ' ) . '</label></p>
142
- <p><label class="classic"> ' . sprintf (__ ('Limit backups to %s files per module ' ),
143
- form::combo ('translater_backup_limit ' ,
144
- array_flip ($ combo_backup_limit ), $ translater ->backup_limit )) . '</label></p>
145
- <p><label class="classic"> ' . sprintf (__ ('Store backups in %s ' ),
146
- form::combo ('translater_backup_folder ' ,
147
- array_flip ($ combo_backup_folder ), $ translater ->backup_folder )) . '</label></p>
80
+ <div class="fieldset"><h4> ' . __ ('Backups ' ) . '</h4>
81
+ <p><label for="backup_auto"> ' .
82
+ form::checkbox ('backup_auto ' , '1 ' , $ translater ->backup_auto ) .
83
+ __ ('Make backups when changes are made ' ) . '</label></p>
84
+ <p><label for="backup_limit" class="classic"> ' . sprintf (__ ('Limit backups to %s files per module ' ),
85
+ form::number ('backup_limit ' , ['min ' => 0 , 'max ' => 50 , 'default ' => $ translater ->backup_limit ])) . '</label></p>
86
+ <p><label for="backup_folder"> ' . __ ('Store backups in: ' ) . '</label> ' .
87
+ form::combo ('backup_folder ' , $ translater ::$ allowed_backup_folders , $ translater ->backup_folder ) . '</p>
148
88
</div>
149
89
150
- <div class="fieldset">
151
- <h4> ' . __ ('Behaviors ' ) . '</h4>
152
- <p><label class="classic"> ' . __ ('Default start menu: ' ) . '<br /> ' .
153
- form::combo ('translater_start_page ' ,
154
- array_flip ($ combo_start_page ), $ translater ->start_page ) . '</label></p>
155
- <p><label class="classic"> ' .
156
- form::checkbox ('translater_plugin_menu ' , '1 ' , $ translater ->plugin_menu ) . '
157
- ' . __ ('Enable menu on extensions page ' ) . '</label></p>
158
- <p><label class="classic"> ' .
159
- form::checkbox ('translater_theme_menu ' , '1 ' , $ translater ->theme_menu ) . '
160
- ' . __ ('Enable menu on themes page ' ) . '</label></p>
161
- </div>
162
- ' ;
90
+ <div class="fieldset"><h4> ' . __ ('Behaviors ' ) . '</h4>
91
+ <p><label for="start_page"> ' . __ ('Default start menu: ' ) . '</label> ' .
92
+ form::combo ('start_page ' ,[
93
+ __ ('Plugins ' ) => 'plugin ' ,
94
+ __ ('Themes ' ) => 'theme ' ,
95
+ __ ('Home ' ) => '- '
96
+ ], $ translater ->start_page ) . '</p>
97
+ <p><label for="plugin_menu"> ' .
98
+ form::checkbox ('plugin_menu ' , '1 ' , $ translater ->plugin_menu ) .
99
+ __ ('Enable menu on extensions page ' ) . '</label></p>
100
+ <p><label for="theme_menu"> ' .
101
+ form::checkbox ('theme_menu ' , '1 ' , $ translater ->theme_menu ) .
102
+ __ ('Enable menu on themes page ' ) . '</label></p>
103
+ </div> ' ;
0 commit comments