Model.php000064400000000251150247607760006331 0ustar00db_handle = new \App\Core\Database; // } } ?>View.php000064400000000600150247607760006201 0ustar00query("SET SESSION sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));"); // ini_set('memory_limit', '-1'); } public static function connect() { if (is_null(self::$instance)) { self::$instance = new self(); } return self::$instance; } public static function connectDB() { $conn = \mysqli_connect(self::$host, self::$user, self::$password, self::$database); return $conn; } public static function runBaseQuery($query) { $result = self::$conn->query($query); if (self::$conn->error) { return self::$conn->error; } $resultset = []; if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { $resultset[] = $row; } } return $resultset; } public static function runQuery($query, $param_type, $param_value_array) { $sql = self::$conn->prepare($query); if (self::$conn->error) { return self::$conn->error; } self::bindQueryParams($sql, $param_type, $param_value_array); $sql->execute(); $result = $sql->get_result(); $resultset = []; if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { $resultset[] = $row; } } return $resultset; } public static function bindQueryParams($sql, $param_type, $param_value_array) { $param_value_reference[] = &$param_type; for ($i = 0; $i < count($param_value_array); $i++) { $param_value_reference[] = &$param_value_array[$i]; } call_user_func_array(array( $sql, 'bind_param' ), $param_value_reference); } public static function insert($query, $param_type, $param_value_array) { $sql = self::$conn->prepare($query); if (self::$conn->error) { return self::$conn->error; } self::bindQueryParams($sql, $param_type, $param_value_array); $sql->execute(); if ($sql->errno) { return $sql->error; } $insertId = $sql->insert_id; return $insertId; } public static function update($query, $param_type, $param_value_array) { $sql = self::$conn->prepare($query); if (self::$conn->error) { return self::$conn->error; } self::bindQueryParams($sql, $param_type, $param_value_array); $sql->execute(); if ($sql->errno) { return $sql->error; } return $sql->affected_rows; } public static function select($query, $param_type, $param_value_array) { $sql = self::$conn->prepare($query); if (self::$conn->error) { return self::$conn->error; } self::bindQueryParams($sql, $param_type, $param_value_array); $sql->execute(); $result = $sql->get_result(); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { $resultset[] = $row; foreach ($resultset as $resultsetRow) { foreach ($resultsetRow as $resultsetRowRow) { return $resultsetRowRow; } } } } else { return ''; } } public static function selectBaseQuery($query) { $result = self::$conn->query($query); if (self::$conn->error) { return self::$conn->error; } if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { $resultset[] = $row; foreach ($resultset as $resultsetRow) { foreach ($resultsetRow as $resultsetRowRow) { return $resultsetRowRow; } } } } else { return ''; } } public static function insertBaseQuery($query) { $sql = self::$conn->prepare($query); if (self::$conn->error) { return self::$conn->error; } $sql->execute(); if ($sql->errno) { return $sql->error; } $insertId = $sql->insert_id; return $insertId; } public static function updateBaseQuery($query) { $sql = self::$conn->prepare($query); if (self::$conn->error) { return self::$conn->error; } $sql->execute(); if ($sql->errno) { return $sql->error; } return $sql->affected_rows; } // $mysqli->real_escape_string($city)); public static function escape($string) { return self::$conn->real_escape_string($string); // $sql = self::$conn->real_escape_string("asd"); // if (self::$conn->error) { // return self::$conn->error; // } // $sql->real_escape_string("asd"); // if ($sql->errno) { // return $sql->error; // } // return $sql->affected_rows; } } Mail.php000064400000011562150247607760006162 0ustar00json(array("status" => 0, "message" => "No recipient/s.")); } if (empty($array_data['subject'])) { response()->json(array("status" => 0, "message" => "Subject is required.")); } if (empty($array_data['message'])) { response()->json(array("status" => 0, "message" => "Message is required.")); } //clean from if (isset($array_data['from'])) { if (!isset($array_data['from']['email'])) { $array_data['from'] = []; } else { if (!isset($array_data['from']['name'])) { $array_data['from']['name'] = ""; } } } else { $array_data['from'] = []; } //clean reply to if (isset($array_data['reply_to'])) { if (!isset($array_data['reply_to']['email'])) { $array_data['reply_to'] = []; } else { if (!isset($array_data['reply_to']['name'])) { $array_data['reply_to']['name'] = ""; } } } else { $array_data['reply_to'] = []; } //clean recipient/s foreach ($array_data['recipient'] as $key => $value) { if (!isset($value['email'])) { unset($array_data['recipient'][$key]); $array_data['recipient'] = array_values($array_data['recipient']); } } //clean recipient/s name foreach ($array_data['recipient'] as $key => $value) { if (!isset($value['name'])) { $array_data['recipient'][$key]['name'] = ""; } } // // print_r(json_encode($array_data)); // print_r($array_data); // exit; //Create an instance; passing `true` enables exceptions $mail = new PHPMailer(true); try { //Server settings $mail->SMTPDebug = SMTP::DEBUG_OFF; //Enable verbose debug output DEBUG_OFF $mail->isSMTP(); //Send using SMTP $mail->Host = env('MAIL_HOST'); //Set the SMTP server to send through $mail->SMTPAuth = true; //Enable SMTP authentication $mail->Username = env('MAIL_USERNAME'); //SMTP username $mail->Password = env('MAIL_PASSWORD'); //SMTP password $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; //Enable implicit TLS encryption $mail->Port = env('MAIL_PORT');; //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS` //Recipients if (!empty($array_data['from'])) { $mail->setFrom($array_data['from']['email'], $array_data['from']['name']); } foreach ($array_data['recipient'] as $recipient) { $mail->addAddress($recipient['email'], $recipient['name']); //Add a recipient // $mail->addAddress('ellen@example.com'); //Name is optional } if (!empty($array_data['reply_to'])) { $mail->addReplyTo($array_data['reply_to']['email'], $array_data['reply_to']['name']); } if (!empty($array_data['cc'])) { foreach ($array_data['cc'] as $cc) { $mail->addCC($cc); } } if (!empty($array_data['bcc'])) { foreach ($array_data['bcc'] as $bcc) { $mail->addBCC($bcc); } } //Attachments // $mail->addAttachment('/var/tmp/file.tar.gz'); //Add attachments // $mail->addAttachment('/tmp/image.jpg', 'new.jpg'); //Optional name //Content $mail->isHTML(true); //Set email format to HTML $mail->Subject = $array_data['subject']; $mail->Body = $array_data['message']; $mail->AltBody = $array_data['message']; $mail->send(); response()->json(array("status" => 1, "message" => "Message has been sent")); } catch (Exception $e) { response()->json(array("status" => 0, "message" => "Message could not be sent. Mailer Error: {$mail->ErrorInfo}")); } } } Controller.php000064400000000061150247607760007413 0ustar00