Ho costruito un sito web non a scopo di lucro di camminate, ora lo sto rifacendo in J4.
Per i miei itinerari ho la necessità come nel vecchio sito in J3 (
https://camminateinfriuli.altervista.org) di avere una tabella riepilogativa, a suo tempo usavo GPXTRACKMAP ma non è più sviluppato e supportato.
La tabella al momento sono riuscito ad averla usando il plugin aggpxtrack che usa leaflet-gpx.
Ora avrei bisogno di estrapolare alcuni dati dalla traccia con i metodi:
get_distance(): returns the total track distance, in meters get_total_time(): returns the total track time, in milliseconds get_total_speed(): returns the average total speed in km per hour get_elevation_min(): returns the lowest elevation, in meters get_elevation_max(): returns the highest elevation, in meters get_elevation_gain() returns the cumulative elevation gain, in meters get_elevation_loss(): returns the cumulative elevation loss, in meters Lo so che per te la spiegazione sembra semplice ma io senza un esempio non riesco proprio a venirne fuori.
La cosa che mi servirebbe è salvare quei valori nel database joomla nella tabella dei campi aggiuntivi creati (distanza, tempo totale, velocità, dislivello, altitudine minima, altitudine massima, guadagno in salita e guadagno in discesa) nella posizione dell'articolo corrente.
Avevo pensato di modificare questo codice per aggiornare i valori nel database:
<?php
defined('_JEXEC') or die('Restricted Access');
use Joomla\CMS\Factory;
$db = Factory::getDbo();
$session =& JFactory::getSession();
$articleid = $session->get('articleid');
if ($articleid->id == 0)
{
echo "Not article select";
}
else
{
$email = $me->email;
// change the case of the email address
$email_uppercase = strtoupper($email);
if ($email == $email_uppercase)
{
$new_email = strtolower($email);
}
else
{
$new_email = $email_uppercase;
}
$query = $db->getQuery(true);
$fields = array($db->quoteName('email') . " = '{$new_email}'");
$conditions = array($db->quoteName('id') . ' = ' . $me->id);
$query->update($db->quoteName('#__users'))->set($fields)->where($conditions);
echo $db->replacePrefix((string) $query);
$db->setQuery($query);
if ($result = $db->execute())
{
echo "Email case successfully changed!";
}
}
Voglio imparare ma non è facile, la cosa più difficile è l’interazione tra il codice e il sistema.
Mi basta l'esempio per un solo campo poi mi do da fare, qualcuno può aiutarmi?