示例#1
0
 /**
  * Update a rank
  * @param $updateguild
  *
  * @return int|string
  */
 private function UpdateRank(\bbdkp\controller\guilds\Guilds $updateguild)
 {
     global $user;
     $newrank = new \bbdkp\controller\guilds\Ranks($updateguild->guildid);
     $oldrank = new \bbdkp\controller\guilds\Ranks($updateguild->guildid);
     // template
     $modrank = utf8_normalize_nfc(request_var('ranks', array(0 => ''), true));
     foreach ($modrank as $rank_id => $rank_name) {
         $oldrank->RankId = $rank_id;
         $oldrank->RankGuild = $updateguild->guildid;
         $oldrank->Getrank();
         $newrank->RankId = $rank_id;
         $newrank->RankGuild = $oldrank->RankGuild;
         $newrank->RankName = $rank_name;
         $newrank->RankHide = isset($_POST['hide'][$rank_id]) ? 1 : 0;
         $rank_prefix = utf8_normalize_nfc(request_var('prefix', array((int) $rank_id => ''), true));
         $newrank->RankPrefix = $rank_prefix[$rank_id];
         $rank_suffix = utf8_normalize_nfc(request_var('suffix', array((int) $rank_id => ''), true));
         $newrank->RankSuffix = $rank_suffix[$rank_id];
         // compare old with new,
         if ($oldrank != $newrank) {
             $newrank->Rankupdate($oldrank);
         }
     }
     $success_message = $user->lang['ADMIN_RANKS_UPDATE_SUCCESS'];
     trigger_error($success_message . $this->link);
     return $rank_id;
 }