Inheritance: extends Controller
Exemplo n.º 1
0
 public function enviar()
 {
     try {
         $Sql = new Sql();
         $Sql->inicio();
         $agendaDAO = new AgendaDAO();
         $agenda = $agendaDAO->consultaCodigo(toNumero(GetVar('agenda')));
         $empregadosDAO = new EmpregadosDAO();
         $destinatarios = $empregadosDAO->listarSelecao(GetVar('destinatarios'));
         $emailController = new EmailController();
         $listaEmail = array();
         foreach ($destinatarios as $key => $empregado) {
             if ($empregado['email_emp'] != "") {
                 $listaEmail[] = array("email" => $empregado['email_emp'], "nome" => $empregado['nome_emp']);
             }
             $agendaEnviadoEmpreg = new AgendaEnviadoEmpreg();
             $agendaEnviadoEmpreg->setAgendaAee(toNumero(GetVar('agenda')));
             $agendaEnviadoEmpreg->setEmpregadoAee(toNumero($empregado['codigo_emp']));
             $agendaDAO->cadastrar($agendaEnviadoEmpreg, $codigo_aee, $Sql);
         }
         $emailController->setAssunto("Agendamento de Entrevista");
         $emailController->setConteudo($this->montaAgendamento($agenda[0]));
         $emailController->setListaEmail($listaEmail);
         $return = $emailController->enviarEmail();
         if (is_string($return)) {
             throw new Exception($return);
         }
         $Sql->commit($return);
         $result = $return ? 'Comunicado de Agendamento enviado com sucesso.' : 'Erro ao enviar Comunicado de Agendamento.';
         echo json_encode(array("success" => is_string($return) ? false : $return, "msg" => is_string($return) ? $return : $result));
     } catch (Exception $e) {
         echo json_encode(array("success" => false, "msg" => $e->getMessage()));
     }
 }
Exemplo n.º 2
0
 public function newPassword(User $user)
 {
     $newPassword = $this->generateNewPassword();
     $newUser = $this->dao->updatePassword($user, $newPassword);
     if ($newUser != null) {
         $emailController = new EmailController();
         if (!$emailController->sendNewPasswordEmail($newUser, $newPassword)) {
             throw new Exception("Falha ao enviar email com a nova senha!");
         }
         return true;
     }
     throw new Exception("Os dados informados não existem no sistema");
 }
Exemplo n.º 3
0
 static function addRoutes($app, $authenticateForRole)
 {
     $app->group('/send-email', $authenticateForRole('public'), function () use($app) {
         /*
          * token
          */
         $app->map("/validate-token/:token", function ($token) use($app) {
             EmailController::validateInviteToken($app, $token);
         })->via('GET', 'POST');
         /*
          * email, nameFirst (optional), nameLast (optional), phone (optional)
          */
         $app->map("/invite-player/", function () use($app) {
             EmailController::sendPlayerInviteEmail($app);
         })->via('GET', 'POST');
         /*
          * teamId, email, nameFirst (optional), nameLast (optional), phone (optional)
          */
         $app->map("/team-invite/", function () use($app) {
             EmailController::sendTeamInviteEmail($app);
         })->via('GET', 'POST');
         /*
          * teamId, userId, inviteToken
          */
         $app->map("/team-invite/accept/", function () use($app) {
             EmailController::acceptTeamInvite($app);
         })->via('GET', 'POST');
         /*
          * teamId, userId, inviteToken
          */
         $app->map("/team-invite/decline/", function () use($app) {
             EmailController::declineTeamInvite($app);
         })->via('GET', 'POST');
     });
 }
Exemplo n.º 4
0
 /**
  * Create a new User instance.
  *
  * @param  int  $idCourse
  * @param  int  $idCourse
  * @return int $idEnrollment
  */
 public static function request()
 {
     $app = \Slim\Slim::getInstance();
     $data = $app->request->post();
     $user = User::where('email', $data['email'])->first();
     if (!$user) {
         $app->response->setStatus(400);
         return json_encode("User does not exist");
     }
     $newpassword = self::updatePassword($user->id);
     $result = EmailController::changePassword($user->id, $newpassword);
     return $result;
 }
 public function enviar()
 {
     try {
         $Sql = new Sql();
         $Sql->inicio();
         $comunicadosDAO = new ComunicadosDAO();
         $comunicado = $comunicadosDAO->consultaCodigo(toNumero(GetVar('comunicado')));
         $empregadosDAO = new EmpregadosDAO();
         $destinatarios = $empregadosDAO->listarSelecao(GetVar('destinatarios'));
         $emailController = new EmailController();
         $listaEmail = array();
         foreach ($destinatarios as $key => $empregado) {
             if ($empregado['email_emp'] != "") {
                 $listaEmail[] = array("email" => $empregado['email_emp'], "nome" => $empregado['nome_emp']);
             }
             $comunicadoEmpreg = new ComunicadoEmpreg();
             $comunicadoEmpreg->setComunicadoCoe(toNumero(GetVar('comunicado')));
             $comunicadoEmpreg->setEmpregadoCoe(toNumero($empregado['codigo_emp']));
             $comunicadosDAO->cadastrar($comunicadoEmpreg, $codigo_coe, $Sql);
         }
         $emailController->setAssunto($comunicado[0]['titulo_com']);
         $emailController->setConteudo($comunicado[0]['comunicado_com']);
         $emailController->setListaEmail($listaEmail);
         $return = $emailController->enviarEmail();
         if (is_string($return)) {
             throw new Exception($return);
         }
         $comunicado = new Comunicado();
         $comunicado->setCodigoCom(toNumero(GetVar('comunicado')));
         $comunicado->setAlteracaoCom(toDateTime());
         $comunicadosDAO->alterar($comunicado, null, $Sql);
         $Sql->commit($return);
         $result = $return ? 'Comunicado enviado com sucesso.' : 'Erro ao enviar Comunicado.';
         echo json_encode(array("success" => is_string($return) ? false : $return, "msg" => is_string($return) ? $return : $result));
     } catch (Exception $e) {
         echo json_encode(array("success" => false, "msg" => $e->getMessage()));
     }
 }
Exemplo n.º 6
0
 public static function adicionar()
 {
     if (!empty($_FILES)) {
         $emails = file_get_contents($_FILES['arquivo']['tmp_name']);
         $emails = explode("\n", $emails);
         $contador = 0;
         foreach ($emails as $unidadeEmail) {
             if (strpos($unidadeEmail, "@") !== false) {
                 $email = new Email();
                 $email->email = $unidadeEmail;
                 $email->salvar();
                 $contador++;
             }
         }
         echo "<script>alert('Foram importados " . $contador . " emails!'); window.location.href='" . Configuracao::$baseUrl . self::$viewController . '/adicionar' . Configuracao::$extensaoPadrao . "'</script>";
     }
     self::$corpo = "adicionar";
     self::renderizar(self::$viewController);
 }
Exemplo n.º 7
0
 public function cadastrar()
 {
     try {
         $Sql = new Sql();
         $Sql->inicio();
         $elogiosDAO = new ElogiosDAO();
         $elogio = $elogiosDAO->listarElogio(toNumero(GetVar('elogio')));
         $elogioEnvio = new ElogioEnvio();
         $elogioEnvio->setElogioEen(toNumero(GetVar('elogio')));
         $elogioEnvio->setDataEen(toDateTime());
         $elogioEnvio->setDescricaoEen(toTexto(GetVar('descricao')));
         $elogioEnvio->setResponsavelEen(toTexto(GetVar('responsavel')));
         $codigo_een = "";
         $elogiosDAO->cadastrar($elogioEnvio, $codigo_een, $Sql);
         $elogios = array();
         $empregadosDAO = new EmpregadosDAO();
         $elogiados = $empregadosDAO->listarSelecao(GetVar('elogiados'));
         foreach ($elogiados as $key => $empregado) {
             $empregado['descricao_een'] = GetVar('descricao');
             $empregado['responsavel_een'] = GetVar('responsavel');
             $empregado['data_een'] = date("d/m/Y");
             $elogios[]["caminhoArquivo"] = $this->criaElogio($empregado, $elogio[0]['template_elo']);
             $elogioEnviadoEmpreg = new ElogioEnviadoEmpreg();
             $elogioEnviadoEmpreg->setElogioenvioEee(toNumero($codigo_een));
             $elogioEnviadoEmpreg->setEmpregadoEee(toNumero($empregado['codigo_emp']));
             $elogiosDAO->cadastrar($elogioEnviadoEmpreg, $codigo_eee, $Sql);
         }
         $emailController = new EmailController();
         $destinatarios = $empregadosDAO->listarSelecao(GetVar('destinatarios'));
         $listaEmail = array();
         foreach ($destinatarios as $key => $empregado) {
             if ($empregado['email_emp'] != "") {
                 $listaEmail[] = array("email" => $empregado['email_emp'], "nome" => $empregado['nome_emp']);
             }
         }
         $emailController->setAssunto("Elogios");
         $emailController->setConteudo("Elogios");
         $emailController->setListaAnexos($elogios);
         $emailController->setListaEmail($listaEmail);
         $return = $emailController->enviarEmail();
         if (is_string($return)) {
             throw new Exception($return);
         }
         $Sql->commit($return);
         $result = $return ? 'Elogio feito com sucesso.' : 'Erro ao fazer o Elogio.';
         echo json_encode(array("success" => is_string($return) ? false : $return, "msg" => is_string($return) ? $return : $result));
     } catch (Exception $e) {
         echo json_encode(array("success" => false, "msg" => $e->getMessage()));
     }
 }
Exemplo n.º 8
0
 /**
  * verify user email
  *
  * @param  string  $idUser, $email
  * @return Response
  */
 public static function verifyEmail()
 {
     $app = \Slim\Slim::getInstance();
     $data = $app->request->post();
     $app = \Slim\Slim::getInstance();
     $data = $app->request->get();
     if (!isset($data['source'])) {
         $app->halt('400', json_encode("Link is invalid."));
     }
     $id = openssl_decrypt($data['source'], 'aes128', self::$pass, 0, self::$iv);
     $tmp = Tmp_Email::find($id);
     if (!$tmp) {
         $app->halt('404', json_encode("Link is invalid."));
     }
     if (self::isExist($tmp->tmp_email)) {
         $app->halt('409', json_encode("Link is invalid. Email has already been used."));
     }
     $user = User::find($tmp->user_id);
     $user->email = $tmp->tmp_email;
     $saved = $user->save();
     if ($saved) {
         Tmp_Email::where('user_id', '=', $tmp->user_id)->delete();
         EmailController::changeEmailSuccess($tmp->user_id);
         return json_encode("success. Your email have already changed.");
     }
     $app->halt('500', json_encode("Save to DB error."));
 }
 function createProject()
 {
     $this->logger->debug("inside Create Project");
     if (isset($_POST['title'], $_POST['description'], $_POST['type'], $_POST['tech_skills'], $_POST['my_role'], $_POST['team_size'], $_POST['start'], $_POST['end'], $_POST['status'])) {
         $newProject = new Project($this->userId, 0, $_POST['title'], $_POST['description'], $_POST['type'], 1, 0, date("Y-m-d H:i:s"), 0, 0, date("Y-m-d H:i:s"), $_POST['tech_skills'], $_POST['my_role'], $_POST['team_size'], date('Y-m-d', strtotime($_POST['start'])), date('Y-m-d', strtotime($_POST['end'])), $_POST['status'], null, null, null);
         $this->logger->debug("project");
         try {
             $this->projectId = $this->projectsDAO->insert($newProject);
             $this->logger->debug("project id: " . $this->projectId);
             if ($_SERVER['HTTP_REFERER'] == $this->baseUrl . "completeProfile") {
                 echo $this->projectId;
             } else {
                 echo $this->baseUrl . "project/" . $this->projectId;
             }
             //header("location: " . );
             $newMember = new Team($this->userId, $this->projectId, 'defaultteam', 0, date("Y-m-d H:i:s"), 1, 0, 1, null);
             $this->teamsDAO->insert($newMember);
         } catch (Exception $e) {
             echo "Failed to post";
         }
     }
     if (isset($_POST['members']) && $_POST['members'] != '') {
         $subject = $this->firstName . " " . $this->lastName . " Added you as Collaborator";
         $body = $this->firstName . " " . $this->lastName . "has Added you as collaborator for project \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<br/>" . $_POST['title'] . "<br/><br/> View at http://collap.com/project/" . $this->projectId;
         $projectMembers = explode(',', $_POST['members']);
         foreach ($projectMembers as $key => $member) {
             //$emailController -> sendMail( $key, $temp->getSubject(), str_replace("{{ notification }}", $value, $temp->getBody()));
             EmailController::sendMail($member, $subject, $body);
         }
     }
 }
Exemplo n.º 10
0
 function testAssertValidFromAddressValidEmail()
 {
     $obj = new EmailController();
     $this->assertTrue($obj->assertValidFromAddress('*****@*****.**'));
 }
Exemplo n.º 11
0
        require 'controladores/products.php';
        ProductController::update();
        break;
    case 'GET | pedidos':
        autorizar(false);
        require 'controladores/requests.php';
        RequestController::lista();
        break;
    case 'POST | pedidos':
        autorizar(false);
        require 'controladores/requests.php';
        RequestController::crear();
        break;
    case 'POST | pedido/eliminar':
        autorizar(false);
        require 'controladores/requests.php';
        RequestController::eliminar();
        break;
    case 'POST | pedido/comprar':
        autorizar();
        require 'controladores/requests.php';
        RequestController::completar();
        break;
    case 'GET | email':
        require 'controladores/email.php';
        EmailController::enviar();
        break;
    default:
        $vista = '404.php';
        break;
}
Exemplo n.º 12
0
 function forgetPassword()
 {
     if (isset($_POST['forget_email'])) {
         $emailRequest = $_POST['forget_email'];
         if ($emailRequest == "" || preg_replace("/\\s+/", "", $emailRequest) == "") {
             //header('Location: #');
             //return false;
             echo "<span>Email cannot be empty</span>";
             die;
         } elseif (!preg_match("/^[^@]+@[^@.]+\\.[^@]*\\w\\w\$/", $emailRequest)) {
             //header('Location: #');
             //return false;
             echo "<span>Not a valid Email </span>";
             die;
         } else {
             try {
                 $isEmailExist = $this->userInfoDAO->queryByEmail($emailRequest);
                 //echo "<span>" . var_dump($isEmailExist) . "</span>";
             } catch (Exception $e) {
                 $this->logger->error("Error occur : in queryByEmail " . json_encode($e));
             }
             if ($isEmailExist) {
                 try {
                     $isAccessAidSet = $this->userAccessAidDAO->queryByUserIdStatus($isEmailExist[0]->getId());
                     //$already_sent_mail = mysqli_query($db_handle, "SELECT id, status, hash_key FROM user_access_aid WHERE user_id= '$user_id_access' AND status = '0';");
                 } catch (Exception $e) {
                     $this->logger->error("Error occur : in queryByUserIdStatus " . json_encode($e));
                 }
                 if ($isAccessAidSet) {
                     $hashValue = $isAccessAidSet[0]->getHashKey() . "." . $isAccessAidSet[0]->getId();
                     $body = "Hi " . $isEmailExist[0]->getFirstName() . " " . $isEmailExist[0]->getLastName() . ", <br/>\n\t\t\t\t\t\t\tYou recently requested a password reset.<br/>\n\t\t\t\t\t\t\tTo change your Collap password,<br/>\n\t\t\t\t\t\t\tClick <a href='" . $this->baseUrl . "forgetPassword?hash_key={$hashValue}' target='_blank'> Reset Password </a> <br/>\n\t\t\t\t\t\t\tOr Copy the link and open in browser:" . $this->baseUrl . "forgetPassword?hash_key={$hashValue}\n\t\t\t\t\t\t\t<br/><br/>\n\t\t\t\t\t\t\tThanks for using Collap! <br/>\n\t\t\t\t\t\t\tThe Collap Team";
                     EmailController::sendMail($isEmailExist[0]->getEmail(), "Password Recovery from Collap", $body);
                     echo "<span>\n\t\t\t\t\t\t\t\t<div class='jumbotron' style='margin-top: 10px; color: rgb(46, 19, 19); margin-bottom: 10px; padding-top: 10px; padding-bottom: 10px'>\n\t\t\t\t\t\t\t\t\t<p align='center'> Please check your Email, shortly you get an email, Go through your email and change your password<br>\n\t\t\t\t\t\t\t\t\t<br><a data-dismiss='modal' href='#login'>Go Back</a></p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</span>";
                     die;
                 } else {
                     $hash_key = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 32);
                     //mysqli_query($db_handle, "INSERT INTO user_access_aid (user_id, hash_key) VALUES ('$user_id_access', '$hash_key');");
                     $accessAidObj = new UserAccessAid($isEmailExist[0]->getId(), $hash_key, 0, date('Y-m-d G:i:s'));
                     $accessAidId = $this->userAccessAidDAO->insert($accessAidObj);
                     $hashValue = $hash_key . "." . $accessAidId;
                     $body = "Hi " . $isEmailExist[0]->getFirstName() . " " . $isEmailExist[0]->getLastName() . "<br/>\n\t\t\t\t\t\t\tYou recently requested a password reset.<br/>\n\t\t\t\t\t\t\tTo change your Collap password,<br/>\n\t\t\t\t\t\t\tClick <a href='" . $this->baseUrl . "forgetPassword?hash_key={$hashValue}' target='_blank'> Reset Password </a> <br/>\n\t\t\t\t\t\t\tOr Copy the link and open in browser:" . $this->baseUrl . "forgetPassword?hash_key={$hashValue}\n\t\t\t\t\t\t\t<br/><br/>\n\t\t\t\t\t\t\tThanks for using Collap! <br/>\n\t\t\t\t\t\t\tThe Collap Team";
                     EmailController::sendMail($isEmailExist[0]->getEmail(), "Password Recovery from Collap", $body);
                     echo "<span>\n\t\t\t\t\t\t\t\t\t<div class='jumbotron' style='margin-top: 10px; color: rgb(46, 19, 19); margin-bottom: 10px; padding-top: 10px; padding-bottom: 10px'>\n\t\t\t\t\t\t\t\t\t\t<p align='center'> Please check your Email, shortly you get an email, Go through your email and change your password<br>\n\t\t\t\t\t\t\t\t\t\t<br><a data-dismiss='modal' href='#login'>Go Back</a></p>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</span>";
                     die;
                 }
             } else {
                 echo "<span>No user is reistered with this Email.</span>";
                 die;
             }
         }
     }
 }
Exemplo n.º 13
0
 /**
  * @api {post} /groups/:idGroup/users/:id/invite Invite User
  * @apiName Invite User by Admin
  * @apiGroup Group
  * @apiHeader (Header) {String} X_Authorization Authorization value.
  * @apiParam  (url Parameter) {Number} idGroup Group unique ID.
  * @apiParam  (url Parameter) {Number} id Users unique ID. The operator's id, usually the admin of the group.
  * @apiParam  {String} email User's email.
  * 
  * @apiError 400 Input Invalid. This will happen if the param is missing or not the valid format.
  * @apiError 404 Not found. This will happen if the role id/user id/group id is not in our system.
  * @apiError 401 Not authorized. This will happen if the header value is not attached.
  * @apiError 409 The User already enrolled to this group. 
  * @apiError 412 The User are not in the same company as the manager.
  * 
  * @apiSuccess 200 New Invitation is created and email sent out.
  * @apiSuccess 203 The Invitation to this group already exist. No new recored created, no email send out.
  */
 public static function inviteUser($idGroup, $idUser)
 {
     $app = \Slim\Slim::getInstance();
     $request = $app->request->post();
     $validata = $app->validata;
     $validator = $validata::key('email', $validata::email()->notEmpty());
     if (!$validator->validate($request)) {
         $app->halt("400", json_encode("Input Invalid"));
     }
     $role = self::getRole($idGroup, $idUser);
     if ($role->id < 3) {
         $app->halt("403", json_encode("permission denied"));
     }
     $user = User::where('email', '=', $request['email'])->first();
     if (!$user) {
         $app->halt("404", json_encode("User not found."));
     }
     if (self::isMember($idGroup, $user->id)) {
         $app->halt("409", json_encode("User already in group."));
     }
     //self::sameCompanyRestriction($idGroup,$user->id);
     $invitation = Invitation::where('receiver_id', '=', $user->id)->where('group_id', '=', $idGroup)->first();
     if ($invitation) {
         $invitation->invited_at = date('Y-m-d H:i:s');
         $invitation->group_jointed_at = null;
         $invitation->save();
         $app->halt("202", json_encode("This user already has the same group invitation in record."));
     }
     User::find($user->id)->invitations()->create(['sender_id' => $idUser, 'group_id' => $idGroup, 'invited_at' => date('Y-m-d H:i:s')]);
     EmailController::noticificationReminder($user->id);
 }
<?php

require_once 'util/RequestsPatterns.php';
$jsonResponse = new JsonResponse();
if (RequestsPatterns::postParamsSetted('link', 'to', 'name_to') && RequestsPatterns::postParamsSent('link', 'to', 'name_to')) {
    require_once 'core/email/EmailController.php';
    require_once 'PublicationController.php';
    require_once 'PublicationDao.php';
    require_once 'Publication.php';
    require_once 'Analyse.php';
    require_once 'core/email/Content.php';
    require_once 'core/email/Email.php';
    $emailController = new EmailController();
    $analysisController = new PublicationController(new PublicationDao(Connection::connect()));
    $analysis = $analysisController->getAnAnalysis($_POST['link'], true);
    if ($emailController->setAnalysisEmail($analysis, $_POST['to'], $_POST['name_to'])) {
        print_r($jsonResponse->response(true, "Email enviado com sucesso")->serialize());
    } else {
        print_r($jsonResponse->response(false, "Não foi possível enviar o email")->serialize());
    }
} else {
    print_r($jsonResponse->response(false, "Alguns campos não foram enviados.")->serialize());
}