Ziyaretçinin ip adresinden konumunu bulup ona göre Joomla 3 siteleri için namaz vakitleri modülü yapalım.
iş bittiğinde şöyle görünecek
1. ip adresini çekme:
İp Adresim Test Et: http://joomlaweb.site/ip.php
Kodumuz,
2.ip adresi üzerinden ziyaretçinin konumunu bulma:
Bunun için http://ip-api.com/php adresinden ip sorgulaması yapıp bize gerekli olan şehir bilgisini alacağız.
Bulunduğum Şehir TEST ET: http://joomlaweb.site/konumum.php
3.il değişkeni oluşturma
4.curl yöntemiyle namaz vakitlerini alma:
Bunun içinse http://www.namazvaktim.net sitesini kullanacağız.
5.sonuçları basma
Tüm kodlamaları birleştirip gerçek bir hostta deneyelim.
Kodları test et:http://joomlaweb.site/namaz.php
ÖNEMLİ:BU KODLAR LOCALDE ÇALIŞMAZ
Yukarıdaki kodu joomla modülümüze yamayalım. Burada yönetim panelinden kontrol edilecek şekilde parametre yazabilirsiniz.Ben gerek görmedim.
mod_namazvakitleri.zip içeriğine bakalım
index.html dosyası
mod_namazvakitleri.php dosyası örnek kod dosyamız
mod_namazvakitleri.xml dosyamız
iş bittiğinde şöyle görünecek
1. ip adresini çekme:
İp Adresim Test Et: http://joomlaweb.site/ip.php
Kodumuz,
Kod:
<?php
$ip = $_SERVER['REMOTE_ADDR'];
Bunun için http://ip-api.com/php adresinden ip sorgulaması yapıp bize gerekli olan şehir bilgisini alacağız.
Bulunduğum Şehir TEST ET: http://joomlaweb.site/konumum.php
Kod:
$query = @unserialize(file_get_contents('http://ip-api.com/php/'.$ip));
if($query && $query['status'] == 'success'){
}else {
echo 'Unable to get location';
}
Kod:
$il=$query['city'];
Bunun içinse http://www.namazvaktim.net sitesini kullanacağız.
Kod:
function site_kaynak($url) {
if (function_exists('curl_init')) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1");
return curl_exec($ch);
}
}
$il=$query['city'];
$ss = site_kaynak("http://www.namazvaktim.net/xml/gunluk/".$il.".xml");
$a=simplexml_load_string($ss);
$a->il.'<br><p>';
foreach ($a->zaman as $oku) {
$baslik = $oku->gun.'<br>';
$baslik = $oku->ay.'<br>';
$baslik = $oku->yil.'<br><p>';
$baslik = $oku->vakitler->imsak.'<br>';
$baslik = $oku->vakitler->gunes.'<br>';
$baslik = $oku->vakitler->ogle.'<br>';
$baslik = $oku->vakitler->ikindi.'<br>';
$baslik = $oku->vakitler->aksam.'<br>';
$baslik = $oku->vakitler->yatsi.'<br>';
$baslik = $oku->vakitler->kible.'<br>';
"<hr>";
}
flush();
?>
Kod:
<table width="%100" border="0">
<tr><td colspan="2"><?php echo "<b>",$query['city']," Namaz"," Vakitleri","</b>";?></td></tr>
<tr>
<td width="%60" align="left" bgcolor="#F8F8FF">İmsak </td>
<td width="%40" align="left" bgcolor="#F8F8FF"><?php echo $baslik = $oku->vakitler->imsak ?> </td>
</tr>
<tr>
<td width="%60" align="left" bgcolor="#FFFFF0">Güneş</td>
<td width="%40" align="left" bgcolor="#FFFFF0"><?php echo $baslik = $oku->vakitler->gunes ?></td>
</tr>
<tr>
<td width="%60" align="left" bgcolor="#F8F8FF">Öğle</td>
<td width="%40" align="left" bgcolor="#F8F8FF"> <?php echo $baslik = $oku->vakitler->ogle ?></td>
</tr>
<tr>
<td width="%60" align="left" bgcolor="#FFFFF0">İkindi</td>
<td width="%40" align="left" bgcolor="#FFFFF0"><?php echo $baslik = $oku->vakitler->ikindi ?></td>
</tr>
<tr>
<td width="%60" align="left" bgcolor="#F8F8FF">Akşam</td>
<td width="%40" align="left" bgcolor="#F8F8FF"><?php echo $baslik = $oku->vakitler->aksam ?></td>
</tr>
<tr>
<td width="%60" align="left" bgcolor="#FFFFF0">Yatsı</td>
<td width="%40" align="left" bgcolor="#FFFFF0"> <?php echo $baslik = $oku->vakitler->yatsi ?></td>
</tr>
<tr>
</table>
Kodları test et:http://joomlaweb.site/namaz.php
ÖNEMLİ:BU KODLAR LOCALDE ÇALIŞMAZ
Kod:
<?php
/**
* @package Namaz Vakitleri
* @version mod_namazvakitleri 1.0 (27.01.2016 20:19:45)
* @author Erdal BAYRAK
* @copyright (C) 2015 Adınız Soyadınız. Tüm hakları saklıdır.
* @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
**/
$ip = $_SERVER['REMOTE_ADDR']; // the IP address to query
$query = @unserialize(file_get_contents('http://ip-api.com/php/'.$ip));
if($query && $query['status'] == 'success'){
}else {
echo 'Unable to get location';
}
function site_kaynak($url) {
if (function_exists('curl_init')) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1");
return curl_exec($ch);
}
}
$il=$query['city'];
$ss = site_kaynak("http://www.namazvaktim.net/xml/gunluk/".$il.".xml");
$a=simplexml_load_string($ss);
$a->il.'<br><p>';
foreach ($a->zaman as $oku) {
$baslik = $oku->gun.'<br>';
$baslik = $oku->ay.'<br>';
$baslik = $oku->yil.'<br><p>';
$baslik = $oku->vakitler->imsak.'<br>';
$baslik = $oku->vakitler->gunes.'<br>';
$baslik = $oku->vakitler->ogle.'<br>';
$baslik = $oku->vakitler->ikindi.'<br>';
$baslik = $oku->vakitler->aksam.'<br>';
$baslik = $oku->vakitler->yatsi.'<br>';
$baslik = $oku->vakitler->kible.'<br>';
"<hr>";
}
flush();
?>
<table width="%100" border="0">
<tr><td colspan="2"><?php echo "<b>",$query['city']," Namaz"," Vakitleri","</b>";?></td></tr>
<tr>
<td width="%60" align="left" bgcolor="#F8F8FF">İmsak </td>
<td width="%40" align="left" bgcolor="#F8F8FF"><?php echo $baslik = $oku->vakitler->imsak ?> </td>
</tr>
<tr>
<td width="%60" align="left" bgcolor="#FFFFF0">Güneş</td>
<td width="%40" align="left" bgcolor="#FFFFF0"><?php echo $baslik = $oku->vakitler->gunes ?></td>
</tr>
<tr>
<td width="%60" align="left" bgcolor="#F8F8FF">Öğle</td>
<td width="%40" align="left" bgcolor="#F8F8FF"> <?php echo $baslik = $oku->vakitler->ogle ?></td>
</tr>
<tr>
<td width="%60" align="left" bgcolor="#FFFFF0">İkindi</td>
<td width="%40" align="left" bgcolor="#FFFFF0"><?php echo $baslik = $oku->vakitler->ikindi ?></td>
</tr>
<tr>
<td width="%60" align="left" bgcolor="#F8F8FF">Akşam</td>
<td width="%40" align="left" bgcolor="#F8F8FF"><?php echo $baslik = $oku->vakitler->aksam ?></td>
</tr>
<tr>
<td width="%60" align="left" bgcolor="#FFFFF0">Yatsı</td>
<td width="%40" align="left" bgcolor="#FFFFF0"> <?php echo $baslik = $oku->vakitler->yatsi ?></td>
</tr>
<tr>
</table>
mod_namazvakitleri.zip içeriğine bakalım
index.html dosyası
Kod:
<html><body></body></html>
Kod:
<?php
/**
* @package Namaz Vakitleri
* @version mod_namazvakitleri 1.0 (27.01.2016 20:19:45)
* @author Erdal BAYRAK
* @copyright (C) 2015 Adınız Soyadınız. Tüm hakları saklıdır.
* @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
**/
$ip = $_SERVER['REMOTE_ADDR']; // the IP address to query
$query = @unserialize(file_get_contents('http://ip-api.com/php/'.$ip));
if($query && $query['status'] == 'success'){
}else {
echo 'Unable to get location';
}
function site_kaynak($url) {
if (function_exists('curl_init')) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1");
return curl_exec($ch);
}
}
$il=$query['city'];
$ss = site_kaynak("http://www.namazvaktim.net/xml/gunluk/".$il.".xml");
$a=simplexml_load_string($ss);
$a->il.'<br><p>';
foreach ($a->zaman as $oku) {
$baslik = $oku->gun.'<br>';
$baslik = $oku->ay.'<br>';
$baslik = $oku->yil.'<br><p>';
$baslik = $oku->vakitler->imsak.'<br>';
$baslik = $oku->vakitler->gunes.'<br>';
$baslik = $oku->vakitler->ogle.'<br>';
$baslik = $oku->vakitler->ikindi.'<br>';
$baslik = $oku->vakitler->aksam.'<br>';
$baslik = $oku->vakitler->yatsi.'<br>';
$baslik = $oku->vakitler->kible.'<br>';
"<hr>";
}
flush();
?>
<table width="%100" border="0">
<tr><td colspan="2"><?php echo "<b>",$query['city']," Namaz"," Vakitleri","</b>";?></td></tr>
<tr>
<td width="%60" align="left" bgcolor="#F8F8FF">İmsak </td>
<td width="%40" align="left" bgcolor="#F8F8FF"><?php echo $baslik = $oku->vakitler->imsak ?> </td>
</tr>
<tr>
<td width="%60" align="left" bgcolor="#FFFFF0">Güneş</td>
<td width="%40" align="left" bgcolor="#FFFFF0"><?php echo $baslik = $oku->vakitler->gunes ?></td>
</tr>
<tr>
<td width="%60" align="left" bgcolor="#F8F8FF">Öğle</td>
<td width="%40" align="left" bgcolor="#F8F8FF"> <?php echo $baslik = $oku->vakitler->ogle ?></td>
</tr>
<tr>
<td width="%60" align="left" bgcolor="#FFFFF0">İkindi</td>
<td width="%40" align="left" bgcolor="#FFFFF0"><?php echo $baslik = $oku->vakitler->ikindi ?></td>
</tr>
<tr>
<td width="%60" align="left" bgcolor="#F8F8FF">Akşam</td>
<td width="%40" align="left" bgcolor="#F8F8FF"><?php echo $baslik = $oku->vakitler->aksam ?></td>
</tr>
<tr>
<td width="%60" align="left" bgcolor="#FFFFF0">Yatsı</td>
<td width="%40" align="left" bgcolor="#FFFFF0"> <?php echo $baslik = $oku->vakitler->yatsi ?></td>
</tr>
<tr>
</table>
Kod:
<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="1.0" client="site" method="upgrade">
<name>Namaz Vakitleri</name>
<author>Erdal BAYRAK</author>
<creationDate>27.01.2016 20:19:45</creationDate>
<copyright>
(C) 2015 Adınız Soyadınız. Tüm hakları saklıdır.
</copyright>
<license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license>
<authorEmail>erbay111@mynet.com</authorEmail>
<authorUrl>http://www.joomlaweb.site</authorUrl>
<version>1.0</version>
<description>Namaz vakitleri modülü kullancının ip adresinden bulunduğu konumu tespit edip, o şehrin namaz vakitlerini otomatik olarak verir. </description>
<files>
<filename module="mod_namazvakitleri">mod_namazvakitleri.php</filename>
<filename>helper.php</filename>
<filename>index.html</filename>
</files>
<config>
<fields name="params">
<fieldset name="basic">
<field
name="moduleclass_sfx"
type="text"
label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC"
size="60" >
</field>
</fieldset>
</fields>
</config>
</extension>