setting.mod.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. /**
  3. * [WeEngine System] Copyright (c) 2014 WE7.CC
  4. * WeEngine is NOT a free software, it under the license terms, visited http://www.we7.cc/ for more details.
  5. */
  6. defined('IN_IA') or exit('Access Denied');
  7. function setting_save($data = '', $key = '') {
  8. if (empty($data) && empty($key)) {
  9. return FALSE;
  10. }
  11. if (is_array($data) && empty($key)) {
  12. foreach ($data as $key => $value) {
  13. $record[] = "('$key', '" . iserializer($value) . "')";
  14. }
  15. if ($record) {
  16. $return = pdo_query("REPLACE INTO " . tablename('core_settings') . " (`key`, `value`) VALUES " . implode(',', $record));
  17. }
  18. } else {
  19. $record = array();
  20. $record['key'] = $key;
  21. $record['value'] = iserializer($data);
  22. $return = pdo_insert('core_settings', $record, TRUE);
  23. }
  24. $cachekey = "setting";
  25. cache_write($cachekey, '');
  26. return $return;
  27. }
  28. function setting_load($key = '') {
  29. global $_W;
  30. $cachekey = "setting";
  31. $settings = cache_load($cachekey);
  32. if (empty($settings)) {
  33. $settings = pdo_fetchall('SELECT * FROM ' . tablename('core_settings'), array(), 'key');
  34. if (is_array($settings)) {
  35. foreach ($settings as $k => &$v) {
  36. $settings[$k] = iunserializer($v['value']);
  37. }
  38. }
  39. cache_write($cachekey, $settings);
  40. }
  41. if (!is_array($_W['setting'])) {
  42. $_W['setting'] = array();
  43. }
  44. $_W['setting'] = array_merge($_W['setting'], $settings);
  45. if (!empty($key)) {
  46. return array($key => $settings[$key]);
  47. } else {
  48. return $settings;
  49. }
  50. }
  51. function setting_upgrade_version($family, $version, $release) {
  52. $verfile = IA_ROOT . '/framework/version.inc.php';
  53. $verdat = <<<VER
  54. <?php
  55. /**
  56. * [WeEngine System] Copyright (c) 2014 WE7.CC
  57. * WeEngine is NOT a free software, it under the license terms, visited http://www.we7.cc/ for more details.
  58. */
  59. defined('IN_IA') or exit('Access Denied');
  60. define('IMS_FAMILY', '{$family}');
  61. define('IMS_VERSION', '{$version}');
  62. define('IMS_RELEASE_DATE', '{$release}');
  63. VER;
  64. return file_put_contents($verfile, trim($verdat));
  65. }