| 1 |  |  | <?php | 
            
                                                                                                            
                            
            
                                    
            
            
                | 2 |  |  | namespace NFePHP\Common\Exception; | 
            
                                                                                                            
                            
            
                                    
            
            
                | 3 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 4 |  |  | /** | 
            
                                                                                                            
                            
            
                                    
            
            
                | 5 |  |  |  * @category   NFePHP | 
            
                                                                                                            
                            
            
                                    
            
            
                | 6 |  |  |  * @package    NFePHP\Common\Exception | 
            
                                                                                                            
                            
            
                                    
            
            
                | 7 |  |  |  * @copyright  Copyright (c) 2008-2017 | 
            
                                                                                                            
                            
            
                                    
            
            
                | 8 |  |  |  * @license    http://www.gnu.org/licenses/lesser.html LGPL v3 | 
            
                                                                                                            
                            
            
                                    
            
            
                | 9 |  |  |  * @author     Roberto L. Machado <linux.rlm at gmail dot com> | 
            
                                                                                                            
                            
            
                                    
            
            
                | 10 |  |  |  * @link       http://github.com/nfephp-org/sped-common for the canonical source repository | 
            
                                                                                                            
                            
            
                                    
            
            
                | 11 |  |  |  */ | 
            
                                                                                                            
                            
            
                                    
            
            
                | 12 |  |  |  | 
            
                                                                                                            
                            
            
                                    
            
            
                | 13 |  |  | class DocumentsException extends \InvalidArgumentException implements ExceptionInterface | 
            
                                                                                                            
                            
            
                                    
            
            
                | 14 |  |  | { | 
            
                                                                                                            
                            
            
                                    
            
            
                | 15 |  |  |     public static $list = [ | 
            
                                                                                                            
                            
            
                                    
            
            
                | 16 |  |  |         0 => "Este documento [{{msg}}] não recebe protocolos. Confira a ordem dos parâmetros.", | 
            
                                                                                                            
                            
            
                                    
            
            
                | 17 |  |  |         1 => "O arquivo indicado não está protocolado ou não pertence a este projeto!!", | 
            
                                                                                                            
                            
            
                                    
            
            
                | 18 |  |  |         2 => "O arquivo indicado como B2B não contêm a tagB2B indicada!!", | 
            
                                                                                                            
                            
            
                                    
            
            
                | 19 |  |  |         3 => "O documento de resposta não contêm o NODE {{msg}}.", | 
            
                                                                                                            
                            
            
                                    
            
            
                | 20 |  |  |         4 => "O documento de resposta relata um erro {{msg}}.", | 
            
                                                                                                            
                            
            
                                    
            
            
                | 21 |  |  |         5 => "Os documentos se referem a diferentes objetos. {{msg}}.", | 
            
                                                                                                            
                            
            
                                    
            
            
                | 22 |  |  |         6 => "O argumento passado não é um XML válido.", | 
            
                                                                                                            
                            
            
                                    
            
            
                | 23 |  |  |         7 => "Este xml não pertence a este projeto.", | 
            
                                                                                                            
                            
            
                                    
            
            
                | 24 |  |  |         8 => "A configuração (config.json) não é válido {{msg}}.", | 
            
                                                                                                            
                            
            
                                    
            
            
                | 25 |  |  |         9 => "Falta o CSC no config.json.", | 
            
                                                                                                            
                            
            
                                    
            
            
                | 26 |  |  |         10 => "Falta o CSCId no config.json.", | 
            
                                                                                                            
                            
            
                                    
            
            
                | 27 |  |  |         11 => "Falta a URL do serviço NfeConsultaQR." | 
            
                                                                                                            
                            
            
                                    
            
            
                | 28 |  |  |     ]; | 
            
                                                                                                            
                                                                
            
                                    
            
            
                | 29 |  |  |      | 
            
                                                                        
                            
            
                                    
            
            
                | 30 |  |  |     public static function wrongDocument($code, $msg = '') | 
            
                                                                        
                            
            
                                    
            
            
                | 31 |  |  |     { | 
            
                                                                        
                            
            
                                    
            
            
                | 32 |  |  |         $msg = self::replaceMsg(self::$list[$code], $msg); | 
            
                                                                        
                            
            
                                    
            
            
                | 33 |  |  |         return new static($msg); | 
            
                                                                        
                            
            
                                    
            
            
                | 34 |  |  |     } | 
            
                                                                                                            
                            
            
                                    
            
            
                | 35 |  |  |      | 
            
                                                                                                            
                            
            
                                    
            
            
                | 36 |  |  |     private static function replaceMsg($input, $msg) | 
            
                                                                                                            
                            
            
                                    
            
            
                | 37 |  |  |     { | 
            
                                                                                                            
                            
            
                                    
            
            
                | 38 |  |  |         return str_replace('{{msg}}', $msg, $input); | 
            
                                                                                                            
                            
            
                                    
            
            
                | 39 |  |  |     } | 
            
                                                                                                            
                                                                
            
                                    
            
            
                | 40 |  |  | } | 
            
                                                        
            
                                    
            
            
                | 41 |  |  |  |