/** * Acción que permite al usuario agregar una nueva firma electrónica * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl) * @version 2015-09-22 */ public function agregar() { if (isset($_POST['submit'])) { // verificar que se haya podido subir el archivo con la firma if (!isset($_FILES['firma']) or $_FILES['firma']['error']) { \sowerphp\core\Model_Datasource_Session::message('Ocurrió un error al subir la firma', 'error'); return; } // cargar firma $data = file_get_contents($_FILES['firma']['tmp_name']); try { $Firma = new \sasco\LibreDTE\FirmaElectronica(['data' => $data, 'pass' => $_POST['contrasenia']]); } catch (\sowerphp\core\Exception $e) { \sowerphp\core\Model_Datasource_Session::message($e->getMessage(), 'error'); return; } // si todo fue ok se crea el objeto firma para la bd y se guarda $FirmaElectronica = new Model_FirmaElectronica($Firma->getID()); $FirmaElectronica->nombre = $Firma->getName(); $FirmaElectronica->email = $Firma->getEmail(); $FirmaElectronica->desde = $Firma->getFrom(); $FirmaElectronica->hasta = $Firma->getTo(); $FirmaElectronica->emisor = $Firma->getIssuer(); $FirmaElectronica->usuario = $this->Auth->User->id; $FirmaElectronica->archivo = base64_encode($data); $FirmaElectronica->contrasenia = \website\Dte\Utility_Data::encrypt($_POST['contrasenia']); try { $FirmaElectronica->save(); \sowerphp\core\Model_Datasource_Session::message('Se asoció la firma electrónica de ' . $Firma->getName() . ' (' . $Firma->getID() . ') al usuario ' . $this->Auth->User->usuario, 'ok'); $this->redirect('/dte/admin/firma_electronicas'); } catch (\sowerphp\core\Exception_Model_Datasource_Database $e) { \sowerphp\core\Model_Datasource_Session::message('Ocurrió un error al guardar la firma.<br/>' . $e->getMessage(), 'error'); return; } } }
* Debería haber recibido una copia de la Licencia Pública General GNU * junto a este programa. * En caso contrario, consulte <http://www.gnu.org/licenses/gpl.html>. */ /** * @file 019-firma_datos.php * * Ejemplo que muestra como obtener los datos de la persona dueña de la firma * electrónica * * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl) * @version 2015-09-22 */ // respuesta en texto plano header('Content-type: text/plain'); // incluir archivos php de la biblioteca y configuraciones include 'inc.php'; // objeto de la firma $Firma = new \sasco\LibreDTE\FirmaElectronica($config['firma']); // mostrar datos de la persona dueña de la firma echo 'RUN : ', $Firma->getID(), "\n"; echo 'Nombre : ', $Firma->getName(), "\n"; echo 'Email : ', $Firma->getEmail(), "\n"; echo 'Desde : ', $Firma->getFrom(), "\n"; echo 'Hasta : ', $Firma->getTo(), "\n"; echo 'Emisor : ', $Firma->getIssuer(), "\n\n\n"; print_r($Firma->getData()); // si hubo errores mostrar foreach (\sasco\LibreDTE\Log::readAll() as $error) { echo $error, "\n"; }