public function deleteSqlLogsByIds($ids) { if (!ACloudSysCoreS::isArray($ids)) { return false; } return $this->getSqlLogDao()->deleteSqlLogsByIds($ids); }
public function deleteSqlLogsByIds($ids) { if (!ACloudSysCoreS::isArray($ids)) { return false; } return $this->query(sprintf("DELETE FROM %s WHERE id IN (%s)", $this->tablename, ACloudSysCoreS::sqlImplode($ids))); }
public function updateApiConfigByApiName($apiName, $fields) { list($apiName, $fields) = array(trim($apiName), $this->checkFields($fields)); if (!$apiName || !ACloudSysCoreS::isArray($fields)) { return false; } return $this->getApisDao()->update($fields, $apiName); }
public function updateTableSettingByTableName($tableName, $fields) { list($tableName, $fields) = array(trim($tableName), $this->checkFields($fields)); if (!$tableName || !ACloudSysCoreS::isArray($fields)) { return false; } return $this->getTableSettingsDao()->update($fields, $tableName); }
public function formatDeleteIds($ids) { if (!ACloudSysCoreS::isArray($ids)) { return array(); } list($tableName, $primaryKey) = $this->getPrimaryKeyAndTable(); $result = array(); foreach ($ids as $id) { $result[] = array($primaryKey => intval($id)); } return $result; }
public function filterFields($data) { if (!ACloudSysCoreS::isArray($data)) { return $data; } $result = array(); foreach ($data as $key => $fields) { if (ACloudSysCoreS::isArray($fields)) { unset($fields['password'], $fields['safecv']); } $result[$key] = $fields; } return $result; }
public function getForumsByRange($startId, $endId) { list($startId, $endId) = array(intval($startId), intval($endId)); if ($startId < 0 || $startId > $endId || $endId < 1) { return array(); } $sql = sprintf("SELECT * FROM %s WHERE isshow = 1 AND fid >= %s AND fid <= %s", ACloudSysCoreS::sqlMetadata('{{bbs_forum}}'), ACloudSysCoreS::sqlEscape($startId), ACloudSysCoreS::sqlEscape($endId)); $query = Wind::getComponent('db')->query($sql); $result = $query->fetchAll(null, PDO::FETCH_ASSOC); if (!ACloudSysCoreS::isArray($result)) { return array(); } return $this->buildForumData($result); }
public function crawlSqlLog($startTime, $endTime, $page, $perpage) { list($startTime, $endTime, $page, $perpage) = array(intval($startTime), intval($endTime), intval($page), intval($perpage)); if ($startTime > $endTime) { return ''; } $page < 1 && ($page = 1); $perpage < 1 && ($perpage = $this->perpage); $sqlLogService = ACloudSysCoreCommon::loadSystemClass('sql.log', 'config.service'); $result = $sqlLogService->getSqlLogsByTimestamp($startTime, $endTime, $page, $perpage); if (!ACloudSysCoreS::isArray($result)) { return ''; } return $this->outputDataFlow($result); }
public function checkSecretKey($data) { if (!ACloudSysCoreS::isArray($data) || !isset($data['plaintext']) || !$data['plaintext'] || !isset($data['ciphertext']) || !$data['ciphertext']) { return array(false, 'apply_checkkey_invalid_params'); } $keysService = ACloudSysCoreCommon::loadSystemClass('keys', 'config.service'); $key6 = $keysService->getKey6(2); if (!$key6 || strlen($key6) != 128) { return array(false, 'apply_checkkey_invalid_key6'); } unset($data['a']); unset($data['m']); unset($data['c']); if (!ACloudSysCoreVerify::verifyWithOAuth($data, $key6)) { return array(false, 'apply_checkkey_wrong_sign'); } if (!ACloudSysCoreVerify::verifyWithAES($data['ciphertext'], $data['plaintext'])) { return array(false, 'apply_checkkey_fail'); } return array(true, 'apply_checkkey_success'); }
public function call($api, $request) { $api = trim($api); if (!$api) { return $this->buildResponse(10000); } $apiConfigService = ACloudSysCoreCommon::loadSystemClass('apis', 'config.service'); $apiConfig = $apiConfigService->getApiConfigByApiName($api); if (!ACloudSysCoreS::isArray($apiConfig)) { return $this->buildResponse(10001); } if (!$apiConfig['status']) { return $this->buildResponse(10002); } list($apiClass, $method, $arguments) = $this->getClassAndMethodAndArguments($apiConfig, $request); if (!$apiClass) { return $this->buildResponse(10003); } list($errorCode, $data) = call_user_func_array(array($apiClass, $method), $arguments); return $this->buildResponse($errorCode, $data); }
public function checkApplyCondition($siteUrl) { if (!$siteUrl) { return array(false, '站点地址不能为空'); } $envService = ACloudSysCoreCommon::loadSystemClass('env', 'open.service'); if (!$envService->hasIndexFile()) { return array(false, 'aCloud安装包的代码不完整,请重新安装覆盖'); } $tableInfo = $this->getTableInfo(); if (ACloudSysCoreS::isArray($tableInfo)) { return array(false, '缺少以下数据表' . implode(',', $tableInfo)); } return array(true, ''); }
public function getLatestThreadsByFids($fids, $offset, $limit) { if (!ACloudSysCoreS::isArray($fids)) { return $this->buildResponse(0, array()); } Wind::import('SRV:forum.vo.PwThreadSo'); $uids = $result = array(); $threaddb = array(); $so = new PwThreadSo(); $so->setFid($fids)->setDisabled(0)->orderbyCreatedTime(0); $threaddb = $this->_getThread()->searchThread($so, $limit, $offset); if (!$threaddb) { return $this->buildResponse(THREAD_NOT_EXIST, "帖子不存在"); } $forums = $this->_getForum()->fetchForum($fids, PwForum::FETCH_MAIN); $result = array(); foreach ($threaddb as $key => $value) { if (!$value) { continue; } $value['forumname'] = strip_tags($forums[$value]['name']); $value['icon'] = Pw::getAvatar($value['created_userid']); $uids[$value['tid']] = $value['created_userid']; $result['threads'][$value['tid']] = $value; } return $this->buildResponse(0, $result); }
public function getForumsByRange($startId, $endId) { list($startId, $endId) = array(intval($startId), intval($endId)); if ($startId < 0 || $startId > $endId || $endId < 1) { return array(); } $sql = sprintf("SELECT * FROM %s WHERE isshow = 1 AND fid >= %s AND fid <= %s", ACloudSysCoreS::sqlMetadata('{{bbs_forum}}'), ACloudSysCoreS::sqlEscape($startId), ACloudSysCoreS::sqlEscape($endId)); $query = Wind::getComponent('db')->query($sql); $result = $query->fetchAll('fid', PDO::FETCH_ASSOC); $fids = array_keys($result); $forumDomain = $this->_getDomainDs()->fetchByTypeAndId('forum', $fids); $data = array(); foreach ($result as $k => $v) { $v['domain'] = ''; if (isset($forumDomain[$k])) { $v['domain'] = $forumDomain[$k]['domain']; } $data[] = $v; } if (!ACloudSysCoreS::isArray($data)) { return array(); } return $this->buildForumData($data); }
private function buildSql($sql) { if (!ACloudSysCoreS::isArray($this->getParams())) { return $sql; } return preg_replace_callback('/\\?/', array($this, 'replaceSqlParams'), $sql); }
public function getThreadsByModifiedTime($startTime, $endTime, $page, $perpage) { list($startTime, $endTime, $page, $perpage) = array(intval($startTime), intval($endTime), intval($page), intval($perpage)); if ($startTime < 1 || $endTime < 1 || $startTime > $endTime || $page < 1 || $perpage < 1) { return array(); } $offset = ($page - 1) * $perpage; $sql = sprintf("SELECT t.* FROM %s t WHERE t.fid != 0 AND t.ischeck = 1 AND t.modified_time >= %s AND t.modified_time <= %s %s", ACloudSysCoreS::sqlMetadata('{{bbs_threads}}'), ACloudSysCoreS::sqlEscape($startTime), ACloudSysCoreS::sqlEscape($endTime), ACloudSysCoreS::sqlLimit($offset, $perpage)); $query = Wind::getComponent('db')->query($sql); $result = $query->fetchAll(null, PDO::FETCH_ASSOC); if (!ACloudSysCoreS::isArray($result)) { return array(); } $result = $this->getContentAndForumInfo($result); return $this->_buildThreadData($result); }
private function filterMemberFields($members) { if (!ACloudSysCoreS::isArray($members)) { return array(); } $result = array(); foreach ($members as $value) { unset($value['password']); $result[] = $value; } return $result; }
public function replaceSql($sqlTemplate, $argumentValues, $fields) { $sqlTemplate = preg_replace('/\\{\\{(\\w+?)\\}\\}/', '[[$1]]', $sqlTemplate); preg_match_all('/\\{(\\w+)\\}/', $sqlTemplate, $matches); if (!ACloudSysCoreS::isArray($matches)) { return ''; } $seg = $this->getRandString(4); $sql = preg_replace('/\\{(\\w+)\\}/', $seg . '{${1}}' . $seg, $sqlTemplate); foreach ($matches[0] as $k => $v) { $value = $v != '{fields}' ? is_array($argumentValues[$matches[1][$k]]) ? ACloudSysCoreS::sqlImplode($argumentValues[$matches[1][$k]]) : $argumentValues[$matches[1][$k]] : $fields; $sql = str_replace($seg . $v . $seg, $value, $sql); } $sql = preg_replace('/\\[\\[(\\w+?)\\]\\]/', '{{$1}}', $sql); return $sql; }