<commit_before><?php namespace Core;
    
    /**
     * Error 
     * 
     * Cattura gli errori dell'applicazione
     * ed esegue una serie di funzioni.
     *
     * @author <NAME>
     */
    
    use Core\Config;
    use Core\Controller;
    use Helpers\Mail;
    
    class Error {		
        
        /**
         * Messaggio di errore
         *
         * @param string $text
         * @return string
         */
        public static function message($text = null){
            
            if(!$text || Config::get('app', 'errors.display') === false){
                echo "<h1>Si &egrave; verificato un errore!</h1>";
            }else{
                echo '<p>'.$text.'</p>';
            }
        
        }
        
        /**
         * Scrive il report dell'errore
         * in un file di log 
         *
         * @param string self::$file
         * @param string $log 
         */
        public static function write($log){
            
            $name = date('Y_m_d').'.log';
            $file = SITE_BASE_DIR.'/'.FOLDER_LOGS.'/'.$name;
            
            if(file_exists($file)){
                
                // aggiorrna
                $contents = explode("\n", file_get_contents($file));
                $contents[0] = $log;
                file_put_contents($file, implode($contents, "\n"));
                
            }else{
                
                // crea
                touch($file);
                chmod($file, 0777);
                file_put_contents($file, $log);
                
                // email
                if(Config::get('app', 'errors.email') === true) self::sendEmail($log);
                
            }
            
        }
        
        /**
         * Gestione delle Exception
         *
         * @param exception $exception
         * @param boolean self::$page
         * @param boolean self::$display
         * @return mixed
         */
        public static function exceptionHandler($exception){
            
            // report
            $report = self::exceptionReport($exception);
            
            // log
            self::write($report); 
            
            // email
            if(Config::get('app', 'errors.email') === true) self::sendEmail($report);
            
            // messaggio
            self::message($exception->getMessage());
            
        }
        
        /**
         * Report per le Exception
         *
         * @param exception $exception
         * @return string $log
         */
        public static function exceptionReport($exception){
            
            // errore
            $message = $exception->getMessage();
            $code = $exception->getCode();
            $code = $exception->getCode();
            $file = $exception->getFile();
            $line = $exception->getLine();
            $trace = $exception->getTraceAsString();
            $trace = str_replace(Config::get('database', 'local.password'), '****', $trace);
            $trace = str_replace(Config::get('database', 'local.host'), '****', $trace);
            $trace = str_replace(Config::get('database', 'local.user'), '****', $trace);
            $trace = str_replace(Config::get('database', 'local.name'), '****', $trace);
            $date = date('d M, Y - H:i:s');<commit_msg>Rimosso bug<commit_after><?php namespace Core;
    
    /**
     * Error 
     * 
     * Cattura gli errori dell'applicazione
     * ed esegue una serie di funzioni.
     *
     * @author <NAME>
     */
    
    use Core\Config;
    use Core\Controller;
    use Helpers\Mail;
    
    class Error {		
        
        /**
         * Messaggio di errore
         *
         * @param string $text
         * @return string
         */
        public static function message($text = null){
            
            if(!$text || Config::get('app', 'errors.display') === false){
                echo "<h1>Si &egrave; verificato un errore!</h1>";
            }else{
                echo '<p>'.$text.'</p>';
            }
        
        }
        
        /**
         * Scrive il report dell'errore
         * in un file di log 
         *
         * @param string self::$file
         * @param string $log 
         */
        public static function write($log){
            
            $name = date('Y_m_d').'.log';
            $file = SITE_BASE_DIR.'/'.FOLDER_LOGS.'/'.$name;
            
            if(file_exists($file)){
                
                // aggiorrna
                $contents = explode("\n", file_get_contents($file));
                $contents[0] = $log;
                file_put_contents($file, implode($contents, "\n"));
                
            }else{
                
                // crea
                touch($file);
                chmod($file, 0777);
                file_put_contents($file, $log);
                
                // email
                if(Config::get('app', 'errors.email') === true) self::sendEmail($log);
                
            }
            
        }
        
        /**
         * Gestione delle Exception
         *
         * @param exception $exception
         * @param boolean self::$page
         * @param boolean self::$display
         * @return mixed
         */
        public static function exceptionHandler($exception){
            
            // report
            $report = self::exceptionReport($exception);
            
            // log
            self::write($report);
            
            // messaggio
            self::message($exception->getMessage());
            
        }
        
        /**
         * Report per le Exception
         *
         * @param exception $exception
         * @return string $log
         */
        public static function exceptionReport($exception){
            
            // errore
            $message = $exception->getMessage();
            $code = $exception->getCode();
            $code = $exception->getCode();
            $file = $exception->getFile();
            $line = $exception->getLine();
            $trace = $exception->getTraceAsString();
            $trace = str_replace(Config::get('database', 'local.password'), '****', $trace);
            $trace = str_replace(Config::get('database', 'local.host'), '****', $trace);
            $trace = str_replace(Config::get('database', 'local.user'), '****', $trace);
            $trace = str_replace(Config::get('database', 'local.name'), '****', $trace);
            $date = date('d M, Y - H:i:s');
{'fraction_non_alphanumeric': 0.14259401381427475, 'fraction_numerical': 0.00214888718342287, 'mean_word_length': 1.2577962577962578, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 27, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6466357', 'n_tokens_mistral': 1722, 'n_tokens_neox': 1694, 'n_words': 341}