public static function run($para = [], $lang = 'chs') { self::init(); if (empty($para)) { return self::ERROR_PARA_EMPTY; } if (isset($para[XIIS_PARAMS_URL])) { $tmp_url = explode('/', $para[XIIS_PARAMS_URL]); $first_key = end($tmp_url); if (is_numeric($first_key)) { array_pop($tmp_url); $second_key = end($tmp_url); return $lang . '_' . $second_key . '_' . $first_key; } if (!isset($para[XIIS_PARAMS_DATA])) { return self::ERROR_PARA_NO_URL; } if (isset($para[XIIS_PARAMS_METHOD]) && strtolower(trim($para[XIIS_PARAMS_METHOD])) != 'get') { return self::ERROR_PARA_NOT_GET; } return $lang . '_' . $first_key . '_' . md5(XiiUtil::implodePlus($para[XIIS_PARAMS_DATA])); } else { $first_key = Yii::$app->controller->id; if (isset($para[XIIS_PARAMS_CONDITION][XIIS_DEFAULT_PRI_KEY]) && !is_array($para[XIIS_PARAMS_CONDITION][XIIS_DEFAULT_PRI_KEY])) { return $lang . '_' . $first_key . '_' . $para[XIIS_PARAMS_CONDITION][XIIS_DEFAULT_PRI_KEY]; } return $lang . '_' . $first_key . '_' . md5(XiiUtil::implodePlus($para)); } }
private static function generateToken($para) { self::$_whereStart = self::$_whereStart > 10 || self::$_whereStart < 0 ? 1 : (int) self::$_whereStart; if (self::$_useImplodePlus) { $_tmp = XiiUtil::implodePlus($para, ''); } else { $_tmp = implode('', $para); } $_token = self::doEncrypt($_tmp . self::$_privateKey); return substr($_token, self::$_whereStart, self::TOKEN_LENGTH); }
private static function send() { if (XIIS_DEBUG) { self::logRecord([XIIS_DATA_CACHE_ID => self::$_xiiCacheID]); if (XIIS_RUN_LOG) { self::logRecord(['XiiRunLog' => Yii::$app->log->getLogger()->messages]); } self::$_outputData = array_merge(self::$_outputData, self::$_runtimeError, self::$_tmpData); } if (self::$_sendFormat == 'html') { Yii::$app->response->data = XiiUtil::implodePlus(self::$_outputData, PHP_EOL); } else { if (self::$_encrypt) { self::doEncrypt(); } Yii::$app->response->data = self::$_outputData; } }