Revision 2098
Added by darkviper over 10 years ago
save.php | ||
---|---|---|
26 | 26 |
//require_once(WB_PATH.'/framework/class.admin.php'); |
27 | 27 |
|
28 | 28 |
// Include config file |
29 |
$config_file = realpath('../../config.php'); |
|
30 |
if(file_exists($config_file) && !defined('WB_URL')) |
|
31 |
{ |
|
32 |
require($config_file); |
|
29 |
if (!defined('WB_URL')) { |
|
30 |
require('../../config.php'); |
|
33 | 31 |
} |
32 |
$oDb = WbDatabase::getInstance(); |
|
33 |
$oTrans = Translate::getInstance(); |
|
34 |
$oTrans->enableAddon('admin\\settings'); |
|
34 | 35 |
|
35 |
if(!class_exists('admin', false)){ include(WB_PATH.'/framework/class.admin.php'); } |
|
36 |
|
|
37 | 36 |
require_once(WB_PATH.'/framework/functions.php'); |
38 |
|
|
39 | 37 |
// suppress to print the header, so no new FTAN will be set |
40 |
if($advanced == '') |
|
41 |
{ |
|
38 |
if ($advanced == '') { |
|
42 | 39 |
$admin = new admin('Settings', 'settings_basic',false); |
43 | 40 |
} else { |
44 | 41 |
$admin = new admin('Settings', 'settings_advanced',false); |
... | ... | |
49 | 46 |
if( !$admin->checkFTAN() ) |
50 | 47 |
{ |
51 | 48 |
$admin->print_header(); |
52 |
$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],$js_back );
|
|
49 |
$admin->print_error($oTrans->MESSAGE_GENERIC_SECURITY_ACCESS, $js_back );
|
|
53 | 50 |
} |
54 | 51 |
// After check print the header |
55 | 52 |
$admin->print_header(); |
56 |
|
|
53 |
$oTrans->enableAddon('admin\\settings'); |
|
57 | 54 |
// Ensure that the specified default email is formally valid |
58 | 55 |
if(isset($_POST['server_email'])) |
59 | 56 |
{ |
... | ... | |
63 | 60 |
// if(false == preg_match($pattern, $_POST['server_email'])) |
64 | 61 |
if(!$admin->validate_email($_POST['server_email'])) |
65 | 62 |
{ |
66 |
$admin->print_error($MESSAGE['USERS_INVALID_EMAIL'].
|
|
63 |
$admin->print_error($oTrans->MESSAGE_USERS_INVALID_EMAIL.
|
|
67 | 64 |
'<br /><strong>Email: '.htmlentities($_POST['server_email']).'</strong>', $js_back); |
68 | 65 |
} |
69 | 66 |
} |
... | ... | |
78 | 75 |
// $checkSmtpPassword = (isset($_POST['wbmailer_smtp_password']) && ($_POST['wbmailer_smtp_password']=='') ? false : true); |
79 | 76 |
|
80 | 77 |
if(!$checkSmtpHost || !$checkSmtpUser || !$checkSmtpPassword) { |
81 |
$admin->print_error($TEXT['REQUIRED'].' '.$TEXT['WBMAILER_SMTP_AUTH'].
|
|
82 |
'<br /><strong>'.$MESSAGE['GENERIC_FILL_IN_ALL'].'</strong>', $js_back);
|
|
78 |
$admin->print_error($oTrans->TEXT_REQUIRED.' '.$oTrans->TEXT_WBMAILER_SMTP_AUTH.
|
|
79 |
'<br /><strong>'.$oTrans->MESSAGE_GENERIC_FILL_IN_ALL.'</strong>', $js_back);
|
|
83 | 80 |
} |
84 | 81 |
|
85 | 82 |
} |
... | ... | |
214 | 211 |
//$settings = array(); |
215 | 212 |
//$old_settings = array(); |
216 | 213 |
// Query current settings in the db, then loop through them to get old values |
217 |
$sql = 'SELECT `name`, `value` FROM `'.TABLE_PREFIX.'settings`';
|
|
218 |
$sql .= 'ORDER BY `name`';
|
|
214 |
$sql = 'SELECT `name`, `value` FROM `'.$oDb->TablePrefix.'settings` '
|
|
215 |
. 'ORDER BY `name`';
|
|
219 | 216 |
|
220 |
if($res_settings = $database->query($sql)) { |
|
221 |
$iQueryStart = $database->getQueryCount; |
|
222 |
while($setting = $res_settings->fetchRow(MYSQL_ASSOC)) |
|
223 |
{ |
|
217 |
if (($res_settings = $oDb->doQuery($sql))) { |
|
218 |
$iQueryStart = $oDb->QueryCount; |
|
219 |
while ($setting = $res_settings->fetchRow(MYSQL_ASSOC)) { |
|
224 | 220 |
$passed = false; |
225 | 221 |
$setting_name = $setting['name']; |
226 | 222 |
// $old_settings = $setting['value']; |
... | ... | |
234 | 230 |
$passed = ($value != $setting['value']); |
235 | 231 |
break; |
236 | 232 |
case 'string_dir_mode': |
237 |
$value=$dir_mode;
|
|
233 |
$value = $dir_mode;
|
|
238 | 234 |
$passed = ($value != $setting['value']); |
239 | 235 |
break; |
240 | 236 |
case 'string_file_mode': |
241 |
$value=$file_mode;
|
|
237 |
$value = $file_mode;
|
|
242 | 238 |
$passed = ($value != $setting['value']); |
243 | 239 |
break; |
244 | 240 |
case 'page_extension': |
... | ... | |
250 | 246 |
break; |
251 | 247 |
case 'sec_anchor': |
252 | 248 |
$value = $admin->StripCodeFromText($value); |
253 |
$value=(($value=='') ? 'Sec' : $value);
|
|
249 |
$value = (($value=='') ? 'Sec' : $value);
|
|
254 | 250 |
$passed = ($value != $setting['value']); |
255 | 251 |
break; |
256 | 252 |
case 'media_directory': |
... | ... | |
259 | 255 |
$passed = ($value != $setting['value']); |
260 | 256 |
break; |
261 | 257 |
case 'pages_directory': |
262 |
$sql = 'SELECT COUNT(*) FROM `'.TABLE_PREFIX.'pages`';
|
|
263 |
if( !($database->get_one($sql)) ) {
|
|
264 |
$value = rtrim($admin->StripCodeFromText($value));
|
|
265 |
$passed = ($value != $setting['value']);
|
|
266 |
}
|
|
267 |
$value = trim($value,'/');
|
|
268 |
$value = ( ($value != '') ? '/'.$value : '' );
|
|
269 |
break;
|
|
258 |
$sql = 'SELECT COUNT(*) FROM `'.$oDb->TablePrefix.'pages`';
|
|
259 |
if (!($oDb->getOne($sql))) {
|
|
260 |
$value = rtrim($admin->StripCodeFromText($value));
|
|
261 |
$passed = ($value != $setting['value']);
|
|
262 |
}
|
|
263 |
$value = trim($value,'/');
|
|
264 |
$value = ( ($value != '') ? '/'.$value : '' );
|
|
265 |
break;
|
|
270 | 266 |
default : |
271 |
if($value == '') {
|
|
267 |
if($value == '') { |
|
272 | 268 |
$passed = ((in_array($setting_name, $allow_empty_values)) && ($value != $setting['value'])); |
273 | 269 |
} else { |
274 | 270 |
if(in_array($setting_name, $StripCodeFromInput) ) { |
... | ... | |
283 | 279 |
{ |
284 | 280 |
$value = strip_tags($value); |
285 | 281 |
} |
286 |
if( !in_array($setting_name, $aPreventFromUpdate) && $passed ) |
|
287 |
// if ( !in_array($setting_name, $aPreventFromUpdate) && (isset($_POST[$setting_name]) || $passed == true) ) |
|
288 |
{ |
|
282 |
if (!in_array($setting_name, $aPreventFromUpdate) && $passed) { |
|
289 | 283 |
$value = trim($database->escapeString($value)); |
290 | 284 |
$sql = 'UPDATE `'.TABLE_PREFIX.'settings` '; |
291 | 285 |
$sql .= 'SET `value` = \''.($value).'\' '; |
292 | 286 |
$sql .= 'WHERE `name` != \'wb_version\' '; |
293 | 287 |
$sql .= 'AND `name` = \''.$setting_name.'\' '; |
294 |
if (!$database->query($sql)) |
|
295 |
{ |
|
296 |
if($database->is_error()) { |
|
297 |
$admin->print_error($database->get_error, $js_back ); |
|
288 |
if (!$oDb->doQuery($sql)) { |
|
289 |
if($oDb->isError()) { |
|
290 |
$admin->print_error($oDb->getError, $js_back ); |
|
298 | 291 |
} |
299 | 292 |
} |
300 | 293 |
} |
301 | 294 |
} |
302 |
$iQueriesDone = $database->getQueryCount - $iQueryStart;
|
|
295 |
$iQueriesDone = $oDb->QueryCount - $iQueryStart;
|
|
303 | 296 |
} |
304 | 297 |
|
305 | 298 |
/** |
... | ... | |
336 | 329 |
); |
337 | 330 |
|
338 | 331 |
// Query current search settings in the db, then loop through them and update the db with the new value |
339 |
$sql = 'SELECT `name`, `value` FROM `'.TABLE_PREFIX.'search` ';
|
|
340 |
$sql .= 'WHERE `extra` = \'\' ';
|
|
341 |
if( !($oSearch = $database->query($sql)) ) {
|
|
342 |
if($database->is_error()) {
|
|
343 |
$admin->print_error(explode(';',$database->get_error()), $js_back );
|
|
332 |
$sql = 'SELECT `name`, `value` FROM `'.$oDb->TablePrefix.'search` '
|
|
333 |
. 'WHERE `extra` = \'\' ';
|
|
334 |
if (!($oSearch = $oDb->doQuery($sql))) {
|
|
335 |
if ($oDb->isError()) {
|
|
336 |
$admin->print_error(explode(';',$oDb->getError()), $js_back );
|
|
344 | 337 |
} |
345 | 338 |
} |
346 | 339 |
|
... | ... | |
380 | 373 |
break; |
381 | 374 |
default : |
382 | 375 |
$passed = ($admin->get_post($sPostName) || in_array($sSearchName, $allow_empty_values)); |
383 |
|
|
384 |
if (!in_array($sSearchName, $allow_tags_in_fields)) |
|
385 |
{ |
|
376 |
if (!in_array($sSearchName, $allow_tags_in_fields)) { |
|
386 | 377 |
$value = strip_tags($value); |
387 | 378 |
} |
388 | 379 |
break; |
389 | 380 |
} |
390 | 381 |
|
391 |
if ( ($passed == true) ) |
|
392 |
{ |
|
393 |
$sql = 'UPDATE `'.TABLE_PREFIX.'search` '; |
|
394 |
$sql .= 'SET `value` = \''.$database->escapeString($value).'\' '; |
|
395 |
$sql .= 'WHERE `name` = \''.$sSearchName.'\' '; |
|
396 |
$sql .= 'AND `extra` = \'\' '; |
|
397 |
$database->query($sql); |
|
382 |
if (($passed == true)) { |
|
383 |
$sql = 'UPDATE `'.$oDb->TablePrefix.'search` ' |
|
384 |
. 'SET `value` = \''.$oDb->escapeString($value).'\' ' |
|
385 |
. 'WHERE `name` = \''.$sSearchName.'\' AND `extra` = \'\' '; |
|
386 |
$oDb->doQuery($sql); |
|
398 | 387 |
} |
399 | 388 |
} |
400 | 389 |
|
401 | 390 |
// Check if there was an error updating the db |
402 |
if($database->is_error()) {
|
|
403 |
$admin->print_error($database->get_error, $js_back );
|
|
391 |
if($oDb->isError()) {
|
|
392 |
$admin->print_error($oDb->getError, $js_back );
|
|
404 | 393 |
} else { |
405 |
// $admin->print_success($iQueriesDone.' Queries '.$MESSAGE['SETTINGS_SAVED'], $js_back ); |
|
406 |
$admin->print_success($MESSAGE['SETTINGS_SAVED'], $js_back ); |
|
394 |
$admin->print_success($oTrans->MESSAGE_SETTINGS_SAVED, $js_back ); |
|
407 | 395 |
} |
408 | 396 |
$admin->print_footer(); |
Also available in: Unified diff
! activate class Translate for all addons in admin/ (except pages/)
! class.admin >> add translation of the current theme to Translate