Example #1
0
 /**
  * Index method
  */
 public function actionIndex()
 {
     //检查是否登入
     Nbt::app()->login->checkIsLogin();
     try {
         $this->replaceSeoTitle(CUtil::i18n('controllers,index_index_seoTitle'));
         // open redis
         $redis = $this->getRedis();
         // 是否获取指定类型运算频率
         $intFreq = null;
         if (SYS_INFO === 'SF3301_D_V1') {
             $intFreq = array(0, 1);
         }
         // 可调速度集合
         $aryBTCSpeed = CUtilMachine::getSpeedList(SYS_INFO, is_null($intFreq) ? null : $intFreq[0]);
         $aryLTCSpeed = CUtilMachine::getSpeedList(SYS_INFO, is_null($intFreq) ? null : $intFreq[1]);
         // get default speed
         $intDefaultBTCSpeed = self::getDefaultSpeed(is_null($intFreq) ? null : $intFreq[0]);
         $intDefaultLTCSpeed = self::getDefaultSpeed(is_null($intFreq) ? null : $intFreq[1]);
         // Tip data
         $aryTipData = array();
         $aryBTCData = array();
         $aryLTCData = array();
         $btcVal = $redis->readByKey('btc.setting');
         $ltcVal = $redis->readByKey('ltc.setting');
         $aryBTCData = empty($btcVal) ? array() : json_decode($btcVal, true);
         if (empty($aryBTCData['speed'])) {
             $aryBTCData['speed'] = $intDefaultBTCSpeed;
         }
         $aryLTCData = empty($ltcVal) ? array() : json_decode($ltcVal, true);
         if (empty($aryLTCData['speed'])) {
             $aryLTCData['speed'] = $intDefaultLTCSpeed;
         }
         // get run model
         $strRunMode = $this->getRunMode();
         // if commit save
         if (Nbt::app()->request->isPostRequest) {
             $strBTCAddress = isset($_POST['address_btc']) ? htmlspecialchars($_POST['address_btc']) : '';
             $strBTCAccount = isset($_POST['account_btc']) ? htmlspecialchars($_POST['account_btc']) : '';
             $strBTCPassword = isset($_POST['password_btc']) ? htmlspecialchars($_POST['password_btc']) : '';
             $intBTCSpeed = isset($_POST['run_speed_btc']) ? intval($_POST['run_speed_btc']) : $intDefaultBTCSpeed;
             $strLTCAddress = isset($_POST['address_ltc']) ? htmlspecialchars($_POST['address_ltc']) : '';
             $strLTCAccount = isset($_POST['account_ltc']) ? htmlspecialchars($_POST['account_ltc']) : '';
             $strLTCPassword = isset($_POST['password_ltc']) ? htmlspecialchars($_POST['password_ltc']) : '';
             $intLTCSpeed = isset($_POST['run_speed_ltc']) ? intval($_POST['run_speed_ltc']) : $intDefaultLTCSpeed;
             $strGetRunMode = isset($_POST['runmodel']) ? htmlspecialchars($_POST['runmodel']) : '';
             if (!empty($strGetRunMode) && in_array($strGetRunMode, array('L', 'LB'))) {
                 RunModel::model()->storeRunMode($strGetRunMode);
                 $strRunMode = $strGetRunMode;
             }
             $aryBTCData['ad'] = $strBTCAddress;
             $aryBTCData['ac'] = $strBTCAccount;
             $aryBTCData['pw'] = $strBTCPassword;
             $aryBTCData['speed'] = $intBTCSpeed;
             //$aryBTCData['su'] = isset( $aryBTCData['su'] ) ? $aryBTCData['su'] : 1;
             $aryLTCData['ad'] = $strLTCAddress;
             $aryLTCData['ac'] = $strLTCAccount;
             $aryLTCData['pw'] = $strLTCPassword;
             $aryLTCData['speed'] = $intLTCSpeed;
             //$aryLTCData['su'] = isset( $aryLTCData['su'] ) ? $aryLTCData['su'] : 1;
             if (in_array($strRunMode, array('L'))) {
                 $boolCheck = CUtil::isParamsEmpty($aryLTCData);
                 if ($boolCheck === false) {
                     throw new CModelException(CUtil::i18n('exception,scrypt_setting_haveNullData'));
                 }
             } else {
                 if (in_array($strRunMode, array('B'))) {
                     $boolCheck = CUtil::isParamsEmpty($aryBTCData);
                     if ($boolCheck === false) {
                         throw new CModelException(CUtil::i18n('exception,sha_setting_haveNullData'));
                     }
                 }
             }
             // store data
             $redis->writeByKey('btc.setting', json_encode($aryBTCData));
             $redis->writeByKey('ltc.setting', json_encode($aryLTCData));
             $redis->saveData();
             $aryTipData['status'] = 'success';
             $aryTipData['text'] = CUtil::i18n('controllers,index_saveData_success');
         }
     } catch (Exception $e) {
         $aryTipData['status'] = 'error';
         $aryTipData['text'] = $e->getMessage();
     }
     $aryData = array();
     $aryData['tip'] = $aryTipData;
     $aryData['btc'] = $aryBTCData;
     $aryData['ltc'] = $aryLTCData;
     $aryData['runmodel'] = $strRunMode;
     $aryData['speedDefBTC'] = $intDefaultBTCSpeed;
     $aryData['speedDefLTC'] = $intDefaultLTCSpeed;
     $aryData['speedBTC'] = $aryBTCData['speed'];
     $aryData['speedLTC'] = $aryLTCData['speed'];
     $aryData['aryBTCSpeed'] = $aryBTCSpeed;
     $aryData['aryLTCSpeed'] = $aryLTCSpeed;
     $this->render('index', $aryData);
 }