BxMapShowDb.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php defined('BX_DOL') or die('hack attempt');
  2. /**
  3. * Copyright (c) UNA, Inc - https://una.io
  4. * MIT License - https://opensource.org/licenses/MIT
  5. *
  6. * @defgroup MapShow Display last sign up users on map
  7. * @ingroup UnaModules
  8. *
  9. * @{
  10. */
  11. class BxMapShowDb extends BxBaseModGeneralDb
  12. {
  13. function __construct(&$oConfig)
  14. {
  15. parent::__construct($oConfig);
  16. }
  17. public function getLngLatData($iLastId)
  18. {
  19. $CNF = &$this->_oConfig->CNF;
  20. $iIntervalInHour = intval(getParam('bx_mapshow_initial_timeframe_users_shown_in_hours'));
  21. $sSql = "";
  22. $aBindings = array();
  23. if ($iLastId == 0) {
  24. $aBindings['interval'] = time() - $iIntervalInHour * 3600;
  25. $sSql = "`sys_accounts`.`added` > :interval " ;
  26. }
  27. else{
  28. $aBindings['id'] = $iLastId;
  29. $sSql = "`" . $CNF['TABLE_ENTRIES'] . "`.`" . $CNF['FIELD_ID'] . "` > :id";
  30. }
  31. return $this->getAll("SELECT `" . $CNF['TABLE_ENTRIES'] . "`." . $CNF['FIELD_LNG'] . ", `" . $CNF['TABLE_ENTRIES'] . "`." . $CNF['FIELD_LAT'] . ", `" . $CNF['TABLE_ENTRIES'] . "`." . $CNF['FIELD_ID'] . " FROM `" . $CNF['TABLE_ENTRIES'] . "` LEFT JOIN `sys_accounts` ON `sys_accounts`.`id` = `" . $CNF['TABLE_ENTRIES'] . "`." . $CNF['FIELD_ACCOUNT_ID'] . " WHERE " . $sSql, $aBindings);
  32. }
  33. public function addIpInfo($iAccountId, $sIp, $sLng, $sLat)
  34. {
  35. $CNF = &$this->_oConfig->CNF;
  36. $aBindings = array(
  37. 'account_id' => $iAccountId,
  38. 'lng' => $sLng,
  39. 'lat' => $sLat
  40. );
  41. $this->query("INSERT INTO " . $CNF['TABLE_ENTRIES'] . " (" . $CNF['FIELD_ACCOUNT_ID'] . ", " . $CNF['FIELD_LNG'] . ", " . $CNF['FIELD_LAT'] . ") VALUES (:account_id, :lng, :lat)", $aBindings);
  42. }
  43. }
  44. /** @} */