public function formatFields($fields) { $result = array(); if (!ACloudSysCoreS::isArray($fields)) { return '*'; } foreach ($fields as $field) { list($tableAlias, $fieldName) = strpos($field, '.') === false ? array('', $field) : explode('.', $field); $result[] = ($tableAlias ? $tableAlias . '.' : '') . ACloudSysCoreS::sqlMetadata($fieldName); } return implode(',', $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 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 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 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); }
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)); }
public function getUsersByRange($startId, $endId) { list($startId, $endId) = array(intval($startId), intval($endId)); if ($startId < 0 || $startId > $endId || $endId < 1) { return array(); } $result = $members = array(); $sql = sprintf("SELECT u.* FROM %s u WHERE u.uid >= %s AND u.uid <= %s", ACloudSysCoreS::sqlMetadata('{{user}}'), ACloudSysCoreS::sqlEscape($startId), ACloudSysCoreS::sqlEscape($endId)); $query = Wind::getComponent('db')->query($sql); $result = $query->fetchAll('uid', PDO::FETCH_ASSOC); if (!ACloudSysCoreS::isArray($result)) { return array(); } $query = Wind::getComponent('db')->query(sprintf("SELECT ud.* FROM %s ud WHERE ud.uid >= %s AND ud.uid <= %s", ACloudSysCoreS::sqlMetadata('{{user_data}}'), ACloudSysCoreS::sqlEscape($startId), ACloudSysCoreS::sqlEscape($endId))); $userData = $query->fetchAll('uid', PDO::FETCH_ASSOC); $query = Wind::getComponent('db')->query(sprintf("SELECT ui.* FROM %s ui WHERE ui.uid >= %s AND ui.uid <= %s", ACloudSysCoreS::sqlMetadata('{{user_info}}'), ACloudSysCoreS::sqlEscape($startId), ACloudSysCoreS::sqlEscape($endId))); $userInfo = $query->fetchAll('uid', PDO::FETCH_ASSOC); foreach ($result as $key => $value) { $result[$key] = array_merge($value, $userData[$value['uid']], $userInfo[$value['uid']]); } $siteUrl = ACloudSysCoreCommon::getGlobal('g_siteurl', $_SERVER['SERVER_NAME']); foreach ($result as $member) { $member['memberurl'] = 'http://' . $siteUrl . '/index.php?m=space&uid=' . $member['uid']; $member['icon'] = Pw::getAvatar($member['uid']); $members[$member['uid']] = $member; } return $this->filterMemberFields($members); }
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; }