Ejemplo n.º 1
0
 /**
  * get Rank
  * @param bool $package
  * @param bool $preEULA
  * @param bool $doSwap
  * @return Rank
  */
 public function getRank($package = true, $preEULA = false, $doSwap = true)
 {
     $return = 'DEFAULT';
     if ($package) {
         $keys = ['newPackageRank', 'packageRank'];
         if ($preEULA) {
             $keys = array_reverse($keys);
         }
         if (!$this->isStaff()) {
             if (!$this->isPreEULA()) {
                 if ($this->get($keys[0], true) != null) {
                     $return = $this->get($keys[0], true);
                 }
             } else {
                 foreach ($keys as $key) {
                     if ($this->get($key, true) != null) {
                         $return = $this->get($key, true);
                         break;
                     }
                 }
             }
         } else {
             foreach ($keys as $key) {
                 if ($this->get($key, true) != null) {
                     $return = $this->get($key, true);
                     break;
                 }
             }
         }
     } else {
         if (!$this->isStaff()) {
             return $this->getRank(true, $preEULA);
         }
         $return = $this->get('rank', true);
     }
     if ($return == 'NONE' && $preEULA && $doSwap) {
         return $this->getRank($package, !$preEULA);
     }
     $returnRank = RankTypes::fromName($return);
     if ($returnRank == null) {
         $returnRank = RankTypes::fromID(RankTypes::NON_DONOR);
     }
     return $returnRank;
 }
 /**
  * get Rank
  * @param bool $package
  * @param array $rankKeys
  * @return Rank
  */
 public function getRank($package = true, $rankKeys = ['newPackageRank', 'packageRank'])
 {
     $returnRank = null;
     if ($package) {
         $returnRank = null;
         foreach ($rankKeys as $key) {
             $rank = RankTypes::fromName($this->get($key));
             if ($rank != null) {
                 if ($returnRank == null) {
                     $returnRank = $rank;
                 }
                 /** @var $rank \HypixelPHP\Rank */
                 /** @var $returnRank \HypixelPHP\Rank */
                 if ($rank->getId() > $returnRank->getId()) {
                     $returnRank = $rank;
                 }
             }
         }
     } else {
         if (!$this->isStaff()) {
             return $this->getRank(true);
         }
         $returnRank = RankTypes::fromName($this->get('rank'));
     }
     if ($returnRank == null) {
         $returnRank = RankTypes::fromID(RankTypes::NON_DONOR);
     }
     return $returnRank;
 }