Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: WebEngine no registra account country en la tabla y no marca bandera en rankings  (Visto 813 veces)

0 Miembros and 1 Guest are viewing this topic.

Offline Jospiter Posteado: June 30, 2021, 09:09:45 AM

  • 0 puntos por ventas
  • *
  • Rank: Destacado
  • Posts: 89
  • Gracias recibida: 446
  • ve
Hola amigos, como están espero que bien, requiero de ayuda con lo siguiente, la webengine no escribe en la base WEBENGINE_ACCOUNT_COUNTRY al registrar una cuenta nueva por lo tanto no se refleja el pais=country en el ranking, ya he reinstalado todo incluso con otra versión superior he inferior borro las tablas y se crean de nuevo, restaure base de datos y nada sigue igual no escribe la cuenta nueva en la tabla, alguna solución o modificación que deba hacer uso files louis up 25.


 muchas gracias de antemano.

Gracias:


Offline lunaticodeveloper #1 Posteado: June 30, 2021, 09:29:38 AM

  • MAESTRO

  • US. DE HONOR

  • +4 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.814
  • Gracias recibida: 22789
  • ar
la web no escribe esa tabla al registrarse , sino al conectarse al servidor desde la tabla memb_stat ....

ojo si estas probando en local y tienes ip local tampoco va actualizar la tabla.

Soporte premium ya sabes contactame!
Experto en MuOnline! Mira mis aportes de primera!
Alojamiento de Servidores / Venta de Configuraciones Mu Online / Espacio de alojamiento para WebHost / Venta de diseño grafico.

Offline Jospiter #2 Posteado: June 30, 2021, 09:44:45 AM

  • 0 puntos por ventas
  • *
  • Rank: Destacado
  • Posts: 89
  • Gracias recibida: 446
  • ve
la web no escribe esa tabla al registrarse , sino al conectarse al servidor desde la tabla memb_stat ....

ojo si estas probando en local y tienes ip local tampoco va actualizar la tabla.

Saludos amigo, se me olvido un dato importante uso cpanel, también tenia esa duda si era al registrar o a conectarme, antes de actualizar el ranking me conecto a la cuenta creada y creo un personaje lo subo de nivel dentro del juego y espero que se actualice y sigue sin actualizar la tabla ni marcar el pais en el ranking, pero si creo manual con el id y codigo de pais en la tabla si se refleja en el rankings.


Offline lunaticodeveloper #3 Posteado: June 30, 2021, 09:47:50 AM

  • MAESTRO

  • US. DE HONOR

  • +4 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.814
  • Gracias recibida: 22789
  • ar
la web no escribe esa tabla al registrarse , sino al conectarse al servidor desde la tabla memb_stat ....

ojo si estas probando en local y tienes ip local tampoco va actualizar la tabla.

Saludos amigo, se me olvido un dato importante uso cpanel, también tenia esa duda si era al registrar o a conectarme, antes de actualizar el ranking me conecto a la cuenta creada y creo un personaje lo subo de nivel dentro del juego y espero que se actualice y sigue sin actualizar la tabla ni marcar el pais en el ranking, pero si creo manual con el id y codigo de pais en la tabla si se refleja en el rankings.

la tabla se llena por un cron , ojo si estas probando en local no va funcionar , si o si en memb_stat tiene que estar una IP publica.

Soporte premium ya sabes contactame!
Experto en MuOnline! Mira mis aportes de primera!
Alojamiento de Servidores / Venta de Configuraciones Mu Online / Espacio de alojamiento para WebHost / Venta de diseño grafico.

Offline Jospiter #4 Posteado: June 30, 2021, 10:02:38 AM

  • 0 puntos por ventas
  • *
  • Rank: Destacado
  • Posts: 89
  • Gracias recibida: 446
  • ve
la web no escribe esa tabla al registrarse , sino al conectarse al servidor desde la tabla memb_stat ....

ojo si estas probando en local y tienes ip local tampoco va actualizar la tabla.

Saludos amigo, se me olvido un dato importante uso cpanel, también tenia esa duda si era al registrar o a conectarme, antes de actualizar el ranking me conecto a la cuenta creada y creo un personaje lo subo de nivel dentro del juego y espero que se actualice y sigue sin actualizar la tabla ni marcar el pais en el ranking, pero si creo manual con el id y codigo de pais en la tabla si se refleja en el rankings.

la tabla se llena por un cron , ojo si estas probando en local no va funcionar , si o si en memb_stat tiene que estar una IP publica.


No me conecto de manera local la ip es publica, limpie cache de la web y demás, las cron están correctas todo lo demás actualiza eso es lo que veo extraño debería de funcionar bien pero no es así.


Offline lunaticodeveloper #5 Posteado: June 30, 2021, 10:22:22 AM

  • MAESTRO

  • US. DE HONOR

  • +4 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.814
  • Gracias recibida: 22789
  • ar
y la tabla memb_stat tiene info? instalaste otra web antes de casualidad?

Soporte premium ya sabes contactame!
Experto en MuOnline! Mira mis aportes de primera!
Alojamiento de Servidores / Venta de Configuraciones Mu Online / Espacio de alojamiento para WebHost / Venta de diseño grafico.

Offline Jospiter #6 Posteado: June 30, 2021, 10:50:26 AM

  • 0 puntos por ventas
  • *
  • Rank: Destacado
  • Posts: 89
  • Gracias recibida: 446
  • ve
y la tabla memb_stat tiene info? instalaste otra web antes de casualidad?

la tabla memb_stat tiene info de todas las cuentas creadas a la fecha y se actualiza normalmente al conectar y desconectar cada cuenta, restaure la base de datos para salir de dudas y pasa lo mismo.

revise el \includes\classes\class.account.php

Code: [Select]
		# redirect to login (5 seconds)
redirect(2,'login/',5);
}

public function getAccountCountry() {
if(!check_value($this->_account)) return;
$result = $this->memuonline->query_fetch_single("SELECT * FROM ".WEBENGINE_ACCOUNT_COUNTRY." WHERE account = ?", array($this->_account));
if(!is_array($result)) return;
return $result;
}

public function updateAccountCountry() {
if(!check_value($this->_account)) return;
if(!check_value($this->_country)) return;

$data = $this->getAccountCountry();
if(!is_array($data)) return;
if(time() < strtotime($data['lastchange'])+$this->_countryChangeCooldown) return;

$result = $this->memuonline->query("UPDATE ".WEBENGINE_ACCOUNT_COUNTRY." SET country = ? WHERE account = ?", array($this->_country, $this->_account));
if(!$result) return;
return true;
}

public function insertAccountCountry() {
if(!check_value($this->_account)) return;
if(!check_value($this->_country)) return;
$result = $this->memuonline->query("INSERT INTO ".WEBENGINE_ACCOUNT_COUNTRY." (account, country) VALUES (?, ?)", array($this->_account, $this->_country));
if(!$result) return;
return true;

puse solo una parte es normal? de todas las tablas que crea webengine solo guarda en 2 tablas la de plugins y cron


Offline lunaticodeveloper #7 Posteado: June 30, 2021, 10:56:09 AM

  • MAESTRO

  • US. DE HONOR

  • +4 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.814
  • Gracias recibida: 22789
  • ar
Como te dije anteriormente la tabla se llena por un cron que va a la tabla memb_stat , y macha informacion que no exista en la tabla , ese proceso no lo esta haciendo probablemente por algun dato inconsistente en la base de datos.

Soporte premium ya sabes contactame!
Experto en MuOnline! Mira mis aportes de primera!
Alojamiento de Servidores / Venta de Configuraciones Mu Online / Espacio de alojamiento para WebHost / Venta de diseño grafico.

Offline Jospiter #8 Posteado: June 30, 2021, 08:18:24 PM

  • 0 puntos por ventas
  • *
  • Rank: Destacado
  • Posts: 89
  • Gracias recibida: 446
  • ve
Como te dije anteriormente la tabla se llena por un cron que va a la tabla memb_stat , y macha informacion que no exista en la tabla , ese proceso no lo esta haciendo probablemente por algun dato inconsistente en la base de datos.

Si restauro base de datos como puede tener algún dato inconsistente sin olvidar mencionar que lo demás funciona es la parte que no entiendo en una base nueva, si escribo manual en esa tabla se refleja el pais el punto es que no escribe cuando debe de hacerlo de manera automática,

en el php_errors.log marca lo siguiente

Code: [Select]
[30-Jun-2021 20:00:21 UTC] PHP Notice:  Undefined variable: accountCountryList in /home/miusuario/public_html/includes/cron/character_country.php on line 44
[30-Jun-2021 20:00:21 UTC] PHP Notice:  Undefined variable: result in /home/miusuario/public_html/includes/cron/character_country.php on line 54


codigo de dicho archivo

Code: [Select]
<?php
/**
 * WebEngine CMS
 * https://webenginecms.org/
 *
 * @version 1.2.1
 * @author Lautaro Angelico <http://lautaroangelico.com/>
 * @copyright (c) 2013-2020 Lautaro Angelico, All Rights Reserved
 *
 * Licensed under the MIT license
 * http://opensource.org/licenses/MIT
 */

// File Name
$file_name = basename(__FILE__);

// load databases
$mu = Connection::Database('MuOnline');
$me = Connection::Database('Me_MuOnline');

$characterCountryCache = loadCache('character_country.cache');
$characters = $mu->query_fetch("SELECT "._CLMN_CHR_NAME_.", "._CLMN_CHR_ACCID_." FROM "._TBL_CHR_."");
if(is_array($characters)) {
foreach($characters as $row) {
if(array_key_exists($row[_CLMN_CHR_NAME_], $characterCountryCache)) continue;
$accountList[] = utf8_encode($row[_CLMN_CHR_ACCID_]);
}
}

$accountList = array_unique($accountList);
if(is_array($accountList)) {
foreach($accountList as $row) {
$accountListArray[] = '\''.$row.'\'';
}
$accountListString = implode(',', $accountListArray);

$accountCountry = $me->query_fetch("SELECT * FROM ".WEBENGINE_ACCOUNT_COUNTRY." WHERE account IN(".$accountListString.")");
if(is_array($accountCountry)) {
foreach($accountCountry as $row) {
$accountCountryList[utf8_encode($row['account'])] = $row['country'];
}
}

if(is_array($accountCountryList)) {
$result = $characterCountryCache;
foreach($characters as $row) {
if(array_key_exists($row[_CLMN_CHR_NAME_], $characterCountryCache)) continue;
if(!array_key_exists($row[_CLMN_CHR_ACCID_], $accountCountryList)) continue;
$result[utf8_encode($row[_CLMN_CHR_NAME_])] = $accountCountryList[$row[_CLMN_CHR_ACCID_]];
}
}
}

if(is_array($result)) {
$cacheData = encodeCache($result);
updateCacheFile('character_country.cache', $cacheData);
}

// UPDATE CRON
updateCronLastRun($file_name);

y este es el del account_country

Code: [Select]
<?php
/**
 * WebEngine CMS
 * https://webenginecms.org/
 *
 * @version 1.2.0
 * @author Lautaro Angelico <http://lautaroangelico.com/>
 * @copyright (c) 2013-2019 Lautaro Angelico, All Rights Reserved
 *
 * Licensed under the MIT license
 * http://opensource.org/licenses/MIT
 */

// File Name
$file_name = basename(__FILE__);

// load databases
$db = Connection::Database('Me_MuOnline');

// add country to accounts with no country
$accountList = $db->query_fetch("SELECT TOP 50 * FROM "._TBL_MS_." WHERE "._CLMN_MS_MEMBID_." NOT IN(SELECT account FROM ".WEBENGINE_ACCOUNT_COUNTRY.") AND "._CLMN_MS_IP_." IS NOT NULL");
if(is_array($accountList)) {
$Account = new Account();
foreach($accountList as $row) {
$countryCode = getCountryCodeFromIp($row[_CLMN_MS_IP_]);
if(!check_value($countryCode)) continue;
$Account->setAccount($row[_CLMN_MS_MEMBID_]);
$Account->setCountry($countryCode);
$Account->insertAccountCountry();
}
}

// UPDATE CRON
updateCronLastRun($file_name);

alguna otra idea o posible solución tal vez con otra base de datos.


Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate


 

Related Topics

  Subject / Started by Replies Last post
12 Replies
1395 Views
Last post March 17, 2021, 12:58:53 AM
by krishnaxDD
3 Replies
849 Views
Last post May 12, 2021, 11:09:16 PM
by markxj6
2 Replies
523 Views
Last post February 05, 2023, 03:51:29 PM
by lxb223
0 Replies
943 Views
Last post May 26, 2023, 12:41:57 AM
by jesuschis
0 Replies
1003 Views
Last post May 26, 2023, 12:45:11 AM
by jesuschis