public function __construct() { $daoObject = ACloudSysCoreCommon::getGlobal(ACloudSysCoreDefine::ACLOUD_OBJECT_DAO); $daoObject->getDB(); list($currentUid) = ACloudSysCoreS::gp('current_uid'); ACloudSysCoreCommon::setGlobal('customized_current_uid', $currentUid); }
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 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 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 run() { list($a) = ACloudSysCoreS::gp(array('a')); $action = $a ? $a . "Action" : ""; if ($action && method_exists($this, $action)) { ACloudInit::execute(); $this->{$action}(); } }
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 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 getSearchData($params = array()) { list($keyword, $type, $fid, $username) = ACloudSysCoreS::gp(array("keyword", "type", "fid", "username")); $data = array(); $data['k'] = $keyword; $data['type'] = $type; $data['fid'] = intval($fid); $data['username'] = $username; $data['charset'] = ACloudSysCoreCommon::getGlobal('g_charset', Wekit::app()->charset); $data['url'] = ACloudSysCoreCommon::getGlobal('g_siteurl', $_SERVER['SERVER_NAME']); $data['sv'] = 'svp9'; require_once Wind::getRealPath("ACLOUD:system.core.ACloudSysCoreHttp"); return ACloudSysCoreHttp::httpBuildQuery(array_merge($data, $params)); }
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 getRealClassAndMethodAndArguments($classPath, $className, $method, $arguments, $request) { if (!is_file($classPath)) { return array('', '', array()); } require_once ACloudSysCoreS::escapePath($classPath); if (!class_exists($className)) { return array('', '', array()); } $apiClass = new $className(); if (!method_exists($apiClass, $method)) { return array('', '', array()); } $arguments = $arguments ? explode(',', $arguments) : array(); $arguments = $this->buildRequestArguments($arguments, $request); return array($apiClass, $method, $arguments); }
public function buildClause($arrays, $expr = null) { if (!is_array($arrays) && !$expr) { return ''; } $sets = " SET "; if ($expr) { foreach ($expr as $v) { $sets .= " " . $v . ","; } } if ($arrays) { foreach ($arrays as $k => $v) { $sets .= " " . ACloudSysCoreS::sqlMetadata($k) . " = " . ACloudSysCoreS::sqlEscape($v) . ","; } } $sets = trim($sets, ","); return $sets ? $sets : ''; }
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 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); }
public function delete($ekey) { return $this->query(sprintf("DELETE FROM %s WHERE ekey = %s", $this->tablename, ACloudSysCoreS::sqlEscape($ekey))); }
public function getsByAppId($appId) { return $this->fetchAll(sprintf("SELECT * FROM %s WHERE app_id = %s ", $this->tablename, ACloudSysCoreS::sqlEscape($appId))); }
private function buildSql($sql) { if (!ACloudSysCoreS::isArray($this->getParams())) { return $sql; } return preg_replace_callback('/\\?/', array($this, 'replaceSqlParams'), $sql); }
private function getDataByPrimaryKeyRange($tableSetting, $start, $end) { $generalDataService = ACloudSysCoreCommon::loadSystemClass('generaldata', 'config.service'); $dataSql = sprintf('SELECT * FROM %s WHERE %s >= %s AND %s <= %s', ACloudSysCoreS::sqlMetadata($tableSetting['name']), ACloudSysCoreS::sqlMetadata($tableSetting['primary_key']), ACloudSysCoreS::sqlEscape($start), ACloudSysCoreS::sqlMetadata($tableSetting['primary_key']), ACloudSysCoreS::sqlEscape($end)); return $generalDataService->executeSql($dataSql); }
private function registerSystemParams() { list($format) = ACloudSysCoreS::gp(array('format')); ACloudSysCoreCommon::setGlobal('acloud_api_output_format', $format); return true; }
public function get($name) { return $this->fetchOne(sprintf("SELECT * FROM %s WHERE name = %s", $this->tablename, ACloudSysCoreS::sqlEscape($name))); }
private function getContentAndForumInfo($result) { $tids = $fids = array(); foreach ($result as $value) { $tids[] = $value['tid']; $fids[] = $value['fid']; } $query = Wind::getComponent('db')->query(sprintf('SELECT * FROM %s WHERE tid IN(%s)', ACloudSysCoreS::sqlMetadata('{{bbs_threads_content}}'), ACloudSysCoreS::sqlImplode(array_unique($tids)))); $contents = $query->fetchAll('tid', PDO::FETCH_ASSOC); $query = Wind::getComponent('db')->query(sprintf('SELECT fid, name as forumname FROM %s WHERE fid IN(%s)', ACloudSysCoreS::sqlMetadata('{{bbs_forum}}'), ACloudSysCoreS::sqlImplode(array_unique($fids)))); $forums = $query->fetchAll('fid', PDO::FETCH_ASSOC); foreach ($result as $key => $thread) { $result[$key] = array_merge($thread, (array) $contents[$thread['tid']]); $result[$key]['forumname'] = isset($forums[$thread['fid']]) ? $forums[$thread['fid']]['forumname'] : ''; } return $result; }
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); }
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; }
public static function getSiteUserAgent() { list($key, $ua) = array('_ac_app_ua', ''); if (!$_COOKIE || !isset($_COOKIE[$key]) || !$_COOKIE[$key]) { $ua = substr(md5($_SERVER['HTTP_USER_AGENT'] . '\\t' . rand(1000, 9999) . '\\t' . time()), 8, 18); setcookie($key, $ua, time() + 86400 * 365 * 5); } $ua = $ua ? $ua : $_COOKIE[$key]; return strlen($ua) == 18 ? ACloudSysCoreS::escapeChar($ua) : ''; }
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 getPostMaxId() { $sql = sprintf('SELECT MAX(pid) as count FROM %s', ACloudSysCoreS::sqlMetadata('{{bbs_posts}}')); $query = Wind::getComponent('db')->query($sql); return current($query->fetch(PDO::FETCH_ASSOC)); }
private function storage_getAttaches() { list($directory) = ACloudSysCoreS::gp(array('dir')); $dataFlowService = ACloudSysCoreCommon::loadSystemClass('crawler', 'dataflow.service'); return $dataFlowService->getAttachesForStorage($directory); }
public function format($data, $format, $charset) { $format = ACloudSysCoreS::inArray(strtolower($format), $this->formats) ? strtolower($format) : 'json'; $action = $format . 'Format'; return $this->{$action}($data, $charset); }