

<?php

defined('BASEPATH') or exit('No direct script access allowed');

class utility_model extends CI_Model
{

    public function checkDatabaseError($database, $res)
    {
        // Recupero l'ultimo errore che si è verificato sul database
        // e genero un'eccezione
        if (!$res) {
            $db_error = $database->error();
            throw new Exception('Database error! Error Code [' . $db_error['code'] . '] Error: ' . $db_error['message']);
        }
    }

    public function settaOutputErrorDatabase($database, $abilitato)
    {
        // In base al parametro in input, sopprimo gli errori del database,
        // in modo che codeigniter non restituisca un'intera pagina di errore,
        // potendo così restituire un messaggio di errore compresibile,
        // ed utilizzarlo direttamente all'interno di popup nel frontend
        $database->db_debug = $abilitato;
    }

    public function restituisciErroreWS($e)
    {
        $this->output
            ->set_status_header(500)
            ->set_content_type('application/json', 'utf-8')
            ->set_output($e->getMessage())
            ->_display();
    }

    function utf8ize($d) {
        if (is_array($d))
            foreach ($d as $k => $v)
                $d[$k] = $this->utf8ize($v);

        else if (is_object($d))
            foreach ($d as $k => $v)
                $d->$k = $this->utf8ize($v);
        else
            return utf8_encode($d);

        return $d;
    }

    function scriviSuFile($variabile, $percorsoFile = ''){

        if($percorsoFile == ''){
            $percorsoFile = "C:\\Users\\Utente\\Desktop\\TEST\\log.txt";
        }

        $file_pointer = fopen($percorsoFile, "a+");
        fwrite($file_pointer, "pippo");
        fclose($file_pointer);
    }
}
