¡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 actualizar moneda VES desde DolarToday.com para WHMCS

JesusSuarez

Jesus Suarez
Miembro del equipo
Administradores
9/22/19
146
82
28
Bogotá - CO
cangurohosting.com
Seguidores
1
Hace un tiempo publiqué el módulo "
Por favor, Acceder o Registro para ver las URLs y el contenido!
" el cual tiene la capacidad de recalcular los precios de WHMCS basándose en el precio de DolarToday.com, el módulo tiene también la capacidad de agregar un porcentaje sobre el valor de dólar por transferencia que publica dolartoday.com.

Ahora he escrito un hook que básicamente haciendo la misma función pero en 1 solo código, el hook se ejecuta diariamente si tienes configurado el trabajo cron de WHMCS.

Solo debes agregar un archivo llamado update_vef.php en /includes/hook/

Y agregar el siguiente codigo:

Código:
		<?php
if (!defined("WHMCS"))
die("This file cannot be accessed directly");
/*
* -------------------------------------------------------------
* File:        update_vef.php
* Description: Update Currency VES/VEF - Venezuela.
* Autor: Jesus Suarez - ForosHosting.com
* -------------------------------------------------------------
*
*/
use Illuminate\Database\Capsule\Manager as Capsule;
add_hook('DailyCronJob', 1, function($vars) {
    // Configure su moneda personalizada aquí
    $currency   = 'VES';
    // Configure el porcentaje a sumar
    $porcentaje = 20;
    // Obtenga la moneda principal utilizada por WHMCS
    $mainCurrency = Capsule::table('tblcurrencies')
                            ->where('default', '=', 1)
                            ->first()
                            ->code;
    $prefix = Capsule::table('tblcurrencies')
                            ->where('code', '=', $mainCurrency)
                            ->first()
                            ->prefix;
    // Llamada desde dolartoday.com
    $url = 'https://s3.amazonaws.com/dolartoday/data.json';
    $dolar = file_get_contents($url);
    $dolar = utf8_encode($dolar);
    $dolar = json_decode($dolar);
    $precio_dolar = $dolar->USD->transferencia;
    $dolar_fecha = $dolar->_timestamp->fecha;
    $rate = floatval($precio_dolar);
    $rate = $rate * (($porcentaje / 100 ) + 1);
    if (empty($rate) or $rate == '' or $rate == 0){
   logActivity("Existe un error, no se pudo actualizar la moneda ($currency). Es posible que el valor sea NULL o vacío desde DolarToday.com", 0);
}
else {
        Capsule::table('tblcurrencies')
                ->where('code', '=', $currency)
                ->update(['rate' => $rate]);
        logActivity("La moneda se actualizo correctamente $prefix$rate $currency / $dolar_fecha", 0);
}
});
?>
		

Para agregar un porcentaje sobre el valor que obtiene de dolartoday.com simplemente cambie el valor de la variable: $porcentaje = 0;

el 0 (cero) por el valor en porcentaje que quieras, 10,20,30, etc... (solo valores enteros)

De esta manera simplifiqué el código para el módulo que anteriormente había escrito publicado tambien en el
Por favor, Acceder o Registro para ver las URLs y el contenido!


Espero que les sirva.
 
Última edición:

Hosting por ...
Arriba Pie