Location: PHPKode > projects > PhpWAFr - PHP Web Application Framework > phpwafr-1.1.2/content/object_save.php
<?php
/**
 * object_save.php ::  Transação de inclusão/alteração de registros.
 *
 * PHP version 4
 *
 * phpWAFr version 1.1.2
 * copyright (c) 2007 Associação SoftwareLivre.org
 *
 * phpWAFr is an open source PHP library designed to accelerate
 * the development of transactional database Web applications.
 *
 * phpWAFr is released under the terms of the LGPL license 2.1
 * http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html  LGPL License 2.1
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * @package    phpWAFr
 * @version    1.1.2
 * @author     Marcelo Rezende <hide@address.com>
 * @copyright  copyright (c) 2007 Associação SoftwareLivre.org
 * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html  LGPL License 2.1
 */ 

require_once("../inc/common.php");

/*
	verificação do nível do usuário
*/
verifyUser(1);

/*
	conexão com o banco de dados
*/
$conn = new db();
$conn->open();

/*
	tratamento de campos,
	configure conforme sua necessidade,
	siga o exemplo abaixo
*/
$data_cadastro = dtos(      getParam("f_data_cadastro"));
$ativo 		   = strlen(    getParam("f_ativo"))==0?"0":getParam("f_ativo");
$descricao     = addslashes(getParam("f_descricao"));

/*
	validação,
	coloque aqui estruturas condicionais que
	alimentem o objeto Erro. siga o exemplo abaixo.
*/
$error = new Error();
if (getParam("f_nome_usuario") == "")   	 $error->addError('Nome de usuário deve ser informado.');
if (getParam("f_password")     == "")   	 $error->addError('Senha deve ser informada.');
if (strlen(getParam("f_password")) < 6) 	 $error->addError('Senha deve ter 6 ou mais caracteres.');
if (isDuplicated("usuario", "nome_usuario", "usuario_id", getParam("f_nome_usuario"), getParam("f_id"))) 
	  										 $error->addError('Nome de usuário já existe.');
if (!ereg(REGEX_EMAIL, getParam("f_email"))) $error->addError('Endereço de e-mail inválido.');

/*
	Atualização dos dados, configure abaixo
	conforme suas necessidades
*/
if (!$error->hasError()) { // passou na validação
	// objeto para montagem de expressão sql
	$sql = new UpdateSQL();
	
	$sql->setTable("usuario");
	$sql->setKey("usuario_id", 		  getParam("f_id"), 			 "Number");
	
	$sql->addField("data_cadastro",   $data_cadastro, 	  			 "Date");
	$sql->addField("nome_usuario", 	  getParam("f_nome_usuario"), 	 "String");
	$sql->addField("senha", 		  getParam("f_password"), 	 	 "String");
	$sql->addField("nivel_acesso",    getParam("f_nivel_acesso"), 	 "Number");
	$sql->addField("nome_real", 	  getParam("f_nome_real"), 		 "String");
	$sql->addField("departamento_id", getParam("f_departamento_id"), "Number");
	$sql->addField("email", 		  getParam("f_email"), 	 		 "String");
	$sql->addField("descricao", 	  $descricao, 					 "String");
	$sql->addField("ativo", 		  $ativo, 						 "Number");
	
	if (strlen(getParam("f_id")) > 0) { // alteração, retirar strlen se vier de edicao_aux
		$sql->setAction("UPDATE");
		$conn->execute($sql->getSQL());
		$target_page = "../content/object_list.php"; 
	} else { // inclusão
		$sql->setAction("INSERT");
		$last_id = $conn->execute($sql->getSQL());
		$target_page = "../content/object_edit.php?id=$last_id";
	}
	
	// volta para a lista ou reapresenta o formulário em modo de edição
	redirect($target_page,"content");
} else { // não passou na validação
	alert('Ocorreram os seguintes erros!\n\n'.$error->toString());
}
/*
	Encerra a conexão com o banco de dados
*/
$conn->close();
?>
Return current item: PhpWAFr - PHP Web Application Framework