Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- *
- * @ This file is created by http://DeZender.Net
- * @ deZender (PHP5 Decoder for ionCube Encoder)
- *
- * @ Version : 3.5.0.0
- * @ Author : DeZender
- * @ Release on : 22.06.2018
- * @ Official site : http://DeZender.Net
- *
- */
- define('CLIENTAREA', true);
- require __DIR__ . '/init.php';
- require ROOTDIR . '/includes/clientfunctions.php';
- require ROOTDIR . '/includes/gatewayfunctions.php';
- require ROOTDIR . '/includes/ccfunctions.php';
- require ROOTDIR . '/includes/domainfunctions.php';
- require ROOTDIR . '/includes/registrarfunctions.php';
- require ROOTDIR . '/includes/customfieldfunctions.php';
- require ROOTDIR . '/includes/invoicefunctions.php';
- require ROOTDIR . '/includes/configoptionsfunctions.php';
- $action = $whmcs->get_req_var('action');
- $sub = $whmcs->get_req_var('sub');
- $id = (int) $whmcs->get_req_var('id');
- $modop = $whmcs->get_req_var('modop');
- $submit = $whmcs->get_req_var('submit');
- $save = $whmcs->get_req_var('save');
- $q = $whmcs->get_req_var('q');
- $paymentmethod = WHMCS\Gateways::makeSafeName($whmcs->get_req_var('paymentmethod'));
- $params = array();
- $addRenewalToCart = $whmcs->get_req_var('addRenewalToCart');
- if ($addRenewalToCart) {
- check_token();
- $renewID = $whmcs->get_req_var('renewID');
- $renewalPeriod = $whmcs->get_req_var('period');
- $_SESSION['cart']['renewals'][$renewID] = $renewalPeriod;
- WHMCS\Terminus::getInstance()->doExit();
- } else {
- if ($action == 'resendVerificationEmail') {
- check_token();
- $clientDetails = WHMCS\User\Client::find(WHMCS\Session::get('uid'));
- if (!is_null($clientDetails)) {
- $clientDetails->sendEmailAddressVerification();
- }
- WHMCS\Terminus::getInstance()->doExit();
- } else {
- if ($action == 'parseMarkdown') {
- check_token();
- $markup = new WHMCS\View\Markup\Markup();
- echo json_encode(array('body' => $markup->transform($whmcs->get_req_var('content'), 'markdown')));
- WHMCS\Terminus::getInstance()->doExit();
- } else {
- if ($action == 'manage-service') {
- check_token();
- $serviceId = App::getFromRequest('service-id');
- $server = new WHMCS\Module\Server();
- if (substr($serviceId, 0, 1) == 'a') {
- $server->loadByAddonId((int) substr($serviceId, 1));
- $errorPrependText = 'An error occurred when managing Service Addon ID: ' . (int) substr($serviceId, 1) . ': ';
- } else {
- $serviceId = (int) $serviceId;
- $server->loadByServiceID($serviceId);
- $errorPrependText = 'An error occurred when managing Service ID: ' . $serviceId . ': ';
- }
- $serviceServerParams = $server->buildParams();
- $allowedModuleFunctions = array();
- $clientAreaAllowedFunctions = $server->call('ClientAreaAllowedFunctions');
- if (is_array($clientAreaAllowedFunctions) && !array_key_exists('error', $clientAreaAllowedFunctions)) {
- foreach ($clientAreaAllowedFunctions as $functionName) {
- if (is_string($functionName)) {
- $allowedModuleFunctions[] = $functionName;
- }
- }
- }
- $clientAreaCustomButtons = $server->call('ClientAreaCustomButtonArray');
- if (is_array($clientAreaCustomButtons) && !array_key_exists('error', $clientAreaAllowedFunctions)) {
- foreach ($clientAreaCustomButtons as $buttonLabel => $functionName) {
- if (is_string($functionName)) {
- $allowedModuleFunctions[] = $functionName;
- }
- }
- }
- if (WHMCS\Session::get('uid') == $serviceServerParams['userid']) {
- if (in_array('manage_order', $allowedModuleFunctions) && $server->functionExists('manage_order')) {
- $apiResponse = $server->call('manage_order');
- $apiResponse = (isset($apiResponse['jsonResponse']) ? $apiResponse['jsonResponse'] : array());
- if (is_array($apiResponse) && !empty($apiResponse['success'])) {
- $response = array('redirect' => $apiResponse['redirect']);
- } else {
- $errorMsg = (isset($apiResponse['error']) ? $apiResponse['error'] : 'An unknown error occurred');
- $response = array('error' => $errorMsg);
- }
- } else {
- $response = array('error' => 'Function Not Allowed');
- }
- } else {
- $response = array('error' => 'Access Denied');
- }
- echo json_encode($response);
- WHMCS\Terminus::getInstance()->doExit();
- } else {
- if ($action == 'dismiss-email-banner') {
- check_token();
- WHMCS\Session::setAndRelease('DismissEmailVerificationBannerForSession', true);
- echo json_encode(array('success' => true));
- WHMCS\Terminus::getInstance()->doExit();
- }
- }
- }
- }
- }
- $activeLanguage = WHMCS\Session::get('Language');
- if ($action == 'changesq' || $whmcs->get_req_var('2fasetup')) {
- $action = 'security';
- }
- $ca = new WHMCS\ClientArea();
- $ca->setPageTitle($whmcs->get_lang('clientareatitle'));
- $ca->addToBreadCrumb('index.php', $whmcs->get_lang('globalsystemname'))->addToBreadCrumb('clientarea.php', $whmcs->get_lang('clientareatitle'));
- $ca->initPage();
- $legacyClient = new WHMCS\Client($ca->getClient());
- $clientInformation = $legacyClient->getClientModel();
- $clientInformationAvailable = (is_null($clientInformation) ? false : true);
- $verifyEmailAddressEnabled = WHMCS\Config\Setting::getValue('EnableEmailVerification');
- $emailVerificationPending = false;
- $emailVerificationRecentlyCleared = false;
- $verificationIdNotValid = false;
- if ($verifyEmailAddressEnabled) {
- $verificationId = $whmcs->get_req_var('verificationId');
- if (!empty($verificationId)) {
- $transientData = WHMCS\TransientData::getInstance();
- $transientDataName = $transientData->retrieveByData($verificationId);
- $initialVerificationId = WHMCS\Session::get('initialVerificationId');
- $smartyvalues['verificationId'] = $verificationId;
- $smartyvalues['transientDataName'] = $transientDataName;
- if (!$clientInformationAvailable) {
- WHMCS\Session::set('initialVerificationId', $verificationId);
- } else {
- if ($initialVerificationId != $verificationId && !$clientInformation->emailVerified) {
- WHMCS\Session::delete('uid');
- WHMCS\Session::set('initialVerificationId', $verificationId);
- } else {
- if ($transientDataName) {
- $clientInformation->emailVerified = true;
- $clientInformation->save();
- run_hook('ClientEmailVerificationComplete', array('userId' => $ca->getUserID()));
- $emailVerificationRecentlyCleared = true;
- $transientData->delete($transientDataName);
- WHMCS\Session::delete('initialVerificationId');
- } else {
- if (!$clientInformation->emailVerified) {
- $verificationIdNotValid = true;
- }
- }
- }
- }
- }
- if ($clientInformationAvailable) {
- $isEmailAddressVerified = $clientInformation->isEmailAddressVerified();
- if (!$isEmailAddressVerified && !WHMCS\Session::get('DismissEmailVerificationBannerForSession')) {
- $emailVerificationPending = true;
- }
- }
- }
- $smartyvalues['emailVerificationPending'] = $emailVerificationPending;
- $ca->requireLogin();
- if ($emailVerificationRecentlyCleared) {
- $smartyvalues['emailVerificationIdValid'] = true;
- } else {
- if ($verificationIdNotValid) {
- $smartyvalues['emailVerificationIdValid'] = false;
- }
- }
- if ($action == 'hosting') {
- $ca->addToBreadCrumb('clientarea.php?action=hosting', $whmcs->get_lang('clientareanavhosting'));
- }
- if (in_array($action, array('products', 'services', 'cancel'))) {
- $ca->addToBreadCrumb('clientarea.php?action=products', $whmcs->get_lang('clientareaproducts'));
- }
- if (in_array($action, array('domains', 'domaindetails', 'domaincontacts', 'domaindns', 'domainemailforwarding', 'domaingetepp', 'domainregisterns', 'domainaddons'))) {
- $ca->addToBreadCrumb('clientarea.php?action=domains', $whmcs->get_lang('clientareanavdomains'));
- }
- if ($action == 'invoices') {
- $ca->addToBreadCrumb('clientarea.php?action=invoices', $whmcs->get_lang('invoices'));
- }
- if ($action == 'emails') {
- $ca->addToBreadCrumb('clientarea.php?action=emails', $whmcs->get_lang('clientareaemails'));
- }
- if ($action == 'addfunds') {
- $ca->addToBreadCrumb('clientarea.php?action=addfunds', $whmcs->get_lang('addfunds'));
- }
- if ($action == 'masspay') {
- $ca->addToBreadCrumb('clientarea.php?action=masspay' . (($whmcs->get_req_var('all') ? '&all=true' : '')) . '#', $whmcs->get_lang('masspaytitle'));
- }
- if ($action == 'quotes') {
- $ca->addToBreadCrumb('clientarea.php?action=quotes', $whmcs->get_lang('quotestitle'));
- }
- $currency = $legacyClient->getCurrency();
- if (substr($action, 0, 6) == 'domain' && $action != 'domains') {
- $domainID = $whmcs->get_req_var('id');
- if (!$domainID) {
- $domainID = $whmcs->get_req_var('domainid');
- }
- $domains = new WHMCS\Domains();
- $domainData = $domains->getDomainsDatabyID($domainID);
- if (!$domainData) {
- redir('action=domains', 'clientarea.php');
- }
- $domainModel = WHMCS\Domain\Domain::find($domainData['id']);
- $ca->setDisplayTitle(Lang::trans('managing') . ' ' . $domainData['domain']);
- $domainName = new WHMCS\Domains\Domain($domainData['domain']);
- $managementOptions = $domains->getManagementOptions();
- if ($domainModel->registrarModuleName) {
- $registrar = new WHMCS\Module\Registrar();
- $registrar->setDomainID($domainModel->id);
- if ($registrar->load($domainModel->registrarModuleName)) {
- $params = $registrar->getSettings();
- }
- }
- $ca->assign('managementoptions', $managementOptions);
- }
- $ca->assign('action', $action);
- $ca->assign('clientareaaction', $action);
- if ($action == '') {
- $templateVars = $ca->getTemplateVariables();
- $ca->setDisplayTitle(Lang::trans('welcomeback') . ', ' . $templateVars['loggedinuser']['firstname']);
- $ca->setTemplate('clientareahome');
- $clientId = $ca->getClient()->id;
- $panels = array();
- if (checkContactPermission('invoices', true)) {
- $overdueInvoices = WHMCS\Billing\Invoice::with('transactions')->whereUserid($clientId)->overdue()->massPay(false)->get();
- if (0 < count($overdueInvoices)) {
- $msg = Lang::trans('clientHomePanels.overdueInvoicesMsg', array(':numberOfInvoices' => count($overdueInvoices), ':balanceDue' => formatCurrency($overdueInvoices->sum('balance'))));
- $panels[] = array('name' => 'Overdue Invoices', 'label' => Lang::trans('clientHomePanels.overdueInvoices'), 'icon' => 'fa-calculator', 'extras' => array('color' => 'red', 'btn-icon' => 'fas fa-arrow-right', 'btn-link' => 'clientarea.php?action=masspay&all=true', 'btn-text' => Lang::trans('invoicespaynow')), 'bodyHtml' => '<p>' . $msg . '</p>', 'order' => '10');
- } else {
- $unpaidInvoices = WHMCS\Billing\Invoice::with('transactions')->whereUserid($clientId)->unpaid()->massPay(false)->get();
- if (0 < count($unpaidInvoices)) {
- $msg = Lang::trans('clientHomePanels.unpaidInvoicesMsg', array(':numberOfInvoices' => count($unpaidInvoices), ':balanceDue' => formatCurrency($unpaidInvoices->sum('balance'))));
- $panels[] = array('name' => 'Unpaid Invoices', 'label' => Lang::trans('clientHomePanels.unpaidInvoices'), 'icon' => 'fa-calculator', 'extras' => array('color' => 'red', 'btn-icon' => 'fas fa-arrow-right', 'btn-link' => 'clientarea.php?action=invoices', 'btn-text' => Lang::trans('viewAll')), 'bodyHtml' => '<p>' . $msg . '</p>', 'order' => '10');
- }
- }
- }
- if (checkContactPermission('domains', true)) {
- $domainsDueWithin45Days = $ca->getClient()->domains()->nextDueBefore(WHMCS\Carbon::now()->addDays(45))->count();
- if (0 < $domainsDueWithin45Days) {
- $msg = Lang::trans('clientHomePanels.domainsExpiringSoonMsg', array(':days' => 45, ':numberOfDomains' => $domainsDueWithin45Days));
- $extras = array();
- if (WHMCS\Config\Setting::getValue('EnableDomainRenewalOrders')) {
- $extras = array('btn-icon' => 'fas fa-sync', 'btn-link' => routePath('cart-domain-renewals'), 'btn-text' => Lang::trans('domainsrenewnow'));
- }
- $extras['color'] = 'midnight-blue';
- $panels[] = array('name' => 'Domains Expiring Soon', 'label' => Lang::trans('clientHomePanels.domainsExpiringSoon'), 'icon' => 'fa-globe', 'extras' => $extras, 'bodyHtml' => '<p>' . $msg . '</p>', 'order' => '50');
- }
- }
- if (checkContactPermission('products', true)) {
- $servicesList = array();
- $services = $ca->getClient()->services()->whereDomainstatus('Active')->orderBy('id', 'desc')->limit(101)->get();
- foreach ($services as $service) {
- $servicesList[] = array('uri' => 'clientarea.php?action=productdetails&id=' . $service->id, 'label' => $service->product->productGroup->name . ' - ' . $service->product->name . '<br /><span class="text-domain">' . $service->domain . '</span>');
- }
- $servicesPanel = array('name' => 'Active Products/Services', 'label' => Lang::trans('clientHomePanels.activeProductsServices'), 'icon' => 'fa-cube', 'extras' => array('color' => 'gold', 'btn-icon' => 'fas fa-plus', 'btn-link' => 'clientarea.php?action=services', 'btn-text' => Lang::trans('viewAll')), 'children' => $servicesList, 'order' => '100');
- if (count($servicesList) == 0) {
- $servicesPanel['bodyHtml'] = '<p>' . Lang::trans('clientHomePanels.activeProductsServicesNone') . '</p>';
- } else {
- if (100 < count($servicesList)) {
- unset($servicesPanel['children'][100]);
- $servicesPanel['bodyHtml'] = '<p>' . Lang::trans('clientHomePanels.showingRecent100') . '.</p>';
- }
- }
- $panels[] = $servicesPanel;
- }
- if (checkContactPermission('orders', true) && (WHMCS\Config\Setting::getValue('AllowRegister') || WHMCS\Config\Setting::getValue('AllowTransfer'))) {
- $bodyContent = "<form method=\"post\" action=\"domainchecker.php\">\n <div class=\"input-group margin-10\">\n <input type=\"text\" name=\"domain\" class=\"form-control\" />\n <div class=\"input-group-btn\">";
- if (WHMCS\Config\Setting::getValue('AllowRegister')) {
- $bodyContent .= "\n <input type=\"submit\" value=\"" . Lang::trans('domainsregister') . '" class="btn btn-success" />';
- }
- if (WHMCS\Config\Setting::getValue('AllowTransfer')) {
- $bodyContent .= "\n <input type=\"submit\" name=\"transfer\" value=\"" . Lang::trans('domainstransfer') . '" class="btn" />';
- }
- $bodyContent .= "\n </div>\n </div>\n </form>";
- $panels[] = array('name' => 'Register a New Domain', 'label' => Lang::trans('navregisterdomain'), 'icon' => 'fa-globe', 'extras' => array('color' => 'emerald'), 'bodyHtml' => $bodyContent, 'order' => '200');
- }
- if (WHMCS\Config\Setting::getValue('AffiliateEnabled') && checkContactPermission('affiliates', true) && !is_null($affiliate = $ca->getClient()->affiliate)) {
- $currencyLimit = convertCurrency(WHMCS\Config\Setting::getValue('AffiliatePayout'), 1, $currency['id']);
- $amountUntilWithdrawal = $currencyLimit - $affiliate->balance;
- if (0 < $amountUntilWithdrawal) {
- $msgTemplate = 'clientHomePanels.affiliateSummary';
- } else {
- $msgTemplate = 'clientHomePanels.affiliateSummaryWithdrawalReady';
- }
- $msg = Lang::trans($msgTemplate, array(':commissionBalance' => formatCurrency($affiliate->balance), ':amountUntilWithdrawalLevel' => formatCurrency($amountUntilWithdrawal)));
- $panels[] = array('name' => 'Affiliate Program', 'label' => Lang::trans('clientHomePanels.affiliateProgram'), 'icon' => 'fa-users', 'extras' => array('color' => 'teal', 'btn-icon' => 'fas fa-arrow-right', 'btn-link' => 'affiliates.php', 'btn-text' => Lang::trans('moreDetails')), 'bodyHtml' => '<p>' . $msg . '</p>', 'order' => '300');
- }
- if (!function_exists('AddNote')) {
- require ROOTDIR . DIRECTORY_SEPARATOR . 'includes' . DIRECTORY_SEPARATOR . 'ticketfunctions.php';
- }
- $tickets = array();
- $statusfilter = array();
- ......................................................................
- ........................................
- ..............
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement