- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试设置一个 Laravel 网站,并且我已经能够完成一些工作,但随后我遇到了此错误。
出于安全原因,mail() 已被禁用
我曾尝试联系我的托管服务提供商以协助激活该功能,但他们让我大吃一惊,说他们无法激活该功能,我应该尝试修改邮件程序的标题,以便它不需要这样做。
请问我怎么能做到这一点,因为我不是邮件 php 的专家。
这是我的错误如下:
ErrorException thrown with message "mail() has been disabled for security reasons"
Stacktrace:
#57 ErrorException in /home/zcashcom/public_html/invest/core/app/Http/helpers/helpers.php:19
#56 mail in /home/zcashcom/public_html/invest/core/app/Http/helpers/helpers.php:19
这是文件的完整代码,有问题的 helpers.php
<?php
use App\General;
use App\User;
use App\MemberExtra;
function send_email($to, $subject, $name, $message){
$general = General::first();
if ($general->email_nfy == 1){
$headers = "From: ".$general->web_title." <".$general->esender."> \r\n";
$headers .= "Reply-To: ".$general->web_title." <".$general->esender."> \r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$template = $general->emessage;
$mm = str_replace("{{name}}",$name,$template);
$message = str_replace("{{message}}",$message,$mm);
mail($to, $subject, $message, $headers);
}else {
return;
}
}
function send_sms( $to, $message){
$gnl = General::first();
if($gnl->sms_nfy == 1) {
$sendtext = urlencode("$message");
$appi = $gnl->smsapi;
$appi = str_replace("{{number}}",$to,$appi);
$appi = str_replace("{{message}}",$sendtext,$appi);
$result = file_get_contents($appi);
}
return;
}
function updateDepositBV($id, $deposit_amount)
{
while($id !="" || $id != "0") {
if(isMemberExists($id))
{
$posid = getParentId($id);
if($posid == "0")
break;
$position = getPositionParent($id);
$currentBV = MemberExtra::where('user_id', $posid)->first();
if($position == "L"){
$new_lbv = $currentBV->left_bv + $deposit_amount ;
$new_rbv = $currentBV->right_bv;
}else{
$new_lbv = $currentBV->left_bv;
$new_rbv = $currentBV->right_bv + $deposit_amount ;
}
MemberExtra::where('user_id', $posid)
->update([
'left_bv' => $new_lbv,
'right_bv' => $new_rbv,
]);
$id = $posid;
} else {
break;
}
}//while
return 0;
}
function updatePaid($id){
while($id!=""||$id!="0"){
if(isMemberExists($id)) {
$posid=getParentId($id);
if($posid == "0")
break;
$position = getPositionParent($id);
$currentCount = MemberExtra::where('user_id',$posid )->first();
$new_lpaid = $currentCount->left_paid;
$new_rpaid = $currentCount->right_paid;
$new_lfree = $currentCount->left_free;
$new_rfree = $currentCount->right_free;
if($position == "L") {
$new_lfree = $new_lfree-1;
$new_lpaid = $new_lpaid+1;
}else {
$new_rfree = $new_rfree-1;
$new_rpaid = $new_rpaid+1;
}
MemberExtra::where('user_id', $posid)
->update([
'left_paid' => $new_lpaid,
'right_paid' => $new_rpaid,
'left_free' => $new_lfree,
'right_free' => $new_rfree,
]);
$id =$posid;
} else {
break;
}
}
return 0;
}
function treeeee($id ='', $uid=''){
while($id!=""||$id!="0") {
if(isMemberExists($id)){
$posid=getParentId($id);
if($posid=="0")
break;
if($posid==$uid){
return true;
}
$id =$posid;
} else {
break;
}
}//while
return 0;
}
function printBV($id){
$cbv = MemberExtra::where('user_id', $id)->first();
$rid = User::whereId($id)->first();
$rnm = User::where('id', $rid->referrer_id)->first();
echo "<b>Referred By:</b> $rnm->username <br>";
echo "<b>Current BV:</b> L-$cbv->left_bv | R-$cbv->right_bv <br>";
}
function printBelowMember($id){
$bmbr = MemberExtra::where('user_id', $id)->first() ;
echo "<b>Paid Member Below:</b> L-$bmbr->left_paid | R-$bmbr->right_paid <br>";
echo "<b>Free Member Below:</b> L-$bmbr->left_free | R-$bmbr->right_free <br>";
}
function updateMemberBelow($id='', $type=''){
while($id!=""||$id!="0") {
if(isMemberExists($id)) {
$posid=getParentId($id);
if($posid=="0")
break;
$position=getPositionParent($id);
$currentCount = MemberExtra::where('user_id', $posid)->first() ;
$new_lpaid = $currentCount->left_paid;
$new_rpaid = $currentCount->right_paid;
$new_lfree = $currentCount->left_free;
$new_rfree = $currentCount->right_free;
if($position=="L") {
if($type=='FREE'){
$new_lfree = $new_lfree + 1;
}else{
$new_lpaid = $new_lpaid+1;
}
}else {
if($type=='FREE'){
$new_rfree = $new_rfree + 1;
}else{
$new_rpaid = $new_rpaid+1;
}
}
MemberExtra::where('user_id', $posid)
->update([
'left_paid' => $new_lpaid,
'right_paid' => $new_rpaid,
'left_free' => $new_lfree,
'right_free' => $new_rfree,
]);
$id =$posid;
} else{
break;
}
}
return 0;
}
function getParentId($id){
$count = User::whereId($id)->count() ;
$posid = User::whereId($id)->first();
if ($count == 1){
return $posid->posid;
}else{
return 0;
}
}
function getPositionParent($id){
$count = User::whereId($id)->count();
$position = User::whereId($id)->first() ;
if ($count == 1){
return $position->position;
}else{
return 0;
}
}
function getLastChildOfLR($parentid ,$position){
$childid = getTreeChildId($parentid, $position);
if($childid!="-1"){
$id = $childid;
} else {
$id = $parentid;
}
while($id!=""||$id!="0") {
if(isMemberExists($id)) {
$nextchildid = getTreeChildId($id, $position);
if($nextchildid == "-1"){
break;
}else{
$id = $nextchildid;
}
}else break;
}
return $id;
}
function getTreeChildId($parentid ,$position){
$cou = User::where('posid', $parentid)->where('position', $position)->count();
$cid = User::where('posid', $parentid)->where('position', $position)->first();
if ($cou == 1){
return $cid->id;
}else{
return -1;
}
}
function isMemberExists($id){
$count = User::where('id', $id)->count();
if ($count == 1){
return true;
}else{
return false;
}
}
function Short_Text($data,$length){
$first_part = explode(" ",$data);
$main_part = strip_tags(implode(' ',array_splice($first_part,0, $length)));
return $main_part ."...." ;
}
function ImageCheck($ext){
if($ext != 'jpg' && $ext != 'jpeg' && $ext != 'png' && $ext != 'bnp'){
$ext = "";
}
return $ext;
}
function NewFile($name, $data){
$fh = fopen($name, "w");
fwrite($fh,$data);
fclose($fh);
}
function ViewFile($name){
$fh = fopen($name, "r");
$data = fread($fh,filesize($name));
fclose($fh);
return $data;
}
function Find_fist_int($string){
preg_match_all('!\d+!', $string, $matches);
if($matches[0] != ""){
foreach($matches[0] as $key => $value){
$url = $value;
return $url;
break;
}
}
}
function Replace($data) {
$data = str_replace("'", "", $data);
$data = str_replace("!", "", $data);
$data = str_replace("@", "", $data);
$data = str_replace("#", "", $data);
$data = str_replace("$", "", $data);
$data = str_replace("%", "", $data);
$data = str_replace("^", "", $data);
$data = str_replace("&", "", $data);
$data = str_replace("*", "", $data);
$data = str_replace("(", "", $data);
$data = str_replace(")", "", $data);
$data = str_replace("+", "", $data);
$data = str_replace("=", "", $data);
$data = str_replace(",", "", $data);
$data = str_replace(":", "", $data);
$data = str_replace(";", "", $data);
$data = str_replace("|", "", $data);
$data = str_replace("'", "", $data);
$data = str_replace('"', "", $data);
$data = str_replace("?", "", $data);
$data = str_replace(" ", "_", $data);
$data = str_replace("'", "", $data);
$data = str_replace(".", "-", $data);
$data = strtolower(str_replace(" ", "-", $data));
$data = strtolower(str_replace(" ", "-", $data));
$data = strtolower(str_replace(" ", "-", $data));
$data = strtolower(str_replace("__", "-", $data));
return str_replace("_", "-", $data);
}
**根据第一 react 进行编辑
<?php
namespace App\Http\Controllers\Auth;
use App\ChargeCommision;
use App\Income;
use App\MemberExtra;
use App\User;
use App\General;
use App\Http\Controllers\Controller;
use Carbon\Carbon;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Http\Request;
use Illuminate\Auth\Events\Registered;
class RegisterController extends Controller
{
/*
|--------------------------------------------------------------------------
| Register Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users as well as their
| validation and creation. By default this controller uses a trait to
| provide this functionality without requiring any additional code.
|
*/
use RegistersUsers;
/**
* Where to redirect users after registration.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
'referrer_id' => 'required',
'position' => 'required',
'first_name' => ['required', 'regex:/^[A-ZÀÂÇÉÈÊËÎÏÔÛÙÜŸÑÆŒa-zàâçéèêëîïôûùüÿñæœ0-9_.,() ]+$/'],
'last_name' => ['required', 'regex:/^[A-ZÀÂÇÉÈÊËÎÏÔÛÙÜŸÑÆŒa-zàâçéèêëîïôûùüÿñæœ0-9_.,() ]+$/'],
'birth_day' => 'required',
'mobile' => 'required',
'street_address' => 'required',
'city' => ['required', 'regex:/^[A-ZÀÂÇÉÈÊËÎÏÔÛÙÜŸÑÆŒa-zàâçéèêëîïôûùüÿñæœ0-9_.,() ]+$/'],
'post_code' => 'required|numeric|min:0',
'country' => 'required',
'username' => 'required',
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return \App\User
*/
protected function create(array $data)
{
$pin = substr(time(), 4);
$ref_id = $data['referrer_id'];
$poss = $data['position'];
$posid = getLastChildOfLR($ref_id,$poss);
// $general = General::first();
$message = '<tr>';
$message .='<td style="font-family: sans-serif; font-size: 14px; vertical-align: top;">';
$message .='<p style="font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; Margin-bottom: 15px;color:green;">Our warmest congratulations on your new account opening! This only shows that you have grown your business well. I pray for your prosperous.</p>';
$message .='<p style="font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; Margin-bottom: 15px;">You have taken this path knowing that you can do it. Good luck with your new business. I wish you all the success and fulfillment towards your goal.</p>';
$message .='<p style="font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; Margin-bottom: 15px;">Your username is '.$data['username'].' .</p>';
$message .='<p style="font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; Margin-bottom: 15px;">Your password is '.$data['password'].' .</p>';
$message .='<p style="font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; Margin-bottom: 15px; color:red;">Remember, never share your password with otherone. And you are agree with our Terms and Policy.</p>';
$message .='</td>';
$message .='</tr>';
send_email($data['email'], 'Account Created Successfully', $data['first_name'], $message);
$sms = 'Congratulation, for registration. Your username is '.$data['username'].'. Your password is '.$data['password'].'';
send_sms($data['mobile'], $sms);
return User::create([
'email' => $data['email'],
'password' => bcrypt($data['password']),
'referrer_id' => $data['referrer_id'],
'position' => $data['position'],
'first_name' => $data['first_name'],
'last_name' => $data['last_name'],
'mobile' => $data['mobile'],
'street_address' => $data['street_address'],
'city' => $data['city'],
'post_code' => $data['post_code'],
'country' => $data['country'],
'username' => $data['username'],
'birth_day' => date('Y-m-d',strtotime($data['birth_day'])),
'join_date' => Carbon::today(),
'balance' => 0,
'status' => 1,
'paid_status' => 0,
'ver_status' => 0,
'ver_code' => $pin,
'forget_code' => 0,
'posid' => $posid,
'tauth' => 0,
'tfver' => 1,
'emailv' => 0,
'smsv' => 1,
]);
}
public function register(Request $request)
{
$this->validator($request->all())->validate();
event(new Registered($user = $this->create($request->all())));
$this->guard()->login($user);
MemberExtra::create([
'user_id' => $user['id'],
'left_paid' => 0,
'right_paid' => 0,
'left_free' => 0,
'right_free' => 0,
'left_bv' => 0,
'right_bv' => 0,
]);
updateMemberBelow($user['id'], 'FREE');
return $this->registered($request, $user)
?: redirect($this->redirectPath());
}
}
和 RedirectifAuthenticated.php:24
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class RedirectIfAuthenticated
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/home');
}
return $next($request);
}
}
错误消息的图像
<?php
return [
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
'name' => env('MAIL_FROM_NAME', 'Example'),
],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'sendmail' => '/usr/sbin/sendmail -bs',
'markdown' => [
'theme' => 'default',
'paths' => [
resource_path('views/vendor/mail'),
],
],
];
根据评论中的响应进行配置后,我收到一条新的错误消息
Call to undefined function App\Http\Controllers\Auth\getLastChildOfLR()
注册 Controller .php:87
<?php
namespace App\Http\Controllers\Auth;
use App\ChargeCommision;
use App\Income;
use App\MemberExtra;
use App\User;
use App\General;
use App\Http\Controllers\Controller;
use Carbon\Carbon;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Http\Request;
use Illuminate\Auth\Events\Registered;
class RegisterController extends Controller
{
/*
|--------------------------------------------------------------------------
| Register Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users as well as their
| validation and creation. By default this controller uses a trait to
| provide this functionality without requiring any additional code.
|
*/
use RegistersUsers;
/**
* Where to redirect users after registration.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
'referrer_id' => 'required',
'position' => 'required',
'first_name' => ['required', 'regex:/^[A-ZÀÂÇÉÈÊËÎÏÔÛÙÜŸÑÆŒa-zàâçéèêëîïôûùüÿñæœ0-9_.,() ]+$/'],
'last_name' => ['required', 'regex:/^[A-ZÀÂÇÉÈÊËÎÏÔÛÙÜŸÑÆŒa-zàâçéèêëîïôûùüÿñæœ0-9_.,() ]+$/'],
'birth_day' => 'required',
'mobile' => 'required',
'street_address' => 'required',
'city' => ['required', 'regex:/^[A-ZÀÂÇÉÈÊËÎÏÔÛÙÜŸÑÆŒa-zàâçéèêëîïôûùüÿñæœ0-9_.,() ]+$/'],
'post_code' => 'required|numeric|min:0',
'country' => 'required',
'username' => 'required',
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return \App\User
*/
protected function create(array $data)
{
$pin = substr(time(), 4);
$ref_id = $data['referrer_id'];
$poss = $data['position'];
$posid = getLastChildOfLR($ref_id,$poss);
// $general = General::first();
$message = '<tr>';
$message .='<td style="font-family: sans-serif; font-size: 14px; vertical-align: top;">';
$message .='<p style="font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; Margin-bottom: 15px;color:green;">Our warmest congratulations on your new account opening! This only shows that you have grown your business well. I pray for your prosperous.</p>';
$message .='<p style="font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; Margin-bottom: 15px;">You have taken this path knowing that you can do it. Good luck with your new business. I wish you all the success and fulfillment towards your goal.</p>';
$message .='<p style="font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; Margin-bottom: 15px;">Your username is '.$data['username'].' .</p>';
$message .='<p style="font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; Margin-bottom: 15px;">Your password is '.$data['password'].' .</p>';
$message .='<p style="font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; Margin-bottom: 15px; color:red;">Remember, never share your password with otherone. And you are agree with our Terms and Policy.</p>';
$message .='</td>';
$message .='</tr>';
send_email($data['email'], 'Account Created Successfully', $data['first_name'], $message);
$sms = 'Congratulation, for registration. Your username is '.$data['username'].'. Your password is '.$data['password'].'';
send_sms($data['mobile'], $sms);
return User::create([
'email' => $data['email'],
'password' => bcrypt($data['password']),
'referrer_id' => $data['referrer_id'],
'position' => $data['position'],
'first_name' => $data['first_name'],
'last_name' => $data['last_name'],
'mobile' => $data['mobile'],
'street_address' => $data['street_address'],
'city' => $data['city'],
'post_code' => $data['post_code'],
'country' => $data['country'],
'username' => $data['username'],
'birth_day' => date('Y-m-d',strtotime($data['birth_day'])),
'join_date' => Carbon::today(),
'balance' => 0,
'status' => 1,
'paid_status' => 0,
'ver_status' => 0,
'ver_code' => $pin,
'forget_code' => 0,
'posid' => $posid,
'tauth' => 0,
'tfver' => 1,
'emailv' => 0,
'smsv' => 1,
]);
}
public function register(Request $request)
{
$this->validator($request->all())->validate();
event(new Registered($user = $this->create($request->all())));
$this->guard()->login($user);
MemberExtra::create([
'user_id' => $user['id'],
'left_paid' => 0,
'right_paid' => 0,
'left_free' => 0,
'right_free' => 0,
'left_bv' => 0,
'right_bv' => 0,
]);
updateMemberBelow($user['id'], 'FREE');
return $this->registered($request, $user)
?: redirect($this->redirectPath());
}
}
最佳答案
如果出于安全原因停用邮件,则不应使用它。事实上,如果你用谷歌搜索这个主题,你会发现一些严重的结果,为什么你不应该使用它。
我希望你在你的主机上有一个电子邮件帐户,对吗?那么你有什么理由不想使用 laravel 的邮件功能呢?
在您的 .env 文件中,您为您的电子邮件帐户设置了正确的参数:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.googlemail.com
MAIL_PORT=465
MAIL_USERNAME=name@gmail.com
MAIL_PASSWORD=password
MAIL_ENCRYPTION=ssl
有时您还需要定义 MAIL_FROM_ADDRESS 参数。如果您不确定您会在配置的 mail.php 文件中找到所有可能的配置选项。
Mail::raw('your message', function ($message) use ($request) {
$message->to('email@receiver.com');
$message->from('youremail@sender.com');
$message->subject("Email subject");
});
我不知道你想达到什么目的,但如果你只想发送一些简单的信息,也许你应该使用 laravel 通知。
<?php
//edited
use App\General;
use App\User;
use App\MemberExtra;
function send_email($to, $subject, $name, $message){
$general = General::first();
if ($general->email_nfy == 1){
$headers = "From: ".$general->web_title." <".$general->esender."> \r\n";
$headers .= "Reply-To: ".$general->web_title." <".$general->esender."> \r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$template = $general->emessage;
$mm = str_replace("{{name}}",$name,$template);
$message = str_replace("{{message}}",$message,$mm);
//mail($to, $subject, $message, $headers);
}else {
return;
}
}
function send_sms( $to, $message){
$gnl = General::first();
if($gnl->sms_nfy == 1) {
$sendtext = urlencode("$message");
$appi = $gnl->smsapi;
$appi = str_replace("{{number}}",$to,$appi);
$appi = str_replace("{{message}}",$sendtext,$appi);
$result = file_get_contents($appi);
}
return;
}
function updateDepositBV($id, $deposit_amount)
{
while($id !="" || $id != "0") {
if(isMemberExists($id))
{
$posid = getParentId($id);
if($posid == "0")
break;
$position = getPositionParent($id);
$currentBV = MemberExtra::where('user_id', $posid)->first();
if($position == "L"){
$new_lbv = $currentBV->left_bv + $deposit_amount ;
$new_rbv = $currentBV->right_bv;
}else{
$new_lbv = $currentBV->left_bv;
$new_rbv = $currentBV->right_bv + $deposit_amount ;
}
MemberExtra::where('user_id', $posid)
->update([
'left_bv' => $new_lbv,
'right_bv' => $new_rbv,
]);
$id = $posid;
} else {
break;
}
}//while
return 0;
}
function updatePaid($id){
while($id!=""||$id!="0"){
if(isMemberExists($id)) {
$posid=getParentId($id);
if($posid == "0")
break;
$position = getPositionParent($id);
$currentCount = MemberExtra::where('user_id',$posid )->first();
$new_lpaid = $currentCount->left_paid;
$new_rpaid = $currentCount->right_paid;
$new_lfree = $currentCount->left_free;
$new_rfree = $currentCount->right_free;
if($position == "L") {
$new_lfree = $new_lfree-1;
$new_lpaid = $new_lpaid+1;
}else {
$new_rfree = $new_rfree-1;
$new_rpaid = $new_rpaid+1;
}
MemberExtra::where('user_id', $posid)
->update([
'left_paid' => $new_lpaid,
'right_paid' => $new_rpaid,
'left_free' => $new_lfree,
'right_free' => $new_rfree,
]);
$id =$posid;
} else {
break;
}
}
return 0;
}
function treeeee($id ='', $uid=''){
while($id!=""||$id!="0") {
if(isMemberExists($id)){
$posid=getParentId($id);
if($posid=="0")
break;
if($posid==$uid){
return true;
}
$id =$posid;
} else {
break;
}
}//while
return 0;
}
function printBV($id){
$cbv = MemberExtra::where('user_id', $id)->first();
$rid = User::whereId($id)->first();
$rnm = User::where('id', $rid->referrer_id)->first();
echo "<b>Referred By:</b> $rnm->username <br>";
echo "<b>Current BV:</b> L-$cbv->left_bv | R-$cbv->right_bv <br>";
}
function printBelowMember($id){
$bmbr = MemberExtra::where('user_id', $id)->first() ;
echo "<b>Paid Member Below:</b> L-$bmbr->left_paid | R-$bmbr->right_paid <br>";
echo "<b>Free Member Below:</b> L-$bmbr->left_free | R-$bmbr->right_free <br>";
}
function updateMemberBelow($id='', $type=''){
while($id!=""||$id!="0") {
if(isMemberExists($id)) {
$posid=getParentId($id);
if($posid=="0")
break;
$position=getPositionParent($id);
$currentCount = MemberExtra::where('user_id', $posid)->first() ;
$new_lpaid = $currentCount->left_paid;
$new_rpaid = $currentCount->right_paid;
$new_lfree = $currentCount->left_free;
$new_rfree = $currentCount->right_free;
if($position=="L") {
if($type=='FREE'){
$new_lfree = $new_lfree + 1;
}else{
$new_lpaid = $new_lpaid+1;
}
}else {
if($type=='FREE'){
$new_rfree = $new_rfree + 1;
}else{
$new_rpaid = $new_rpaid+1;
}
}
MemberExtra::where('user_id', $posid)
->update([
'left_paid' => $new_lpaid,
'right_paid' => $new_rpaid,
'left_free' => $new_lfree,
'right_free' => $new_rfree,
]);
$id =$posid;
} else{
break;
}
}
return 0;
}
function getParentId($id){
$count = User::whereId($id)->count() ;
$posid = User::whereId($id)->first();
if ($count == 1){
return $posid->posid;
}else{
return 0;
}
}
function getPositionParent($id){
$count = User::whereId($id)->count();
$position = User::whereId($id)->first() ;
if ($count == 1){
return $position->position;
}else{
return 0;
}
}
function getLastChildOfLR($parentid ,$position){
$childid = getTreeChildId($parentid, $position);
if($childid!="-1"){
$id = $childid;
} else {
$id = $parentid;
}
while($id!=""||$id!="0") {
if(isMemberExists($id)) {
$nextchildid = getTreeChildId($id, $position);
if($nextchildid == "-1"){
break;
}else{
$id = $nextchildid;
}
}else break;
}
return $id;
}
function getTreeChildId($parentid ,$position){
$cou = User::where('posid', $parentid)->where('position', $position)->count();
$cid = User::where('posid', $parentid)->where('position', $position)->first();
if ($cou == 1){
return $cid->id;
}else{
return -1;
}
}
function isMemberExists($id){
$count = User::where('id', $id)->count();
if ($count == 1){
return true;
}else{
return false;
}
}
function Short_Text($data,$length){
$first_part = explode(" ",$data);
$main_part = strip_tags(implode(' ',array_splice($first_part,0, $length)));
return $main_part ."...." ;
}
function ImageCheck($ext){
if($ext != 'jpg' && $ext != 'jpeg' && $ext != 'png' && $ext != 'bnp'){
$ext = "";
}
return $ext;
}
function NewFile($name, $data){
$fh = fopen($name, "w");
fwrite($fh,$data);
fclose($fh);
}
function ViewFile($name){
$fh = fopen($name, "r");
$data = fread($fh,filesize($name));
fclose($fh);
return $data;
}
function Find_fist_int($string){
preg_match_all('!\d+!', $string, $matches);
if($matches[0] != ""){
foreach($matches[0] as $key => $value){
$url = $value;
return $url;
break;
}
}
}
function Replace($data) {
$data = str_replace("'", "", $data);
$data = str_replace("!", "", $data);
$data = str_replace("@", "", $data);
$data = str_replace("#", "", $data);
$data = str_replace("$", "", $data);
$data = str_replace("%", "", $data);
$data = str_replace("^", "", $data);
$data = str_replace("&", "", $data);
$data = str_replace("*", "", $data);
$data = str_replace("(", "", $data);
$data = str_replace(")", "", $data);
$data = str_replace("+", "", $data);
$data = str_replace("=", "", $data);
$data = str_replace(",", "", $data);
$data = str_replace(":", "", $data);
$data = str_replace(";", "", $data);
$data = str_replace("|", "", $data);
$data = str_replace("'", "", $data);
$data = str_replace('"', "", $data);
$data = str_replace("?", "", $data);
$data = str_replace(" ", "_", $data);
$data = str_replace("'", "", $data);
$data = str_replace(".", "-", $data);
$data = strtolower(str_replace(" ", "-", $data));
$data = strtolower(str_replace(" ", "-", $data));
$data = strtolower(str_replace(" ", "-", $data));
$data = strtolower(str_replace("__", "-", $data));
return str_replace("_", "-", $data);
}
如果您在 .env 文件中配置了您的电子邮件帐户,这只会很困难。
关于laravel - ErrorException 抛出消息“出于安全原因,mail() 已被禁用”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62627774/
我一直在读到,如果一个集合“被释放”,它也会释放它的所有对象。另一方面,我还读到,一旦集合被释放,集合就会释放它的对象。 但最后一件事可能并不总是发生,正如苹果所说。系统决定是否取消分配。在大多数情况
我有一个客户端-服务器应用程序,它使用 WCF 进行通信,并使用 NetDataContractSerializer 序列化对象图。 由于服务器和客户端之间传输了大量数据,因此我尝试通过微调数据成员的
我需要有关 JMS 队列和消息处理的帮助。 我有一个场景,需要针对特定属性组同步处理消息,但可以在不同属性组之间同时处理消息。 我了解了特定于每个属性的消息组和队列的一些知识。我的想法是,我想针对
我最近开始使用 C++,并且有一种强烈的冲动 #define print(msg) std::cout void print(T const& msg) { std::cout void
我已经为使用 JGroups 编写了简单的测试。有两个像这样的简单应用程序 import org.jgroups.*; import org.jgroups.conf.ConfiguratorFact
这个问题在这里已经有了答案: Firebase messaging is not supported in your browser how to solve this? (3 个回答) 7 个月前关
在我的 C# 控制台应用程序中,我正在尝试更新 CRM 2016 中的帐户。IsFaulted 不断返回 true。当我向下钻取时它返回的错误消息如下: EntityState must be set
我正在尝试通过 tcp 将以下 json 写入 graylog 服务器: {"facility":"GELF","file":"","full_message":"Test Message Tcp",
我正在使用 Django 的消息框架来指示成功的操作和失败的操作。 如何排除帐户登录和注销消息?目前,登录后登陆页面显示 已成功登录为“用户名”。我不希望显示此消息,但应显示所有其他成功消息。我的尝试
我通过编写禁用qDebug()消息 CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG_OUTPUT 在.pro文件中。这很好。我想知道是否可以
我正在使用 ThrottleRequest 来限制登录尝试。 在 Kendler.php 我有 'throttle' => \Illuminate\Routing\Middleware\Throttl
我有一个脚本,它通过die引发异常。捕获异常时,我想输出不附加位置信息的消息。 该脚本: #! /usr/bin/perl -w use strict; eval { die "My erro
允许的消息类型有哪些(字符串、字节、整数等)? 消息的最大大小是多少? 队列和交换器的最大数量是多少? 最佳答案 理论上任何东西都可以作为消息存储/发送。实际上您不想在队列上存储任何内容。如果队列大部
基本上,我正在尝试创建一个简单的 GUI 来与 Robocopy 一起使用。我正在使用进程打开 Robocopy 并将输出重定向到文本框,如下所示: With MyProcess.StartI
我想将进入 MQ 队列的消息记录到数据库/文件或其他日志队列,并且我无法修改现有代码。是否有任何方法可以实现某种类似于 HTTP 嗅探器的消息记录实用程序?或者也许 MQ 有一些内置的功能来记录消息?
我得到了一个带有 single_selection 数据表和一个命令按钮的页面。命令按钮调用一个 bean 方法来验证是否进行了选择。如果不是,它应该显示一条消息警告用户。如果进行了选择,它将导航到另
我知道 MSVC 可以通过 pragma 消息做到这一点 -> http://support.microsoft.com/kb/155196 gcc 是否有办法打印用户创建的警告或消息? (我找不到谷
当存在大量节点或二进制数据时, native Erlang 消息能否提供合理的性能? 情况 1:有一个大约 50-200 台机器的动态池(erlang 节点)。它在不断变化,每 10 分钟大约添加或删
我想知道如何在用户登录后显示“欢迎用户,您已登录”的问候消息,并且该消息应在 5 秒内消失。 该消息将在用户成功登录后显示一次,但在同一 session 期间连续访问主页时不会再次显示。因为我在 ho
如果我仅使用Welcome消息,我的代码可以正常工作,但是当打印p->client_name指针时,消息不居中。 所以我的问题是如何将消息和客户端名称居中,就像它是一条消息一样。为什么它目前仅将消
我是一名优秀的程序员,十分优秀!