original_string: public function nextDrop()
      {
          $drops = $this->countDrops();
          if (count($drops)) {
              $currentStep = Yii::$app->session->get(self::SESSION_KEY, 0);
              $maxStep = Yii::$app->session->get(self::SESSION_STEPS, 0);
              if ($currentStep < $maxStep) {
                  $this->type = self::TYPE_ERROR;
                  $this->table = '...';
  
                  if (!isset($drops[$currentStep])) {
                      return [
                          'drop' => false,
                          'type' => $this->type,
                          'result' => Yii::t('podium/flash', 'Installation aborted! Can not find the requested drop step.'),
                          'percent' => 100,
                      ];
                  }
  
                  $this->table = $drops[$currentStep]['table'];
  
                  $result = $this->dropTable();
                  if ($result === true) {
                      Yii::$app->session->set(self::SESSION_KEY, ++$currentStep);
                      return $this->nextDrop();
                  }
  
                  Yii::$app->session->set(self::SESSION_KEY, ++$currentStep);
                  return [
                      'drop' => true,
                      'type' => $this->type,
                      'result' => $result,
                      'table' => $this->rawTable,
                      'percent' => $this->countPercent($currentStep, $maxStep),
                  ];
              }
          }
          Yii::$app->session->set(self::SESSION_KEY, 0);
          return $this->nextStep();
      }
code: public function nextDrop()
      {
          $drops = $this->countDrops();
          if (count($drops)) {
              $currentStep = Yii::$app->session->get(self::SESSION_KEY, 0);
              $maxStep = Yii::$app->session->get(self::SESSION_STEPS, 0);
              if ($currentStep < $maxStep) {
                  $this->type = self::TYPE_ERROR;
                  $this->table = '...';
  
                  if (!isset($drops[$currentStep])) {
                      return [
                          'drop' => false,
                          'type' => $this->type,
                          'result' => Yii::t('podium/flash', 'Installation aborted! Can not find the requested drop step.'),
                          'percent' => 100,
                      ];
                  }
  
                  $this->table = $drops[$currentStep]['table'];
  
                  $result = $this->dropTable();
                  if ($result === true) {
                      Yii::$app->session->set(self::SESSION_KEY, ++$currentStep);
                      return $this->nextDrop();
                  }
  
                  Yii::$app->session->set(self::SESSION_KEY, ++$currentStep);
                  return [
                      'drop' => true,
                      'type' => $this->type,
                      'result' => $result,
                      'table' => $this->rawTable,
                      'percent' => $this->countPercent($currentStep, $maxStep),
                  ];
              }
          }
          Yii::$app->session->set(self::SESSION_KEY, 0);
          return $this->nextStep();
      }
code_tokens: public function nextDrop ( ) { $ drops = $ this -> countDrops ( ) ; if ( count ( $ drops ) ) { $ currentStep = Yii :: $ app -> session -> get ( self :: SESSION_KEY , 0 ) ; $ maxStep = Yii :: $ app -> session -> get ( self :: SESSION_STEPS , 0 ) ; if ( $ currentStep < $ maxStep ) { $ this -> type = self :: TYPE_ERROR ; $ this -> table = '...' ; if ( ! isset ( $ drops [ $ currentStep ] ) ) { return [ 'drop' => false , 'type' => $ this -> type , 'result' => Yii :: t ( 'podium/flash' , 'Installation aborted! Can not find the requested drop step.' ) , 'percent' => 100 , ] ; } $ this -> table = $ drops [ $ currentStep ] [ 'table' ] ; $ result = $ this -> dropTable ( ) ; if ( $ result === true ) { Yii :: $ app -> session -> set ( self :: SESSION_KEY , ++ $ currentStep ) ; return $ this -> nextDrop ( ) ; } Yii :: $ app -> session -> set ( self :: SESSION_KEY , ++ $ currentStep ) ; return [ 'drop' => true , 'type' => $ this -> type , 'result' => $ result , 'table' => $ this -> rawTable , 'percent' => $ this -> countPercent ( $ currentStep , $ maxStep ) , ] ; } } Yii :: $ app -> session -> set ( self :: SESSION_KEY , 0 ) ; return $ this -> nextStep ( ) ; }
docstring: Proceeds next drop step.
  @return array
  @since 0.2
docstring_tokens: Proceeds next drop step .