نقل قول نوشته اصلی توسط viasky نمایش پست ها
درود , شما به یک Fraud Protection روی WHMCS نیاز دارید که این قانون رو براش تعریف کنید.
میشه کامل توضیح بدین
الان مشتری که ایمیل رو تایید نکرده میتونه همه کار انجام بده میخوام محدود بشه مثلا نتونه سفارش ثبت کنه تا تایید کنه

- - - Updated - - -

هوک زیر رو استفاده میکنم کار نمیکنه ورژن whmcs7.9.1
<?php
/**
* Limit Access For Unverified Accounts
*
*
* @package WHMCS ActionHook
* @author Sentq <sales@whmcms.com>
* @copyright Copyright (c) Sentq 2011-2016
* @link http://www.whmcms.com/
*/
if (!defined("WHMCS"))
die("This file cannot be accessed directly");
use WHMCS\View\Menu\Item as MenuItem;
use Illuminate\Database\Capsule\Manager as Capsule;
# Do You Like To Prevent Unverified Accounts From Placing Orders?, set to false to accept orders
define("PREVENTUNVERIFIEDORDERS", true);
# How Many Days To Wait Before Deactivate Unverified Account, Set 0 To Disable ThisFunction
define("DEACTIVATEACCOUNTAFTERXDAYS", 0);
# How Many Days To Wait Before Set Unverified Account As Closed, Set 0 To Disable ThisFunction
define("CLOSEACCOUNTAFTERXDAYS", 0);

# No Orders Will be Completed
add_hook("ShoppingCartValidateCheckout", 1, function($vars){

if (PREVENTUNVERIFIEDORDERS===true){

$client = Menu::context("client");

if (!is_null($client) && $client->emailVerified!==true){
return array("You may verify your email address first before you can complete this order!");
}

}

});
# Deactivate Unverified Account After x Days
# http://docs.whmcs.com/Clients:Profil...Clients_Status
add_hook("DailyCronJob", 1, function($vars){

if (intval(DEACTIVATEACCOUNTAFTERXDAYS)!==0){

$dateCreated = date("Y-m-d", strtotime("now - ".intval(DEACTIVATEACCOUNTAFTERXDAYS)." days"));

$getAccounts = Capsule::table("tblclients")->where("datecreated", "=", $dateCreated)->where("email_verified", "=", 0);

foreach ($getAccounts->get() as $account){
Capsule::table("tblclients")->where("id", $account->id)->update(array("status" => "Inactive"));
}

}
});
# Close Unverified Accounts After X Days
# http://docs.whmcs.com/Clients:Profil...Clients_Status
add_hook("DailyCronJob", 1, function($vars){

if (intval(CLOSEACCOUNTAFTERXDAYS)!==0){

$dateCreated = date("Y-m-d", strtotime("now - ".intval(CLOSEACCOUNTAFTERXDAYS)." days"));

$getAccounts = Capsule::table("tblclients")->where("datecreated", "=", $dateCreated)->where("email_verified", "=", 0);

foreach ($getAccounts->get() as $account){
Capsule::table("tblclients")->where("id", $account->id)->update(array("status" => "Closed"));
}

}

});