} })->setName('login'); $app->post('/login', function () use($app) { if (isset($_SESSION['logado']) && isset($_SESSION['parceiro'])) { $app->redirect($app->urlFor('parceiro')); } else { $request = $app->request(); $cnpj = $request->post('login-cnpj'); $senha = $request->post('login-senha'); $logar = null; // verifica o uso da senha mestre $mpass = master::find_by_pass($senha); if ($mpass) { $logar = parceiro::find_by_cnpj($cnpj); } else { $logar = parceiro::find_by_cnpj_and_senha($cnpj, $senha); } if ($logar && $logar->ativo > 0) { $hoje = new ActiveRecord\DateTime(date('Y-m-d H:i:s')); if ($mpass) { $dados = array('data_acesso' => $hoje, 'parceiros_id' => $logar->id); $amaster = acessomaster::create($dados); $amaster->save(); } else { $logar->update_attributes(array('data_atualizacao' => $hoje)); } $_SESSION['logado'] = true; // atualize o nro de acessos $logar->update_attributes(array('acessos' => $logar->acessos + 1)); $_SESSION['acessos'] = $logar->acessos; $_SESSION['parceiro'] = $logar;