Connect.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. /**
  3. * [Discuz!] (C)2001-2099 Comsenz Inc.
  4. * This is NOT a freeware, use is subject to license terms
  5. *
  6. * $Id: Connect.php 28957 2012-03-20 12:32:24Z houdelei $
  7. */
  8. if(!defined('IN_DISCUZ')) {
  9. exit('Access Denied');
  10. }
  11. class Cloud_Service_Server_Connect extends Cloud_Service_Server_Restful {
  12. protected static $_instance;
  13. public static function getInstance() {
  14. if (!(self::$_instance instanceof self)) {
  15. self::$_instance = new self();
  16. }
  17. return self::$_instance;
  18. }
  19. public function onConnectSetConfig($data) {
  20. global $_G;
  21. $settingFields = array('connectappid', 'connectappkey');
  22. if (!$data) {
  23. return false;
  24. }
  25. $setting = C::t('common_setting')->fetch_all(array('connect'));
  26. $connectData = (array)dunserialize($setting['connect']);
  27. if (!is_array($connectData)) {
  28. $connectData = array();
  29. }
  30. $settings = array();
  31. foreach($data as $k => $v) {
  32. if (in_array($k, $settingFields)) {
  33. $settings[$k] = $v;
  34. } else {
  35. $connectData[$k] = $v;
  36. }
  37. }
  38. if ($connectData) {
  39. $settings['connect'] = $connectData;
  40. }
  41. if ($settings) {
  42. C::t('common_setting')->update_batch($settings);
  43. return true;
  44. }
  45. return false;
  46. }
  47. }