function getOutputData() { $format = ACloud_Sys_Core_Common::getGlobal('acloud_api_output_format'); list($data, $charset) = array(array('code' => $this->getErrorCode(), 'info' => $this->getResponseData()), ACloud_Sys_Core_Common::getGlobal('g_charset')); $formatService = ACloud_Sys_Core_Common::loadSystemClass('format'); return $formatService->format($data, $format, $charset); }
function getAppOutPut() { $data = array(); $sign = ACloud_Sys_Core_Common::getSiteSign(); $data['src'] = SCR; $data['url'] = ACloud_Sys_Core_Common::getGlobal('g_siteurl', $_SERVER['SERVER_NAME']); $data['sn'] = ACloud_Sys_Core_Common::getSiteUnique(); $data['fid'] = ACloud_Sys_Core_Common::getGlobal('fid', 0); $data['uid'] = ACloud_Sys_Core_Common::getGlobal('winduid', 0); $data['tid'] = ACloud_Sys_Core_Common::getGlobal('tid', 0); $data[$sign] = ACloud_Ver_Core_App::getSyncData($sign); $data['charset'] = ACloud_Sys_Core_Common::getGlobal('g_charset', 'gbk'); $data['username'] = ACloud_Sys_Core_Common::getGlobal('windid', 0); $data['title'] = ACloud_Sys_Core_Common::getGlobal('subject', ''); $data['_ua'] = ACloud_Sys_Core_Common::getSiteUserAgent(); $data['_shr'] = base64_encode(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''); $data['_sqs'] = base64_encode(isset($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : ''); $data['_ssn'] = base64_encode(isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] : ''); $data['_t'] = ACloud_Sys_Core_Common::getGlobal('timestamp') + 86400; $data['_v'] = rand(1000, 9999); require_once ACLOUD_PATH . '/system/core/sys.core.http.php'; $url = sprintf("http://%s/?%s", ACLOUD_HOST_APP, ACloud_Sys_Core_Http::httpBuildQuery($data)); $output = "<script type=\"text/javascript\">(function(d,t){var url=\"{$url}\";var g=d.createElement(t);g.async=1;g.src=url;d.body.insertBefore(g,d.body.firstChild);}(document,\"script\"));</script>"; return $output; }
function sendPost($data) { require_once ACLOUD_PATH . '/system/core/sys.core.httpclient.php'; $data = ACloud_Sys_Core_Http::httpBuildQuery($data); $result = ACloud_Sys_Core_HttpClient::post(ACloud_Sys_Core_Http::getCloudApi(), $data); return ACloud_Sys_Core_Common::jsonDecode($result); }
function buildResponse($errorCode, $responseData = array()) { $response = ACloud_Sys_Core_Common::loadSystemClass('response'); $response->setErrorCode($errorCode); $response->setResponseData($responseData); return $response->getOutputData(); }
function ACloud_Ver_Customized_Base() { $daoObject = ACloud_Sys_Core_Common::getGlobal(ACLOUD_OBJECT_DAO); $daoObject->getDB(); list($currentUid) = ACloud_Sys_Core_S::gp('current_uid'); ACloud_Sys_Core_Common::setGlobal('customized_current_uid', $currentUid); }
function Showmsg($msg_info) { $msg_info = getLangInfo('msg', $msg_info); $response = ACloud_Sys_Core_Common::loadSystemClass('response'); $response->setErrorCode(99999); $response->setResponseData($msg_info); echo $response->getOutputData(); exit; }
function resetConfig() { $extrasDao = ACloud_Sys_Core_Common::loadSystemClass('extras', 'config.dao'); $extrasDao->deleteAll(); $appsDao = ACloud_Sys_Core_Common::loadSystemClass('apps', 'config.dao'); $appsDao->deleteAll(); $appConfigsDao = ACloud_Sys_Core_Common::loadSystemClass('app.configs', 'config.dao'); $appConfigsDao->deleteAll(); return true; }
function createSignWithOAuth($data) { $keysService = ACloud_Sys_Core_Common::loadSystemClass('keys', 'config.service'); $key1 = $keysService->getKey1(1); if (!$key1 || strlen($key1) != 128 || !is_array($data) || count($data) < 4) { return ''; } require_once ACLOUD_PATH . '/system/core/sys.core.oauth.php'; return ACloud_Sys_Core_OAuth::createHttpSign(ACloud_Sys_Core_OAuth::createHttpQuery($data) . $key1); }
function buildPostParams($method, $data) { $params = array(); $params['method'] = $method; $params['version'] = ACLOUD_V; $params['siteurl'] = ACloud_Sys_Core_Common::getGlobal('g_siteurl'); $params['sitename'] = ACloud_Sys_Core_Common::getGlobal('g_sitename'); $params['charset'] = ACloud_Sys_Core_Common::getGlobal('g_charset'); $params['ip'] = ACloud_Sys_Core_Common::getIp(); $params['ua'] = $_SERVER['HTTP_USER_AGENT']; $params['posttime'] = time(); return $params; }
function ipControl($ips = array()) { $ip = ACloud_Sys_Core_Common::getIp(); if ($this->spiderControl() || !$ip) { return false; } list($ip1, $ip2, $ip3) = explode(".", $ip); $envService = ACloud_Sys_Core_Common::loadSystemClass('env', 'open.service'); if (!in_array($ip1 . "." . $ip2 . "." . $ip3 . ".x", $envService->getIpLists())) { return false; } return true; }
function get($apiSetting, $request) { $sqlBuilder = ACloud_Sys_Core_Common::loadSystemClass('sqlbuilder'); $sql = $sqlBuilder->buildSelectSql($apiSetting, $request); if (!$sql) { return array(4006, array()); } $generalDataService = ACloud_Sys_Core_Common::loadSystemClass('generaldata', 'config.service'); $data = $generalDataService->executeSql($sql); if ($data === false) { return array(4007, array()); } return array(0, $data); }
function buildPostParams($method, $data) { $params = array(); $params['method'] = $method; $params['charset'] = ACloud_Sys_Core_Common::getGlobal('g_charset'); $params['verify'] = $data['verify']; $params['sourcesign'] = $data['sourcesign']; $params['footprint'] = $data['footprint']; $params['identifier'] = $data['identifier']; $params['verifycode'] = $data['verifycode']; $params['securecode'] = $data['securecode']; $params['launchtime'] = $data['launchtime']; $params['step'] = $data['step']; $params['install'] = $data['install']; $params['ip'] = ACloud_Sys_Core_Common::getIp(); $params['ua'] = $_SERVER['HTTP_USER_AGENT']; $params['posttime'] = time(); $params['siteurl'] = ACloud_Sys_Core_Common::getGlobal('g_siteurl'); $params['sitename'] = ACloud_Sys_Core_Common::getGlobal('g_sitename'); return $params; }
function init($rights) { global $winduid, $windid, $groupid, $winddb; $uid = ACloud_Sys_Core_Common::getGlobal('customized_current_uid', 0); if ($uid > 0) { $detail = $this->getUserByUid($uid, $rights); $this->uid = $uid; $this->username = $detail['username']; $this->groupid = $groupid = $detail['groupid'] == '-1' ? $detail['memberid'] : $detail['groupid']; $detail['groups'] = $detail['groups'] ? explode(',', trim(',', $detail['groups'])) : array(); list($detail['shortcut'], $detail['appshortcut']) = explode("\t", $detail['shortcut']); unset($detail['password']); $this->info = $detail; $winddb = $detail; $winduid = $uid; $windid = $this->username; } else { $this->username = ''; $this->uid = 0; $this->groupid = 'guest'; } }
function getAllTablePartitions() { list($result, $threadInfo, $postInfo) = array(array(), ACloud_Sys_Core_Common::getGlobal('db_tlist'), ACloud_Sys_Core_Common::getGlobal('db_plist')); $result['tmsgs'] = array('pw_tmsgs'); $result['posts'] = array('pw_posts'); if ($threadInfo) { foreach ($threadInfo as $k => $v) { if (!$k) { continue; } $result['tmsgs'][] = 'pw_tmsgs' . intval($k); } } if ($postInfo) { foreach ($postInfo as $k => $v) { if (!$k) { continue; } $result['posts'][] = 'pw_posts' . intval($k); } } return $result; }
function convert($str, $toEncoding, $fromEncoding, $ifMb = true) { if (strtolower($toEncoding) == strtolower($fromEncoding)) { return $str; } is_object($str) && ($str = get_object_vars($str)); if (is_array($str)) { foreach ($str as $key => $value) { is_object($value) && ($value = get_object_vars($value)); $str[$key] = ACloud_Sys_Core_Common::convert($value, $toEncoding, $fromEncoding, $ifMb); } return $str; } else { if (function_exists('mb_convert_encoding') && $ifMb) { return mb_convert_encoding($str, $toEncoding, $fromEncoding); } else { static $sConvertor = null; !$toEncoding && ($toEncoding = 'GBK'); !$fromEncoding && ($fromEncoding = 'GBK'); if (!isset($sConvertor) && !is_object($sConvertor)) { require_once ACLOUD_PATH . '/system/core/sys.core.charset.php'; $sConvertor = new ACloud_Sys_Core_Charset(); } return $sConvertor->Convert($str, $fromEncoding, $toEncoding, !$ifMb); } } }
function getDataByPrimaryKeyRange($tableSetting, $start, $end) { $generalDataService = ACloud_Sys_Core_Common::loadSystemClass('generaldata', 'config.service'); $dataSql = sprintf('SELECT * FROM %s WHERE %s >= %s AND %s <= %s', ACloud_Sys_Core_S::sqlMetadata($tableSetting['name']), ACloud_Sys_Core_S::sqlMetadata($tableSetting['primary_key']), ACloud_Sys_Core_S::sqlEscape($start), ACloud_Sys_Core_S::sqlMetadata($tableSetting['primary_key']), ACloud_Sys_Core_S::sqlEscape($end)); return $generalDataService->executeSql($dataSql); }
function getDB() { return ACloud_Sys_Core_Common::getGlobal(ACLOUD_OBJECT_DAO)->getDB(); }
function operateAddLog($tableName, $fields) { require_once ACLOUD_PATH . '/system/core/sys.core.common.php'; list($type, $insertId) = array(ACloud_Ver_DataFlow_Aggregate::getTypeByTableName($tableName), $fields['insertid']); if (is_null($type) || !$insertId) { return false; } $sign = ACloud_Sys_Core_Common::getSiteSign(); return setcookie('_ac_' . $sign, intval($type), time() + 60); }
function getFanByUid($uid, $offset, $limit) { list($uid, $offset, $limit) = array(intval($uid), intval($offset), intval($limit)); if ($uid < 1) { $this->buildResponse(Friend_INVALID_PARAMS); } $attentionService = L::loadClass('Attention', 'friend'); $count = $attentionService->countFans($uid); if ($count < 1) { return $this->buildResponse(0, array()); } $sqlLimit = $offset > 0 ? ' AND f.uid < ' . S::sqlEscape($offset) : ''; $sql = "SELECT m.uid,m.username,m.icon as face,m.honor,m.groupid,m.memberid,m.gender,md.thisvisit,md.lastvisit,md.fans FROM pw_attention f LEFT JOIN pw_members m ON f.uid = m.uid" . " LEFT JOIN pw_memberdata md ON f.uid = md.uid" . " WHERE f.friendid=" . S::sqlEscape($uid) . " {$sqlLimit} ORDER BY f.uid DESC LIMIT " . intval($limit); $query = $GLOBALS['db']->query($sql); require_once R_P . 'require/showimg.php'; $result = array(); while ($rt = $GLOBALS['db']->fetch_array($query)) { $tmpIcon = showfacedesign($rt['face'], 1, 's'); $result[$rt['uid']] = array('uid' => $rt['uid'], 'username' => $rt['username'], 'face' => $tmpIcon[0]); } $currentUid = ACloud_Sys_Core_Common::getGlobal('customized_current_uid', 0); $followIds = $this->getUids($attentionService->getFollowList($currentUid), 'friendid'); $result = $this->buildFriendList($uid, $result, $followIds); return $this->buildResponse(0, array('friends' => $result, 'count' => $count)); }
function sendPost($tid, $uid, $title, $content) { global $winddb, $winduid, $windid, $groupid, $fid, $timestamp, $pwforum, $pwpost, $_G, $db_uploadfiletype, $uploadcredit, $uploadmoney, $manager, $isBM, $_time; $timestamp = time(); $_time = array('hours' => get_date($timestamp, 'G'), 'day' => get_date($timestamp, 'j'), 'week' => get_date($timestamp, 'w')); list($uid, $tid, $title, $content) = array(intval($uid), intval($tid), trim($title), trim($content)); if ($uid < 1 || $tid < 1 || !$content) { return $this->buildResponse(THREAD_INVALID_PARAMS); } ACloud_Sys_Core_Common::setGlobal('customized_current_uid', $uid); $user = $this->getCurrentUser(); if (!$user->isLogin()) { return $this->buildResponse(USER_NOT_LOGIN); } if ($user->groupid == 6 || getstatus($user->info['userstatus'], PW_USERSTATUS_BANUSER)) { return $this->buildResponse(THREAD_USER_NOT_RIGHT); } $user->initRight(); $winduid = $user->uid; $groupid = $user->groupid; $windid = $user->username; $winddb = $user->info; $_G = $user->_G; if ($_G['postlimit'] && $winddb['todaypost'] >= $_G['postlimit']) { return $this->buildResponse(POST_GP_LIMIT); } $tpcarray = $GLOBALS['db']->get_one("SELECT t.tid,t.fid,t.locked,t.ifcheck,t.author,t.authorid,t.postdate,t.lastpost,t.ifmail,t.special,t.subject,t.type,t.ifshield,t.anonymous,t.ptable,t.replies,t.tpcstatus FROM pw_threads t WHERE t.tid=" . pwEscape($tid)); L::loadClass('forum', 'forum', false); $pwforum = new PwForum($tpcarray['fid']); if (!$pwforum->isForum()) { return $this->buildResponse(THREAD_FORUM_NOT_EXIST); } $fid = $tpcarray['fid']; $isBM = $pwforum->isBM($windid); $isGM = S::inArray($windid, $manager); if (!$isGM && $tpcarray['locked'] % 3 != 0 && !pwRights($isBM, 'replylock')) { return $this->buildResponse(THREAD_LOCKED); } L::loadClass('post', 'forum', false); require_once ACLOUD_VERSION_PATH . '/customized/ver.customized.bbscode.php'; $pwpost = new PwPost($pwforum); $pwpost->errMode = true; $pwpost->forumcheck(); $pwpost->postcheck(); L::loadClass('replypost', 'forum', false); $replypost = new replyPost($pwpost); $replypost->setTpc($tpcarray); $replypost->check(); $pw_posts = GetPtable($replypost->tpcArr['ptable']); $postdata = new replyPostData($pwpost); $postdata->setTitle($title); $postdata->setContent($content); $postdata->conentCheck(); if ($pwpost->errMsg && ($msg = reset($pwpost->errMsg))) { return $this->buildResponse(THREAD_SYSTEM_ERROR, $msg); } require_once ACLOUD_VERSION_PATH . '/customized/ver.customized.attupload.php'; if (PwUpload::getUploadNum()) { $_G['uploadtype'] && ($db_uploadfiletype = $_G['uploadtype']); $db_uploadfiletype = !empty($db_uploadfiletype) ? is_array($db_uploadfiletype) ? $db_uploadfiletype : unserialize($db_uploadfiletype) : array(); $postdata->att = new AttUpload($user->uid); $return = $postdata->att->check(); if ($return) { $msginfo = getLangInfo('msg', $return); return $this->errMessage(THREAD_USER_NOT_RIGHT, $msginfo); } list($windVersion) = explode(',', WIND_VERSION); if ($windVersion && $windVersion < '8.5') { $postdata->att->transfer(); PwUpload::upload($postdata->att); } } $replypost->execute($postdata); $pid = $replypost->getNewId(); return $this->buildResponse(0, array('pid' => $pid)); }
function replyMessage($messageId, $relationId, $uid, $content) { list($messageId, $relationId, $uid, $content) = array(intval($messageId), intval($relationId), intval($uid), trim($content)); if ($messageId < 1 || $relationId < 1 || $uid < 1 || !$content) { return $this->buildResponse(MESSAGE_INVALID_PARAMS); } ACloud_Sys_Core_Common::setGlobal('customized_current_uid', intval($uid)); $user = $this->getCurrentUser(); if (!$user->isLogin()) { return $this->buildResponse(USER_NOT_LOGIN); } $user->initRight(); $GLOBALS['winduid'] = $user->uid; $GLOBALS['windid'] = $user->username; $GLOBALS['groupid'] = $user->groupid; $GLOBALS['winddb'] = $user->info; $GLOBALS['_G'] = $user->_G; $messageService = $this->getMessageService(); $message = $messageService->getMessage($messageId); $messageInfo = array('create_uid' => $user->uid, 'create_username' => $user->username, 'title' => $message['title'], 'content' => $content); $replyId = $messageService->sendReply($user->uid, $relationId, $messageId, $messageInfo); return $this->buildResponse(0, array('replyid' => $replyId)); }
function buildPostParams($data = array()) { $params = array(); $params['siteurl'] = ACloud_Sys_Core_Common::getGlobal('g_siteurl', 'http://' . $_SERVER['HTTP_HOST']); $params['charset'] = ACloud_Sys_Core_Common::getGlobal('g_charset'); $params['footprint'] = ACloud_Sys_Core_Common::randCode(60); $params['version'] = ACLOUD_V; $params['accesstime'] = time(); return array_merge($params, is_array($data) ? $data : array()); }
function postThread($uid, $fid, $subject, $content) { global $winddb, $winduid, $windid, $groupid, $_G, $timestamp, $pwforum, $pwpost, $uploadcredit, $uploadmoney, $db_uploadfiletype, $_time; $timestamp = time(); $_time = array('hours' => get_date($timestamp, 'G'), 'day' => get_date($timestamp, 'j'), 'week' => get_date($timestamp, 'w')); list($uid, $fid, $subject, $content) = array(intval($uid), intval($fid), trim($subject), trim($content)); if ($uid < 1 || $fid < 1 || !$subject || !$content) { return $this->buildResponse(THREAD_INVALID_PARAMS); } ACloud_Sys_Core_Common::setGlobal('customized_current_uid', $uid); $user = $this->getCurrentUser(); if (!$user->isLogin()) { return $this->buildResponse(USER_NOT_LOGIN); } if ($user->groupid == 6 || getstatus($user->info['userstatus'], PW_USERSTATUS_BANUSER)) { return $this->buildResponse(THREAD_USER_NOT_RIGHT); } $user->initRight(); $winduid = $user->uid; $groupid = $user->groupid; $windid = $user->username; $winddb = $user->info; $_G = $user->_G; if ($_G['postlimit'] && $winddb['todaypost'] >= $_G['postlimit']) { return $this->buildResponse(POST_GP_LIMIT); } L::loadClass('forum', 'forum', false); $pwforum = new PwForum($fid); if (!$pwforum->isForum()) { return $this->buildResponse(THREAD_FORUM_NOT_EXIST); } list($uploadcredit, $uploadmoney, , ) = explode("\t", $pwforum->forumset['uploadset']); L::loadClass('post', 'forum', false); require_once ACLOUD_VERSION_PATH . '/customized/ver.customized.bbscode.php'; $pwpost = new PwPost($pwforum); $pwpost->errMode = true; $pwpost->forumcheck(); $pwpost->postcheck(); L::loadClass('topicpost', 'forum', false); $topicpost = new topicPost($pwpost); $topicpost->check(); $postdata = new topicPostData($pwpost); $postdata->setWtype('', '', $pwforum->foruminfo['t_type'], $pwforum->foruminfo['topictype']); $postdata->setTitle($subject); $postdata->setContent($content); $postdata->setConvert(1, 1); $postdata->setTags(''); $postdata->setDigest(''); $postdata->setTopped(''); $postdata->setIfsign(1, 0); if ($pwpost->errMsg && ($msg = reset($pwpost->errMsg))) { return $this->buildResponse(THREAD_SYSTEM_ERROR, $msg); } require_once ACLOUD_VERSION_PATH . '/customized/ver.customized.attupload.php'; if (PwUpload::getUploadNum()) { $_G['uploadtype'] && ($db_uploadfiletype = $_G['uploadtype']); $db_uploadfiletype = !empty($db_uploadfiletype) ? is_array($db_uploadfiletype) ? $db_uploadfiletype : unserialize($db_uploadfiletype) : array(); $postdata->att = new AttUpload($user->uid); $return = $postdata->att->check(); if ($return) { $msginfo = getLangInfo('msg', $return); return $this->buildResponse(THREAD_USER_NOT_RIGHT); } list($windVersion) = explode(',', WIND_VERSION); if ($windVersion && $windVersion < '8.5') { PwUpload::upload($postdata->att); $postdata->att->transfer(); } } $topicpost->execute($postdata); $tid = $topicpost->getNewId(); return $this->buildResponse(0, array('tid' => $tid)); }
function updateEmail($uid, $email) { $uid = intval($uid); if ($uid < 1) { return $this->buildResponse(USER_INVALID_PARAMS); } ACloud_Sys_Core_Common::setGlobal('customized_current_uid', intval($uid)); $user = $this->getCurrentUser(); if (!$user->isLogin()) { return $this->buildResponse(USER_NOT_LOGIN); } $email = trim($email) ? trim($email) : ''; $query = $GLOBALS['db']->query("UPDATE pw_members SET email=" . S::sqlEscape($email) . " WHERE uid = " . S::sqlEscape($uid)); return $this->buildResponse(0, array('uid' => $uid)); }
function createACloudTables() { require_once R_P . 'aCloud/aCloud.php'; $createTable = ACloud_Sys_Core_Common::loadSystemClass('createtable', 'config.dao'); return $createTable->initTables(); }
function getKeysService() { return ACloud_Sys_Core_Common::loadSystemClass('keys', 'config.service'); }
function getAppConfigsDao() { return ACloud_Sys_Core_Common::loadSystemClass('app.configs', 'config.dao'); }
function proxyAction() { print_r($this->getProxyPage(ACloud_Sys_Core_Common::getGlobal('g_charset', 'gbk'))); exit; }
function getRequestArgumentValue($param, $request) { $charset = ACloud_Sys_Core_Common::getGlobal('g_charset'); return isset($request[$param]) ? ACloud_Sys_Core_Common::convert($request[$param], $charset, 'UTF-8') : null; }
function getKeysDao() { return ACloud_Sys_Core_Common::loadSystemClass('keys', 'config.dao'); }