Beispiel #1
0
 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);
 }
Beispiel #2
0
 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;
 }
Beispiel #3
0
 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);
 }
Beispiel #4
0
 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';
     }
 }
Beispiel #14
0
 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;
 }
Beispiel #15
0
 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);
 }
Beispiel #17
0
 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));
 }
Beispiel #20
0
 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));
 }
Beispiel #24
0
 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));
 }
Beispiel #25
0
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');
 }