¡Bienvenido a Foros Hosting ...!

Aquí encontraras una experiencia comunitaria para aprender todo lo relacionado con hosting.

Encuentra soporte en español para: Web Hosting, Servidores Dedicados, Servidores VPS, Clouds, Seguridad, Programación y muchos más.

Obtén más experiencia como Administrador de Sistemas, Crea tu propia empresa de hosting. Comparte tus conocimientos de forma libre.

¡Regístrate ahora y forma parte de nuestra comunidad!

Aporte hook para agregar bloque de saldo al área de cliente de WHMCS.

JesusSuarez

Jesus Suarez
Miembro del equipo
Administradores
9/22/19
140
81
28
Premios
4
Bogotá - CO
cangurohosting.com
  • No puedes parar!
  • Muchos me Gusta!
  • Sigue Publicando!
  • Le gustas a alguien!
Seguidores
1
Saludos,

resulta que uno de nuestros clientes en la empresa indicaba hace unos días que no podía salía ninguna opción para agregar saldo en la página. por lo tanto hicimos este plugin basado en uno viejo que había en internet.

el siguiente código debes pegarlo con el nombre: agregar_fondos.php en includes/hooks de tu whmcs.

Código:
		<?php
/**
* Mostrar saldo en el area de clientes
* @Autor sentq de WHMCS
* @ Modificado por JesusSuarz de Foros Hosting!
* @link   www.cangurohosting.com
* @Para versión WHMCS v7.10.2+
*/
use WHMCS\View\Menu\Item as MenuItem;
use Illuminate\Database\Capsule\Manager as Capsule;
# Funcion para agregar nuevo bloque dentro del área de clientes
add_hook('ClientAreaPrimarySidebar', 1, function(MenuItem $primarySidebar){
    $filename = basename($_SERVER['REQUEST_URI'], ".php");
    $parseFile = explode('.', $filename);
    $client = Menu::context("client");
    $clientid = intval($client->id);
    if ($parseFile['0']!=='clientarea' || $clientid===0){
        return;
    }
    $primarySidebar->addChild('Client-Balance', array(
        'label' => "Tu saldo",
        'order' => '1',
        'icon' => 'fas fa-sack'
    ));
    # Obtener divisa/moneda
    $getCurrency = Capsule::table('tblcurrencies')->where('id', $client->currency)->get();
    # Recupera el panel que acabamos de crear.
    $balancePanel = $primarySidebar->getChild('Client-Balance');
    // Mueve el panel al final del orden de clasificación para que siempre se muestre
    // como último panel de la barra lateral.
    $balancePanel->moveToBack();
    $balancePanel->setOrder(0);
    $fundsenabled = Capsule::table('tblconfiguration')->where('setting','AddFundsEnabled')->value('value');
    //si agregar fondos esta encendido entonces se muestra de lo contrario no
    if ($fundsenabled == "on") {
    //si el cliente tiene saldo de 0 entonces se coloca en rojo
        if ($client->credit == '0.00') {
            $text_color = 'text-danger';
            $no_hay_fondos = '<p class="text-center text-muted">No tienes saldo en tu cuenta. <i class="fas fa-question-circle float-non" data-html="true" data-toggle="tooltip" title="" data-placement="bottom" data-original-title="No tiene fondos agregados en su cuenta, si desea que sus facturas se paguen automáticamente, por favor añada saldo y este mensaje se eliminara de inmediato."></i></p>';
        }//de lo contrario se coloca en azul
        else {
            $text_color = 'text-primary';
        }
        # Agregar Bloque
    $balancePanel->addChild('balance-amount', array(
        'label' => '<h3 class="text-center text-none m-1 '.$text_color.'">'.$getCurrency['0']->prefix.$client->credit.' '. $getCurrency['0']->suffix.'</h3> '.$no_hay_fondos.'',
        'order' => 1
    ));
    $balancePanel->setFooterHtml(
        '<a href="clientarea.php?action=addfunds" class="block-btn btn btn-success btn-sm ">
         <i class="fa fa-plus"></i> Agregar Fondos</a>
        <style>
        .block-btn {width: 100%;}
        div#Primary_Sidebar-Client-Balance-balance-amount:hover {color: initial !important;}
        .float-non {float: none !important;}</style>'
    );
}
});
		
Que hace?

aquí hay un par de fotos,

consaldo.png
sinsaldo.png
sinsaldomenu.png

algunas características agregadas son:
* agrega un bloque de tipo "panel" en la barra lateral izquierda.
* el hook se oculta si está desactivado el agregar fondos en tu whmcs.
* agrega un mensaje para notificar que no tiene saldo o está en 0 la cuenta.
* sale un mensajito en rojo notificando que debería agregar saldo.
* agrega un botón con el width 100%.
* si el cliente tiene saldo el mensaje se quita y lo coloca en color azulito.
* agrega un icono con un tooltip botom donde agrega información adicional cuando el cliente no tiene saldo.

Créditos:
@sentq de WHMCS
@jesussuarz de Foros Hosting!
 
Última edición:

Arriba Pie