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