forked from GNUsocial/gnu-social
		
	[EXCEPTION] Add Email related exceptions
This commit is contained in:
		
							
								
								
									
										47
									
								
								src/Util/Exception/EmailException.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								src/Util/Exception/EmailException.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// {{{ License
 | 
				
			||||||
 | 
					// This file is part of GNU social - https://www.gnu.org/software/social
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// GNU social is free software: you can redistribute it and/or modify
 | 
				
			||||||
 | 
					// it under the terms of the GNU Affero General Public License as published by
 | 
				
			||||||
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 | 
					// (at your option) any later version.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// GNU social is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					// GNU Affero General Public License for more details.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// You should have received a copy of the GNU Affero General Public License
 | 
				
			||||||
 | 
					// along with GNU social.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					// }}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Email base exception
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @category  Exception
 | 
				
			||||||
 | 
					 * @package   GNUsocial
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @author    Hugo Sales <hugo@hsal.es>
 | 
				
			||||||
 | 
					 * @copyright 2021 Free Software Foundation, Inc http://www.fsf.org
 | 
				
			||||||
 | 
					 * @license   https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace App\Util\Exception;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class EmailException extends ClientException
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public function __construct(string $msg = null, int $code = 400)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        if ($msg === null) {
 | 
				
			||||||
 | 
					            $msg = $this->defaultMessage();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        parent::__construct($msg, $code);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    protected function defaultMessage(): string
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return '';
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										53
									
								
								src/Util/Exception/EmailTakenException.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								src/Util/Exception/EmailTakenException.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,53 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// {{{ License
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// This file is part of GNU social - https://www.gnu.org/software/social
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// GNU social is free software: you can redistribute it and/or modify
 | 
				
			||||||
 | 
					// it under the terms of the GNU Affero General Public License as published by
 | 
				
			||||||
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 | 
					// (at your option) any later version.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// GNU social is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					// GNU Affero General Public License for more details.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// You should have received a copy of the GNU Affero General Public License
 | 
				
			||||||
 | 
					// along with GNU social.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// }}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Email taken exception
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @category  Exception
 | 
				
			||||||
 | 
					 * @package   GNUsocial
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @author    Hugo Sales <hugo@hsal.es>
 | 
				
			||||||
 | 
					 * @copyright 2021 Free Software Foundation, Inc http://www.fsf.org
 | 
				
			||||||
 | 
					 * @license   https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace App\Util\Exception;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use function App\Core\I18n\_m;
 | 
				
			||||||
 | 
					use App\Entity\GSActor;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class EmailTakenException extends EmailException
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public ?GSActor $profile = null;    // the GSActor which occupies the email
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function __construct(?GSActor $profile = null, ?string $msg = null, int $code = 400)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        $this->profile = $profile;
 | 
				
			||||||
 | 
					        parent::__construct($msg, $code);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    protected function defaultMessage(): string
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        // TRANS: Validation error in form for registration, profile and group settings, etc.
 | 
				
			||||||
 | 
					        return _m('Email is already in use on this server.');
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -20,7 +20,7 @@
 | 
				
			|||||||
// }}}
 | 
					// }}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Nickname empty exception
 | 
					 * Nickname taken exception
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * @category  Exception
 | 
					 * @category  Exception
 | 
				
			||||||
 * @package   GNUsocial
 | 
					 * @package   GNUsocial
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user