Пример #1
0
 public function update()
 {
     $player = new Player(self_char_id());
     $clan = ClanFactory::clanOfMember($player);
     if (!$this->playerIsLeader($player, $clan)) {
         throw new Exception('You may not update a clan you are not a leader of.');
     }
     $new_clan_avatar_url = in('clan-avatar-url');
     $new_clan_description = in('clan-description');
     $new_clan_name = trim(in('new_clan_name', ''));
     $error = null;
     if ($new_clan_name != $clan->getName()) {
         if (is_valid_clan_name($new_clan_name)) {
             if (is_unique_clan_name($new_clan_name)) {
                 // *** Rename the clan if it is valid.
                 $new_clan_name = rename_clan($clan->getID(), $new_clan_name);
                 $clan->setName($new_clan_name);
             } else {
                 $error = 'That clan name is already in use!';
             }
         } elseif ($new_clan_name) {
             $error = 'Sorry, too many special symbols in your clan name.';
         }
     }
     // Saving incoming changes to clan leader edits.
     if (clan_avatar_is_valid($new_clan_avatar_url)) {
         save_clan_avatar_url($new_clan_avatar_url, $clan->getID());
         $clan->setAvatarUrl($new_clan_avatar_url);
     } else {
         $error = 'That avatar url is not valid.';
     }
     // Truncate at 500 chars if necessary.
     $truncated_clan_desc = substr((string) $new_clan_description, 0, 500);
     if ($truncated_clan_desc != (string) $new_clan_description) {
         $new_clan_description = $truncated_clan_desc;
     }
     if ($new_clan_description) {
         save_clan_description($new_clan_description, $clan->getID());
         $clan->setDescription($new_clan_description);
     }
     ///TODO accumulate error messages
     return $this->render(['action_message' => 'Your clan has been updated.', 'title' => 'Edit your clan', 'clan' => $clan, 'error' => $error, 'pageParts' => ['edit', 'info', 'member-list']]);
 }
Пример #2
0
 function testClanNameNegativeValidation()
 {
     $clanName = 'Ù�س اÙ�Ù�Ø·Ø';
     $this->assertFalse((bool) is_valid_clan_name($clanName));
 }