joomla_antivirus_logo

Autor Tema: Kako ubaciti kontrolu datuma  (Posjeta: 2210 )

0 Članova i 1 Gost pregledava ovu temu.

erbi

  • Ozbiljan forumaš
  • ****
  • Postova: 368
  • Karma: 0
    • Profil
    • Radio Tomi
Kako ubaciti kontrolu datuma
« : 07. Listopad 2012, 19:29 »
Pozdrav!
Moram da prepravim jedan modul u kojem je:
function ipVoted($poll_id) {
$db =& JFactory::getDBO();
$ip = ip2long($_SERVER['REMOTE_ADDR']);
$query = "SELECT ip FROM ".$db->nameQuote('#__acepolls_votes')
."WHERE poll_id=".(int) $poll_id."
************ovdje ide i kontrola datuma *************
AND ip = '".$ip."'"
;
$db->setQuery($query);

return $ipVoted=($db->loadResult()) ? 1 : 0;
}
U ovoj tablici ima date, koji je formata datetime. Sad mi treba nekako ovako:
AND date < now()-24 satiKako bi ovo uradio da bi radilo?

Dario

  • Global Moderator
  • *****
  • Postova: 1.037
  • Karma: 26
  • Web/Joomla Developer
    • Profil
    • dBlaze
Odg: Kako ubaciti kontrolu datuma
« Odgovori #1 : 08. Listopad 2012, 15:18 »
Bez strukture tablice je ovo ko traženje igle u sijenu.... u mraku....
Napravi screenshot ace_polls tablice pa da vidimo dal će to opće ići....
---
Molim da mi ne šaljete privatne poruke sa zahtjevima za pomoć, takve poruke ignoriram - zato služi forum :)
2b || !2b; this.question();
http://www.dblaze.eu

erbi

  • Ozbiljan forumaš
  • ****
  • Postova: 368
  • Karma: 0
    • Profil
    • Radio Tomi
Odg: Kako ubaciti kontrolu datuma
« Odgovori #2 : 08. Listopad 2012, 15:39 »
Evo, ovako

Dario

  • Global Moderator
  • *****
  • Postova: 1.037
  • Karma: 26
  • Web/Joomla Developer
    • Profil
    • dBlaze
Odg: Kako ubaciti kontrolu datuma
« Odgovori #3 : 08. Listopad 2012, 15:47 »
Eto dakle imaš klasiku za date format u bazi pa bi ti bilo koje od ovih riješenja trebalo poslužit... Da nejdem sad isprobavat po bazi, većina ovih odgovora mi izgleda u redu samo uvijek ima i različitih načina za napisat.

EDIT:
Dakle ovo bi trebalo radit, ali ovak na brzaka tipkam jer gibam dalje, ali mislim da nisam nigdje profulal :)

function ipVoted($poll_id) {
$db =& JFactory::getDBO();
$ip = ip2long($_SERVER['REMOTE_ADDR']);
$query = "SELECT ip FROM ".$db->nameQuote('#__acepolls_votes')
."WHERE poll_id=".(int) $poll_id."
AND date >= SYSDATE() - INTERVAL 1 DAY
AND ip = '".$ip."'"
;
$db->setQuery($query);

return $ipVoted=($db->loadResult()) ? 1 : 0;
}
« Zadnja izmjena: 08. Listopad 2012, 15:55 Dario [ORION] »
---
Molim da mi ne šaljete privatne poruke sa zahtjevima za pomoć, takve poruke ignoriram - zato služi forum :)
2b || !2b; this.question();
http://www.dblaze.eu

erbi

  • Ozbiljan forumaš
  • ****
  • Postova: 368
  • Karma: 0
    • Profil
    • Radio Tomi
Odg: Kako ubaciti kontrolu datuma
« Odgovori #4 : 08. Listopad 2012, 16:34 »
Pozdrav Dario!
Hvala za rješenje. Radi, al ima jedna frka. Server radi na UTC, joomla ima u konfiguraciji +2 sata i sad pazi:
Svi moduli prorade po ovom lokalnom vrijemenu, isto se u vjest upiše lokalno vrijeme. ACePoll modul ne radi ovako. On stavlja u tablice UTC, tako da bi kod ovog zadnjeg rješenja bilo glasanje onemogučeno 26 sati. Ja sam sad uradio ovako:
."WHERE poll_id=".(int) $poll_id."
AND timediff(now(), date) < '22:00:00'
AND ip = '".$ip."'"

Dario

  • Global Moderator
  • *****
  • Postova: 1.037
  • Karma: 26
  • Web/Joomla Developer
    • Profil
    • dBlaze
Odg: Kako ubaciti kontrolu datuma
« Odgovori #5 : 08. Listopad 2012, 16:41 »
Nažalost ne možeš utjecat kako modul radi.... to se događa kad ekstenzije ne koriste Joomline funkcije (za datum ovom slučaju) pa onda moraš i zaobilazit to :(
Uglavnom, bitno da si postigao kaj je trebalo :)
---
Molim da mi ne šaljete privatne poruke sa zahtjevima za pomoć, takve poruke ignoriram - zato služi forum :)
2b || !2b; this.question();
http://www.dblaze.eu

 

joomla_antivirus_logo
anything