Mesafeli Satış Sözleşmesi Henüz Olmadı...

byoracle

OpenCart-TR
Katılım
19 Ağu 2010
Mesajlar
27
Tepkime puanı
0
Puanları
0
Konum
İstanbul
Merhaba,

Değerli OpenCart kullanıcı ve geliştirici arkadaşlarım;
Mesafeli satış sözleşmesi konusu güncellenen yasa ile birlikte dahada önem kazanmıştır bilindiği üzere. Bu konu diğer görsel vs. işlemlerden dahada önemlidir.

../checkout / payment_method.php

../checkout / payment_method.tpl

Yukarıda yazılı dosyalara "Mesafeli Satış Sözleşmesi"ni gömmemiz gerekiyor.
Dahası;

MESAFELİ SATIŞ SÖZLEŞMESİ
MADDE 1 TARAFLAR
1.1 - SATICI



Ünvanı : X Ticaret A.Ş. (Database den çekilecek)
Adresi : x Mh. X cd. No:xx İstanbul (Database den çekilecek)
Telefon : 0 212 123 x xxx (Database den çekilecek)
Fax : 0 212 123 x xxx (Database den çekilecek)
Eposta adresi : info@xxx.com (Database den çekilecek)





1.2 - ALICI



Adı/Soyadı/Ünvanı : Adı Soyadı (Database den çekilecek)
Adresi : Müşteri adresi xx (Database den çekilecek)
Telefon : 532xxxxxxx (Database den çekilecek)
Eposta adresi : musteri@openmail.com (Database den çekilecek)





MADDE 2 KONU

İşbu sözleşmenin konusu, ALICI nın SATICI ya ait www.xxx.com internet sitesinden elektronik ortamda siparişini yaptığı aşağıda nitelikleri ve satış fiyatı belirtilen ürünün satışı ve teslimi ile ilgili olarak 4077 sayılı Tüketicilerin Korunması Hakkındaki Kanun ve 06.03.2011 Tarihli Mesafeli Sözleşmelere Dair Yönetmelik hükümleri gereğince tarafların hak ve yükümlülüklerinin saptanmasıdır.



MADDE 3 SÖZLEŞME KONUSU ÜRÜN

Ürünlerin Cinsi ve Türü, Miktarı, Marka/Modeli, Rengi ve Satış Bedeli ve Teslimat Bilgileri aşağıda belirtildiği gibidir.



(Database den çekilecek)
Ürün Açıklaması Adet Peşin Fiyatı Vadeli Fiyatı Ara Toplam
(KDV Dahil)
xxx Elbise 1000 (S/M) 1 22,99 TL 22,99 TL 22,99 TL
xxx Kargo - 5,99 TL 5,99 TL 5,99 TL
Toplam : 28,98 TL
(Database den çekilecek)



Ödeme Şekli ve Planı : -
Teslimat Adresi : Müşteri teslim adresi (Database den çekilecek)
Teslim Edilecek Kişi : Adı Soyadı (Database den çekilecek)
Fatura Adresi : Fatura adresi (Database den çekilecek)


GECİKME FAİZİ
Ödeme peşin ya da kredi kartı ile yapılacağı için SATICI tarafından gecikme faizi uygulanmaz.

MADDE 4 GENEL HÜKÜMLER



4.1) ALICI, www.xxx.com internet sitesinde sözleşme konusu ürünün temel nitelikleri, satış fiyatı ve ödeme şekli ile teslimata ilişkin ön bilgileri okuyup bilgi sahibi olduğunu ve elektronik ortamda gerekli teyidi verdiğini beyan eder. ALICI; Ön Bilgilendirmeyi elektronik ortamda teyit etmekle, mesafeli sözleşmelerin akdinden önce, Satıcı tarafından Tüketici ye verilmesi gereken adres, siparişi verilen ürünlere ait temel özellikler, ürünlerin vergiler dahil Türk Lirası fiyatı, ödeme ve teslimat bilgilerini de doğru ve eksiksiz olarak edindiğini teyid etmiş olur.
4.2) Sözleşme konusu ürün, yasal 30 günlük süreyi aşmamak koşulu ile her bir ürün için ALICI nın yerleşim yerinin uzaklığına bağlı olarak internet sitesinde yer ön bilgiler içinde açıklanan süre içinde ALICI veya gösterdiği adresteki kişi/kuruluşa teslim edilir.
4.3) Kargo ücreti ALICI tarafından ödenecektir. Kargo firmasının, ürünü ALICI’ya teslimi aşamasında karşılaşacağı her türlü sorun nedeniyle, siparişi verilen ürünün ALICI ya teslim edilememesinden dolayı SATICI sorumlu tutulamaz.
4.4) SATICI, sözleşme konusu ürünün sağlam, eksiksiz, siparişte belirtilen niteliklere uygun ve varsa garanti belgeleri ve kullanım kılavuzları ile teslim edilmesinden sorumludur.
4.5) SATICI, sözleşmeden doğan ifa yükümlülüğünün süresi dolmadan ALICI yı bilgilendirmek ve açıkça onayını almak suretiyle eşit kalite ve fiyatta farklı bir ürün tedarik edebilir.
4.6) SATICI, sipariş konusu ürün veya hizmetin yerine getirilmesinin imkânsızlaşması halinde sözleşme konusu yükümlülüklerini yerine getiremezse, bu durumu, sözleşmeden doğan ifa yükümlülüğünün süresi dolmadan tüketiciye bildirir ve 10 günlük süre içinde toplam bedeli ALICI ya iade eder.
4.7) Ürünün teslimatı için Ön Bilgilendirme Formunun elektronik ortamda teyid edilmesi şarttır. Herhangi bir nedenle ürün bedeli ödenmez veya banka kayıtlarında iptal edilir ise, SATICI ürünün teslimi yükümlülüğünden kurtulmuş kabul edilir.
4.8) Ürünün tesliminden sonra ALICI ya ait kredi kartının ALICI nın kusurundan kaynaklanmayan bir şekilde yetkisiz kişilerce haksız veya hukuka aykırı olarak kullanılması nedeni ile ilgili banka veya finans kuruluşun ürün bedelini SATICI ya ödememesi halinde, ALICI kendisine teslim edilmiş olması kaydıyla ürünü 3 gün içinde SATICI ya iade etmek zorundadır. Bu takdirde nakliye giderleri ALICI ya aittir.
4.9) SATICI mücbir sebepler veya nakliyeyi engelleyen hava muhalefeti, ulaşımın kesilmesi gibi olağanüstü durumlar nedeni ile sözleşme konusu ürünü süresi içinde teslim edemez ise, durumu ALICI ya bildirmekle yükümlüdür. Bu takdirde ALICI siparişin iptal edilmesini, sözleşme konusu ürünün varsa emsali ile değiştirilmesini ve/veya teslimat süresinin engelleyici durumun ortadan kalkmasına kadar ertelenmesi haklarından birini kullanabilir. ALICI nın siparişi iptal etmesi halinde ödediği toplam tutar 10 gün içinde kendisine nakden ve defaten ödenir. ALICI’nın kredi kartı ile yaptığı ödemelerde ise, ürün tutarı, siparişin ALICI tarafından iptal edilmesinden sonra 7 gün içerisinde ilgili bankaya iade edilir. Bu tutarın bankaya iadesinden sonra ALICI hesaplarına yansıması tamamen banka işlem süreci ile ilgili olduğundan, ALICI, olası gecikmeler için SATICI nın herhangi bir şekilde müdahalede bulunmasının mümkün olamayacağını ve SATICI tarafından kredi kartına iade edilen tutarın banka tarafından ALICI hesabına yansıtılmasının ortalama 2 ile 3 haftayı bulabileceğini şimdiden kabul etmektedir.



MADDE 5 CAYMA HAKKI



ALICI; mal satışına ilişkin mesafeli sözleşmelerde, ürünün kendisine veya gösterdiği adresteki kişi/kuruluşa teslim tarihinden itibaren 30 (otuz) gün içerisinde hiçbir hukuki ve cezai sorumluluk üstlenmeksizin ve hiçbir gerekçe göstermeksizin malı reddederek sözleşmeden cayma hakkını kullanabilir. Hizmet sunumuna ilişkin mesafeli sözleşmelerde ise, bu süre sözleşmenin imzalandığı tarihte başlar. Cayma hakkı süresi sona ermeden önce, tüketicinin onayı ile hizmetin ifasına bağlanan hizmet sözleşmelerinde cayma hakkı kullanılamaz. Cayma hakkının kullanımından kaynaklanan masraflar SATICI’ ya aittir.

Cayma hakkının kullanılması için 30 günlük süre içinde SATICI ya iadeli taahhütlü posta, faks veya eposta ile bildirimde bulunulması ve ürünün 6. madde hükümleri çerçevesinde kullanılmamış olması şarttır. Bu hakkın kullanılması halinde,

a) 3. kişiye veya ALICI ya teslim edilen ürünün faturası, (İade edilmek istenen ürünün faturası kurumsal ise, geri iade ederken kurumun düzenlemiş olduğu iade faturası ile birlikte gönderilmesi gerekmektedir. Faturası kurumlar adına düzenlenen sipariş iadeleri İADE FATURASI kesilmediği takdirde tamamlanamayacaktır)

b) İade formu,

c) İade edilecek ürünlerin kutusu, ambalajı, varsa standart aksesuarları ile birlikte eksiksiz ve hasarsız olarak teslim edilmesi gerekmektedir.

d) SATICI, cayma bildiriminin kendisine ulaşmasında itibaren en geç 10 günlük süre içerisinde toplam bedeli ve alıcıyı borç altına sokan belgeleri ALICI’ya iade etmek ve 20 günlük süre içerisinde malı iade almakla yükümlüdür.

e) ALICI nın kusurundan kaynaklanan bir nedenle malın değerinde bir azalma olursa veya iade imkânsızlaşırsa ALICI kusuru oranında SATICI’nın zararlarını tazmin etmekle yükümlüdür.

f) Cayma hakkının kullanılması nedeniyle SATICI tarafından düzenlenen kampanya limit tutarının altına düşülmesi halinde kampanya kapsamında faydalanılan indirim miktarı iptal edilir.



MADDE 6 CAYMA HAKKI KULLANILAMAYACAK ÜRÜNLER



Niteliği itibarıyla iade edilemeyecek ürünler; tek kullanımlık ürünler, kopyalanabilir yazılım ve programlar, hızlı bozulan veya son kullanım tarihi geçme ihtimali olan ürünlerin iadesi kabul edilmemektedir.
Aşağıdaki ürünlerin iade edilebilmesi, ürünün ambalajının açılmamış, bozulmamış ve ürünün kullanılmamış ve denenmemiş olması şartına bağlıdır.

• Her türlü Kozmetik Ürün
• İç Giyim Ürünleri
• Her Türlü Kişisel Bakım Ürünü
• Her türlü yazılım ve programlar
• DVD, VCD, CD ve kasetler
• Bilgisayar ve kırtasiye sarf malzemeleri (toner, kartuş, şerit vb.) • Taşınabilir Bilgisayarlar ve Masaüstü Bilgisayarlar (Ürünün arızalı ve ayıplı çıkması durumu haricinde), orijinal işletim sistemi kurulduktan yani bilgisayar kurulumu yapıldıktan sonra iade alınmayacaktır.



MADDE 7 YETKİLİ MAHKEME



İşbu sözleşmenin uygulanmasında, Sanayi ve Ticaret Bakanlığınca ilan edilen değere kadar ALICI nın mal veya hizmeti satın aldığı ve ikametgahının bulunduğu yerdeki Tüketici Hakem Heyetleri ile Tüketici Mahkemeleri yetkilidir.

SATICI şikâyet ve itirazları konusunda başvurularını, T.C. Sanayi Ve Ticaret Bakanlığı tarafından her yıl Aralık ayında belirlenen parasal sınırlar dâhilinde mal veya hizmeti satın aldığı veya ikametgâhının bulunduğu yerdeki tüketici sorunları hakem heyetine veya tüketici mahkemesine yapabilir. Parasal sınıra ilişkin bilgiler aşağıdadır.

1/1/2012 tarihinden itibaren geçerli olmak üzere:

a) 4077 sayılı Tüketicinin Korunması Hakkında Kanunun değişik 22 nci maddesinin 5 ve 6 ncı fıkrasındaki tüketici sorunları hakem heyetlerinin kararlarının bağlayıcı olacağına ilişkin üst veya tüketici mahkemelerinde delil olacağına ilişkin alt parasal sınır 1.161,67 TL,

b) 1/8/2003 tarihli ve 25186 sayılı Resmî Gazete’de yayımlanan Tüketici Sorunları Hakem Heyetleri Yönetmeliği’nin 5 inci maddesinin üçüncü fıkrasında, büyükşehir statüsünde bulunan illerde faaliyet gösteren il hakem heyetlerinin uyuşmazlıklara bakmakla görevli ve yetkili olmalarına ilişkin alt parasal sınır 3.032,65 TL dir.



İşbu Sözleşme ticari amaçlarla yapılmıştır.







SATICI : X Ticaret A.Ş. (Database den çekilecek)
ALICI : Adı Soyadı (Database den çekilecek)
TARİH : 19.04.2012 21:44:39 (Güncel Tarih/Saat)

Bütün ihtiyaç bundan ibaret. Yardımlarını esirgemeyen arkadaşlarımıza sonsuz teşekkürlerimi sunarım.

Konunun farklı yerlere kanalize olmaması adına yukarıda yazılı yönergeler dışına çıkılmaması konusundaki hassasiyet gösterileceği içinde ayrıca teşekkür ederim.

Vira Bismillah...
 

nokta

OpenCart-TR
Katılım
14 Eki 2010
Mesajlar
118
Tepkime puanı
0
Puanları
0
../checkout / payment_method.php
../checkout / payment_method.tpl
bu dosyalara neden gömmek istediniz ki?
onay işlemi confirm.php ve confirm.tpl de gerçekleşiyor.
zaten ürünler sorunsuz confirm.tpl dosyasında çekilmiş olarak geliyor sadece satıcı ve alıcı bilgilerini çektirmekte sorun yaşıyoruz.

aslında biraz inceledim kasaya git deki işlemleri en üstten başlayarak her butonu tıklayıp bir sonraki aşamaya geçtiğimizde verdiğimiz bilgiler cookie nin içine kaydediliyor biz sözleşmeyi ekrana bastığımız en son ürünlerin aktif olduğu sayfada ürünler aktif olduğu için sorunsuz o datayı çekebiliyoruz ama daha önceki ekranlardaki bilgiler cookie içinde olduğundan dolayı ulaşamıyoruz cookie yi okutmayı başarırsak bu bilgi çekme işlemlerini de başarmış olacağız.
 

byoracle

OpenCart-TR
Katılım
19 Ağu 2010
Mesajlar
27
Tepkime puanı
0
Puanları
0
Konum
İstanbul
nokta' Alıntı:
../checkout / payment_method.php
../checkout / payment_method.tpl
bu dosyalara neden gömmek istediniz ki?
onay işlemi confirm.php ve confirm.tpl de gerçekleşiyor.
zaten ürünler sorunsuz confirm.tpl dosyasında çekilmiş olarak geliyor sadece satıcı ve alıcı bilgilerini çektirmekte sorun yaşıyoruz.

aslında biraz inceledim kasaya git deki işlemleri en üstten başlayarak her butonu tıklayıp bir sonraki aşamaya geçtiğimizde verdiğimiz bilgiler cookie nin içine kaydediliyor biz sözleşmeyi ekrana bastığımız en son ürünlerin aktif olduğu sayfada ürünler aktif olduğu için sorunsuz o datayı çekebiliyoruz ama daha önceki ekranlardaki bilgiler cookie içinde olduğundan dolayı ulaşamıyoruz cookie yi okutmayı başarırsak bu bilgi çekme işlemlerini de başarmış olacağız.

Bende "Şartlar & Koşullar'ı okudum ve kabul ediyorum." ibaresi payment.tpl de çıkıyor. sizde confirm.tpl de mi çıkıyor bu ibare?

"Fofotara"
Örnek Site adresi : b1.kiops.com

Sitesinde "payment_method.tpl" içinde gayet iyi şekilde çekmiş bilgileri. Arkadaş meşgul sanırım, epeydir girmiyor foruma. bizde bu nedenle deneme yanılma yapıyoruz. inşallah başarılı olacağız...
 

Tempest

OpenCart-TR
Katılım
1 Mar 2012
Mesajlar
8
Tepkime puanı
0
Puanları
0
Arkadaşlar şu olayı artık çözünde gönül rahatlığı ile kullanalım sitemizi yahu... Binlerce ürünü siteye ekledim sırf satış sözleşmesi nedeniyle bekletiyorum. PHP bilen birisi için bunu yapmanın çok kolay olduğunu düşünüyorum. Yanılıyorsam şimdiden özür dilerim ama gerçekten zaruri bir ihtiyaç ve benim gibi onlarca kişi bu eksikliğin giderilmesini bekliyor diye tahmin ediyorum.
 

nokta

OpenCart-TR
Katılım
14 Eki 2010
Mesajlar
118
Tepkime puanı
0
Puanları
0
byoracle' Alıntı:
Bende "Şartlar & Koşullar'ı okudum ve kabul ediyorum." ibaresi payment.tpl de çıkıyor. sizde confirm.tpl de mi çıkıyor bu ibare?

evet bende confirm.tpl de çıkıyor zaten ilk konuda yüklediğim dosyaları incelerseniz confirm üzerinde çalıştığımı göreceksiniz.
sizin versiyon nedir 1.4.x mi 1.5.x mi?

Arkadaşlar 1.5.x için ilk konuda basit bir güncelleme var ben 10 tane sitede bunu kullanıyorum nihayetinde müşteriye okutup kabul ettiriyoruz onaylatıyoruz sözleşmeyi. Adam gibi çalışan bir modül oluşturana kadar sitelerinizi askıya almayın.
 

fofotara

OpenCart-TR
Katılım
24 Kas 2011
Mesajlar
79
Tepkime puanı
0
Puanları
0
[attachment=1454]

arkadaşlar özür dilerim.Yurtdışına çıkmıştım Yoğunluktan bakamadım . Son baktığımda tüm veriler eksiksizdi.
Tüm veriler database'den çekiliyor. Görünüşte eksik birşey yok ?
Eksiklikler varsa tamamlayalım ?
 

Ekli dosyalar

  • adres.JPG
    adres.JPG
    100.5 KB · Görüntüleme: 179

nokta

OpenCart-TR
Katılım
14 Eki 2010
Mesajlar
118
Tepkime puanı
0
Puanları
0
fofotara' Alıntı:
arkadaşlar özür dilerim.Yurtdışına çıkmıştım Yoğunluktan bakamadım . Son baktığımda tüm veriler eksiksizdi.
Tüm veriler database'den çekiliyor. Görünüşte eksik birşey yok ?
Eksiklikler varsa tamamlayalım ?

@fofotara gördüğüm kadarı ile bir eksiği yok gayet derli toplu olmuş.
Merakla paylaşımını bekliyorum.
 

Tempest

OpenCart-TR
Katılım
1 Mar 2012
Mesajlar
8
Tepkime puanı
0
Puanları
0
fofotara' Alıntı:
arkadaşlar özür dilerim.Yurtdışına çıkmıştım Yoğunluktan bakamadım . Son baktığımda tüm veriler eksiksizdi.
Tüm veriler database'den çekiliyor. Görünüşte eksik birşey yok ?
Eksiklikler varsa tamamlayalım ?

Evet gayet güzel görünüyor. Ben de merakla paylaşmanı bekliyorum arkadaşım.
 

biquul

OpenCart-TR
Katılım
2 Ara 2011
Mesajlar
33
Tepkime puanı
0
Puanları
0
Çok iyi. Tebrik ederim @fofotara
 

aciketicaret

OpenCart-TR
Katılım
1 May 2012
Mesajlar
5
Tepkime puanı
0
Puanları
0
Üzerinde çalıştığım ve son düzenlemeleri gerçekleştirdiğim mesafeli satış sözleşmesi ve ön bilgilendirme formunu sizlerle paylaşıp eksikleri içinde yardım istiyorum. Sözleşmeyi denemek isteyen arkadaşlar http://aciketicaret.tk/ adresinden kontrol edebilir.
Sözleşmedeki veriler dinamik olarak oluşturulmakta sipariş onayı butonu tıklanınca müşteriye sunulmaktadır.
mesafelisatis.jpg


Sipariş sonrası gönderilen e-postaya kullanıcıya gösterilen sözleşme ve ön bilgilendirme formu eklenmektedir. Ayrıca admin panelinden yazdırma seçenekleri eklenmiştir.
adminsozles.jpg


Sözleşme metnini bu sitede paylaşan bir arkadaşımızdan aldım ama tam olarak yönetmeliğe uygun mu bilmiyorum. Ayrıca ön bilgilendirme formunda bir alışveriş sitesinden aldım onunda değişmesi gerek http://aciketicaret.tk/dokuman/mesafeli-sozlesmelere-dair-yonetmelik.htm adresindeki yönetmeliğe uygun bir metinden mutabık kalırsak tekrar düzenleme yaparım.

Evet şimdide uygulamaya geçiyoruz. Değişikler 1.5.2.1 sürümünde uygulanmıştır. Diğer versiyonlarda denemedim. Şu an uygulamak isteyenler satış yaptığı siteler üzerinde uygulamaması tavsiye ediyorum. Sözleşme metni büyük ihtimal değişecektir.

Dosyayı indirip dosyaları ana dizine atıyoruz.
http://aciketicaret.tk/dosyalar/SozlesmeEklenti.zip

Aşağıdaki dosyalarda değişiklik yapılacaktır. Dosyaları yedeklemenizde fayda var.
Kod:
catalog/view/theme/default/template/payment/cod.tpl
catalog/model/checkout/order.php
catalog/view/theme/default/template/mail/order.tpl
admin/controller/sale/order.php
admin/view/template/sale/order_info.tpl

Değişikler 1.5.2.1 sürümünde yapılmıştır. Eğer yukarıda belirtilen dosyalarda değişiklik yapmadıysanız ve 1.5.2.1 sürümünü kullanıyorsanız http://aciketicaret.tk/dosyalar/Degisiklikler.zip dosyasını indirip kendi dosyalarınızla değiştirebilirsiniz. Bu dosyada ödeme metotlarından sadece kapıda ödeme seçeneğinde uygulanmıştır. Diğerleri için aşağıda anlatımdan yararlanana bilirsiniz.

Sipariş onayının görüntülenmesi için kullandığımız ödeme metotlarında değişiklik yapmamız gerekmektedir.
Örneğin kapıda ödeme seçeneği için
Kod:
catalog/view/theme/default/template/payment/cod.tpl
dosyasında değişiklik yapmanız gerekmektedir. Öncelikle dosyanın karakter kodlamasını ANSI'den UTF-8'e değiştirilmesi gerekmekte.
Bunun için Linux’ta Geany(http://www.geany.org/) Windows’ta Notepad++ ( http://notepad-plus-plus.org/download/v6.1.2.html ) kullanabilirsiniz.
PHP:
<script type="text/javascript"><!--
kısmını bulup üstüne ekleyiniz
PHP:
<div id="dialog-bilgilendirme" title="Ön Bilgilendirme" style="display : none;">
	<span class="ui-icon ui-icon-info" style="float:left; margin:0 7px 20px 0;"></span><span style="font-family: 'Lucida Sans Unicode', 'Lucida Grande', Arial, Helvetica, sans-serif;
	font-size: 13px;">06.03.2011 tarih ve 27866 Sayılı resmi gazetede yayınlanan 'Mesafeli Sözleşmelere Dair Yönetmelik' gereğince internet üzerinden gerçekleştirilen satışlar için hazırlanan Ön bilgiler ve bilgilendirme formu aşağıdadır.</span>
	<div  class="onbilgilendirme" style="height: 300px; overflow: auto; background-color: #fff; font-family: 'Lucida Sans Unicode', 'Lucida Grande', Arial, Helvetica, sans-serif; font-size: 13px;">
	 <div style="text-align: center; margin-top: 130px"><img src="catalog/view/javascript/jquery/colorbox/images/loading.gif" /> <br />Ön Bilgilendirme Formu Yükleniyor</div>
	</div>
</div>
<div id="dialog-sozlesme" title="Mesafeli Satış Sözleşmesi" style="display : none;">
	<span class="ui-icon ui-icon-info" style="float:left; margin:0 7px 20px 0;"></span><span style="font-family: 'Lucida Sans Unicode', 'Lucida Grande', Arial, Helvetica, sans-serif;
	font-size: 13px;">06.03.2011 tarih ve 27866 Sayılı resmi gazetede yayınlanan 'Mesafeli Sözleşmelere Dair Yönetmelik' gereğince internet üzerinden gerçekleştirilen satışlar için hazırlanan mesafeli satış sözleşmesi aşağıdadır.</span>
	<div  class="sozlesme" style="height: 300px; overflow: auto; background-color: #fff; font-family: 'Lucida Sans Unicode', 'Lucida Grande', Arial, Helvetica, sans-serif; font-size: 13px;">
	 <div style="text-align: center; margin-top: 130px"><img src="catalog/view/javascript/jquery/colorbox/images/loading.gif" /> <br />Mesafeli Satış Sözleşmesi Yükleniyor</div>
	</div>
</div>


PHP:
<script type="text/javascript"><!--
$('#button-confirm').bind('click', function() {
kısmını bulup, altına aşağıdaki kodu ekleyiniz.
PHP:
		$( '#dialog-bilgilendirme' ).dialog({
			resizable: false,
			height:450,
			width: 760,
			modal: true,
			open: function(event, ui) { $('.onbilgilendirme').load('index.php?route=checkout/sozlesme/onbilgilendirme'); },
			buttons: {
				'Ön Bilgilendirme formunu okudum ve onaylıyorum': function() {
					$( '#dialog-sozlesme' ).dialog({
						resizable: false,
						height:450,
						width: 760,
						modal: true,
						open: function(event, ui) { $('.sozlesme').load('index.php?route=checkout/sozlesme'); },
						buttons: {
							'Mesafeli Satış Sözleşmesini okudum ve kabul ediyorum': function() {

PHP:
$.ajax({ 
										type: 'GET',
										url: 'index.php?route=payment/cod/confirm',
										success: function() {
											location = '<?php echo $continue; ?>';
										}		
									});
Kısmının bulup altına ekleyiniz.
PHP:
						},
							"Hayır": function() {
								$( this ).dialog( 'close' );
							}
						}
					});
					$( this ).dialog( 'close' );
				},
				"Hayır": function() {
					$( this ).dialog( 'close' );
				}
			}
		});


Kapıda ödeme seçeneği için değişikleri tamamlamış olduk. Diğer ödeme seçenekleri için de durum benzer.

Sipariş onayından sonra mail gönderilmesi içinde değişiklik yapmamız gerekmektedir.

Kod:
catalog/model/checkout/order.php
dosyasında

PHP:
$template->data['totals'] = $order_total_query->rows;
Satırını bulup altına ekleyiniz
PHP:
			$template->data['onBilgilendirmeFormu'] = $this->session->data['onBilgilendirmeFormu'];
			$template->data['mesafeliSatisSozlesmesi'] = $this->session->data['mesafeliSatisSozlesmesi'];

Kod:
catalog/view/theme/default/template/mail/order.tpl
dosyasında
PHP:
<p style="margin-top: 0px; margin-bottom: 20px;"><?php echo $text_footer; ?></p>
bulup üstüne ekleyiniz.
PHP:
<?php echo $onBilgilendirmeFormu.$mesafeliSatisSozlesmesi; ?>

Son olarak admin paneline sözleşmeyi eklemek için

Kod:
admin/controller/sale/order.php
dosyasında

En altta bulunan kodları bulup
PHP:
}
?>

üstüne aşağıdaki kodları ekleyiniz.
PHP:
	public function satissozlesmesi() {
		$this->load->language('sale/order');

		$this->data['title'] = $this->language->get('heading_title');

		if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
			$this->data['base'] = HTTPS_SERVER;
		} else {
			$this->data['base'] = HTTP_SERVER;
		}

		$this->data['direction'] = $this->language->get('direction');
		$this->data['language'] = $this->language->get('code');

		$this->data['text_invoice'] = $this->language->get('text_invoice');

		$this->data['text_order_id'] = $this->language->get('text_order_id');
		$this->data['text_invoice_no'] = $this->language->get('text_invoice_no');
		$this->data['text_invoice_date'] = $this->language->get('text_invoice_date');
		$this->data['text_date_added'] = $this->language->get('text_date_added');
		$this->data['text_telephone'] = $this->language->get('text_telephone');
		$this->data['text_fax'] = $this->language->get('text_fax');
		$this->data['text_to'] = $this->language->get('text_to');
		$this->data['text_ship_to'] = $this->language->get('text_ship_to');

		$this->data['column_product'] = $this->language->get('column_product');
		$this->data['column_model'] = $this->language->get('column_model');
		$this->data['column_quantity'] = $this->language->get('column_quantity');
		$this->data['column_price'] = $this->language->get('column_price');
		$this->data['column_total'] = $this->language->get('column_total');
		$this->data['column_comment'] = $this->language->get('column_comment');

		$this->load->model('sale/order');

		$this->load->model('setting/setting');

		$this->data['orders'] = array();

		$orders = array();

		if (isset($this->request->post['selected'])) {
			$orders = $this->request->post['selected'];
		} elseif (isset($this->request->get['order_id'])) {
			$orders[] = $this->request->get['order_id'];
		}

		foreach ($orders as $order_id) {
			$order_info = $this->model_sale_order->getOrder($order_id);

			if ($order_info) {
				$store_info = $this->model_setting_setting->getSetting('config', $order_info['store_id']);
				
				if ($store_info) {
					$store_address = $store_info['config_address'];
					$store_email = $store_info['config_email'];
					$store_telephone = $store_info['config_telephone'];
					$store_fax = $store_info['config_fax'];
				} else {
					$store_address = $this->config->get('config_address');
					$store_email = $this->config->get('config_email');
					$store_telephone = $this->config->get('config_telephone');
					$store_fax = $this->config->get('config_fax');
				}
				
				if ($order_info['invoice_no']) {
					$invoice_no = $order_info['invoice_prefix'] . $order_info['invoice_no'];
				} else {
					$invoice_no = '';
				}
				
				if ($order_info['shipping_address_format']) {
					$format = $order_info['shipping_address_format'];
				} else {
					$format = '{firstname} {lastname}' . "\n" . '{company}' . "\n" . '{address_1}' . "\n" . '{address_2}' . "\n" . '{city} {postcode}' . "\n" . '{zone}' . "\n" . '{country}';
				}

				$find = array(
					'{firstname}',
					'{lastname}',
					'{company}',
					'{address_1}',
					'{address_2}',
					'{city}',
					'{postcode}',
					'{zone}',
					'{zone_code}',
					'{country}'
				);

				$replace = array(
					'firstname' => $order_info['shipping_firstname'],
					'lastname'  => $order_info['shipping_lastname'],
					'company'   => $order_info['shipping_company'],
					'address_1' => $order_info['shipping_address_1'],
					'address_2' => $order_info['shipping_address_2'],
					'city'      => $order_info['shipping_city'],
					'postcode'  => $order_info['shipping_postcode'],
					'zone'      => $order_info['shipping_zone'],
					'zone_code' => $order_info['shipping_zone_code'],
					'country'   => $order_info['shipping_country']
				);

				$shipping_address = str_replace(array("\r\n", "\r", "\n"), '<br />', preg_replace(array("/\s\s+/", "/\r\r+/", "/\n\n+/"), '<br />', trim(str_replace($find, $replace, $format))));

				if ($order_info['payment_address_format']) {
					$format = $order_info['payment_address_format'];
				} else {
					 $format = '{firstname} {lastname}' . "\n" . '{company}' . "\n" . '{address_1}' . "\n" . '{address_2}' . "\n" . '{city} {postcode}' . "\n" . '{zone}' . "\n" . '{country}';
				}

				$find = array(
					'{firstname}',
					'{lastname}',
					'{company}',
					'{address_1}',
					'{address_2}',
					'{city}',
					'{postcode}',
					'{zone}',
					'{zone_code}',
					'{country}'
				);

				$replace = array(
					'firstname' => $order_info['payment_firstname'],
					'lastname'  => $order_info['payment_lastname'],
					'company'   => $order_info['payment_company'],
					'address_1' => $order_info['payment_address_1'],
					'address_2' => $order_info['payment_address_2'],
					'city'      => $order_info['payment_city'],
					'postcode'  => $order_info['payment_postcode'],
					'zone'      => $order_info['payment_zone'],
					'zone_code' => $order_info['payment_zone_code'],
					'country'   => $order_info['payment_country']
				);

				$payment_address = str_replace(array("\r\n", "\r", "\n"), '<br />', preg_replace(array("/\s\s+/", "/\r\r+/", "/\n\n+/"), '<br />', trim(str_replace($find, $replace, $format))));

				$product_data = array();

				$products = $this->model_sale_order->getOrderProducts($order_id);

				foreach ($products as $product) {
					$option_data = array();

					$options = $this->model_sale_order->getOrderOptions($order_id, $product['order_product_id']);

					foreach ($options as $option) {
						if ($option['type'] != 'file') {
							$option_data[] = array(
								'name'  => $option['name'],
								'value' => $option['value']
							);		
						} else {
							$option_data[] = array(
								'name'  => $option['name'],
								'value' => substr($option['value'], 0, strrpos($option['value'], '.'))
							);	
						}
					}

					$product_data[] = array(
						'name'     => $product['name'],
						'model'    => $product['model'],
						'option'   => $option_data,
						'quantity' => $product['quantity'],
						'price'    => $this->currency->format($product['price'], $order_info['currency_code'], $order_info['currency_value']),
						'total'    => $this->currency->format($product['total'], $order_info['currency_code'], $order_info['currency_value'])
					);
				}

				$total_data = $this->model_sale_order->getOrderTotals($order_id);
				

				$this->data['orders'][] = array(
					'order_id'	       => $order_id,
					'invoice_no'       => $invoice_no,
					'invoice_date'     => date($this->language->get('date_format_short'), strtotime('now')),
					'date_added'       => date($this->language->get('date_format_short'), strtotime($order_info['date_added'])),
					'store_name'       => $order_info['store_name'],
					'store_url'        => str_replace("http://", "", rtrim($order_info['store_url'], '/')),
					'store_address'    => nl2br($store_address),
					'store_email'      => $store_email,
					'store_telephone'  => $store_telephone,
					'store_fax'        => $store_fax,
					'email'            => $order_info['email'],
					'telephone'        => $order_info['telephone'],
					'shipping_address' => $shipping_address,
					'payment_address'  => $payment_address,
					'unvan'		   => 	$order_info['firstname'].' '.$order_info['lastname'],
					'adres'		   =>   $order_info['payment_address_1'].' '.$order_info['payment_address_2'].' '.$order_info['payment_postcode'].' '.$order_info['payment_city'].'/'.$order_info['payment_zone'].'/'.$order_info['payment_country'] ,				
					'product'          => $product_data,
					'total'            => $total_data,
					'comment'          => nl2br($order_info['comment'])
				);
			}
		}

		$this->template = 'sale/satis_sozlesmesi.tpl';

		$this->response->setOutput($this->render());
	}
	public function onbilgilendirme() {

	$this->load->language('sale/order');

		$this->data['title'] = $this->language->get('heading_title');

		if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
			$this->data['base'] = HTTPS_SERVER;
		} else {
			$this->data['base'] = HTTP_SERVER;
		}

		$this->data['direction'] = $this->language->get('direction');
		$this->data['language'] = $this->language->get('code');

		$this->data['text_invoice'] = $this->language->get('text_invoice');

		$this->data['text_order_id'] = $this->language->get('text_order_id');
		$this->data['text_invoice_no'] = $this->language->get('text_invoice_no');
		$this->data['text_invoice_date'] = $this->language->get('text_invoice_date');
		$this->data['text_date_added'] = $this->language->get('text_date_added');
		$this->data['text_telephone'] = $this->language->get('text_telephone');
		$this->data['text_fax'] = $this->language->get('text_fax');
		$this->data['text_to'] = $this->language->get('text_to');
		$this->data['text_ship_to'] = $this->language->get('text_ship_to');

		$this->data['column_product'] = $this->language->get('column_product');
		$this->data['column_model'] = $this->language->get('column_model');
		$this->data['column_quantity'] = $this->language->get('column_quantity');
		$this->data['column_price'] = $this->language->get('column_price');
		$this->data['column_total'] = $this->language->get('column_total');
		$this->data['column_comment'] = $this->language->get('column_comment');

		$this->load->model('sale/order');

		$this->load->model('setting/setting');

		$this->data['orders'] = array();

		$orders = array();

		if (isset($this->request->post['selected'])) {
			$orders = $this->request->post['selected'];
		} elseif (isset($this->request->get['order_id'])) {
			$orders[] = $this->request->get['order_id'];
		}

		foreach ($orders as $order_id) {
			$order_info = $this->model_sale_order->getOrder($order_id);
			if ($order_info) {
				$store_info = $this->model_setting_setting->getSetting('config', $order_info['store_id']);
				
				if ($store_info) {
					$store_address = $store_info['config_address'];
					$store_email = $store_info['config_email'];
					$store_telephone = $store_info['config_telephone'];
					$store_fax = $store_info['config_fax'];
				} else {
					$store_address = $this->config->get('config_address');
					$store_email = $this->config->get('config_email');
					$store_telephone = $this->config->get('config_telephone');
					$store_fax = $this->config->get('config_fax');
				}
				
				if ($order_info['invoice_no']) {
					$invoice_no = $order_info['invoice_prefix'] . $order_info['invoice_no'];
				} else {
					$invoice_no = '';
				}
				
				if ($order_info['shipping_address_format']) {
					$format = $order_info['shipping_address_format'];
				} else {
					$format = '{firstname} {lastname}' . "\n" . '{company}' . "\n" . '{address_1}' . "\n" . '{address_2}' . "\n" . '{city} {postcode}' . "\n" . '{zone}' . "\n" . '{country}';
				}

				$find = array(
					'{firstname}',
					'{lastname}',
					'{company}',
					'{address_1}',
					'{address_2}',
					'{city}',
					'{postcode}',
					'{zone}',
					'{zone_code}',
					'{country}'
				);

				$replace = array(
					'firstname' => $order_info['shipping_firstname'],
					'lastname'  => $order_info['shipping_lastname'],
					'company'   => $order_info['shipping_company'],
					'address_1' => $order_info['shipping_address_1'],
					'address_2' => $order_info['shipping_address_2'],
					'city'      => $order_info['shipping_city'],
					'postcode'  => $order_info['shipping_postcode'],
					'zone'      => $order_info['shipping_zone'],
					'zone_code' => $order_info['shipping_zone_code'],
					'country'   => $order_info['shipping_country']
				);

				$shipping_address = str_replace(array("\r\n", "\r", "\n"), '<br />', preg_replace(array("/\s\s+/", "/\r\r+/", "/\n\n+/"), '<br />', trim(str_replace($find, $replace, $format))));

				if ($order_info['payment_address_format']) {
					$format = $order_info['payment_address_format'];
				} else {
					 $format = '{firstname} {lastname}' . "\n" . '{company}' . "\n" . '{address_1}' . "\n" . '{address_2}' . "\n" . '{city} {postcode}' . "\n" . '{zone}' . "\n" . '{country}' ;
				}

				$find = array(
					'{firstname}',
					'{lastname}',
					'{company}',
					'{address_1}',
					'{address_2}',
					'{city}',
					'{postcode}',
					'{zone}',
					'{zone_code}',
					'{country}'
				);

				$replace = array(
					'firstname' => $order_info['payment_firstname'],
					'lastname'  => $order_info['payment_lastname'],
					'company'   => $order_info['payment_company'],
					'address_1' => $order_info['payment_address_1'],
					'address_2' => $order_info['payment_address_2'],
					'city'      => $order_info['payment_city'],
					'postcode'  => $order_info['payment_postcode'],
					'zone'      => $order_info['payment_zone'],
					'zone_code' => $order_info['payment_zone_code'],
					'country'   => $order_info['payment_country']
				);

				$payment_address = str_replace(array("\r\n", "\r", "\n"), '<br />', preg_replace(array("/\s\s+/", "/\r\r+/", "/\n\n+/"), '<br />', trim(str_replace($find, $replace, $format))));

				$product_data = array();

				$products = $this->model_sale_order->getOrderProducts($order_id);

				foreach ($products as $product) {
					$option_data = array();

					$options = $this->model_sale_order->getOrderOptions($order_id, $product['order_product_id']);

					foreach ($options as $option) {
						if ($option['type'] != 'file') {
							$option_data[] = array(
								'name'  => $option['name'],
								'value' => $option['value']
							);		
						} else {
							$option_data[] = array(
								'name'  => $option['name'],
								'value' => substr($option['value'], 0, strrpos($option['value'], '.'))
							);	
						}
					}

					$product_data[] = array(
						'name'     => $product['name'],
						'model'    => $product['model'],
						'option'   => $option_data,
						'quantity' => $product['quantity'],
						'price'    => $this->currency->format($product['price'], $order_info['currency_code'], $order_info['currency_value']),
						'total'    => $this->currency->format($product['total'], $order_info['currency_code'], $order_info['currency_value'])
					);
				}

				$total_data = $this->model_sale_order->getOrderTotals($order_id);
				
				$kargoTutar = "0 TL";
				foreach($total_data as $kalem) if($kalem['code'] == "shipping") $kargoTutar = $kalem['text'];

				$this->data['orders'][] = array(
					'order_id'	       => $order_id,
					'invoice_no'       => $invoice_no,
					'invoice_date'     => date($this->language->get('date_format_short'), strtotime('now')),
					'date_added'       => date($this->language->get('date_format_short'), strtotime($order_info['date_added'])),
					'store_name'       => $order_info['store_name'],
					'store_url'        => str_replace("http://", "", rtrim($order_info['store_url'], '/')),
					'store_address'    => nl2br($store_address),
					'store_email'      => $store_email,
					'store_telephone'  => $store_telephone,
					'store_fax'        => $store_fax,
					'email'            => $order_info['email'],
					'telephone'        => $order_info['telephone'],
					'shipping_address' => $shipping_address,
					'payment_address'  => $payment_address,
					'unvan'		   => 	$order_info['firstname'].' '.$order_info['lastname'],
					'adres'		   =>   $order_info['payment_address_1'].' '.$order_info['payment_address_2'].' '.$order_info['payment_postcode'].' '.$order_info['payment_city'].'/'.$order_info['payment_zone'].'/'.$order_info['payment_country'] ,				
					'product'          => $product_data,
					'total'            => $total_data,
					'odemetipi' 	=>$order_info['payment_method'],
					'kargotutar'   =>$kargoTutar
				);
			}
		}

		$this->template = 'sale/on_bilgilendirme.tpl';

		$this->response->setOutput($this->render());
	}

PHP:
			$this->data['invoice'] = $this->url->link('sale/order/invoice', 'token=' . $this->session->data['token'] . '&order_id=' . (int)$this->request->get['order_id'], 'SSL');
satırını bulup üstüne ekleyiniz.
PHP:
$this->data['sozlesme'] = $this->url->link('sale/order/satissozlesmesi', 'token=' . $this->session->data['token'] . '&order_id=' . (int)$this->request->get['order_id'], 'SSL');
			$this->data['onbilgilendirme'] = $this->url->link('sale/order/onbilgilendirme', 'token=' . $this->session->data['token'] . '&order_id=' . (int)$this->request->get['order_id'], 'SSL');

Kod:
admin/view/template/sale/order_info.tpl
dosyasında

PHP:
	  <a onclick="window.open('<?php echo $invoice; ?>');" class="button"><?php echo $button_invoice; ?></a><a onclick="location = '<?php echo $cancel; ?>';" class="button"><?php echo $button_cancel; ?></a></div>
satırını bulup üstüne ekleyiniz

PHP:
  <a onclick="window.open('<?php echo $sozlesme; ?>');" class="button">Mesafeli Satış Sözleşmesi</a>
	  <a onclick="window.open('<?php echo $onbilgilendirme; ?>');" class="button">Ön Bilgilendirme Formu</a>


Umarım anlatımda atladığım bir kısım yoktur :) Kolay gelsin.
 

nokta

OpenCart-TR
Katılım
14 Eki 2010
Mesajlar
118
Tepkime puanı
0
Puanları
0
Gerçekten çok şık olmuş. Emeklerine sağlık
 

ALeeNN

OpenCart-TR
Katılım
30 Nis 2011
Mesajlar
21
Tepkime puanı
0
Puanları
0
turkish gray V1 temasında 1.5.1.3 sürümünde denedim. Ancak çalışmadı. 1.5.3.1 sürümüne uygun olanı paylaşmanızı rica ediyorum.

Kolay gelsin...
 

byoracle

OpenCart-TR
Katılım
19 Ağu 2010
Mesajlar
27
Tepkime puanı
0
Puanları
0
Konum
İstanbul
Evet, hakikatten çok şık olmuş. Emeklerine sağlık.

Bende 1.5.3.1 sürümünde denedim. Olmadı. Projeleriniz içine bu sürümüde eklerseniz memnun oluruz.

Paylaşımlarınızı dört gözle bekliyorum...
 

aciketicaret

OpenCart-TR
Katılım
1 May 2012
Mesajlar
5
Tepkime puanı
0
Puanları
0
Güzel düşünceleriniz için teşekkür ederim. Tasarım olarak herhangi bir şey yapmadım sadece jquery ui kullandım ( http://jqueryui.com/demos/dialog/ ). Tasarımı hazır jquery ui temalarından ( http://jqueryui.com/themeroller/ ) seçerek değiştirebilirsiniz.

@ALeeNN, @byoracle
Diğer sürümlere de uyarlayabiliriz. Ama öncelikle "mesafeli satış sözleşmesi" ve "ön bilgilendirme formu" metinlerini bulmamız veya oluşturmamız gerekiyor. Mesafeli satış sözleşmesi için byoracle'ın paylaştığı metin son yönetmeliğe tam olarak uygunsa ve kullanımında herhangi bir sakınca yoksa o metne göre düzenleyebiliriz. Ön bilgilendirme metnini de bir alışveriş sitesinden deneme amaçlı aldım. Aynısını kullanımımız pek uygun olmaz değiştirmemiz gerekir.
 

Tempest

OpenCart-TR
Katılım
1 Mar 2012
Mesajlar
8
Tepkime puanı
0
Puanları
0
Ben teslimatta ödeme dosyalarında değişiklik yapmadan verdiğiniz dosyaları kullandım ve denediğimde hata verdi. Bir şeyleri eksik mi yaptım acaba? Sizinkiyle aynı versiyonu kullanıyorum.
 

munzur44

OpenCart-TR
Katılım
4 Ara 2011
Mesajlar
15
Tepkime puanı
0
Puanları
0
Web sitesi
www.herbalimarket.com
aciketicaret kardes Emeklerine sağlık. herseyden once.

ben verdiginiz kodları kullanarak Banka Havalesi/EFT Ödeme metoduna uyguladım

ve calıstı. yanlız paypal Ödeme metoduna uygulayamadım paypal nasıl

uygulaya bilirmi.

kolay gelsin.
 

aciketicaret

OpenCart-TR
Katılım
1 May 2012
Mesajlar
5
Tepkime puanı
0
Puanları
0
@Tempest
Yeni bir 1.5.2.1 sürümlü opencart kurdum ve http://aciketicaret.tk/dosyalar/SozlesmeEklenti.zip ve http://aciketicaret.tk/dosyalar/Degisiklikler.zip dosyalarını attım sözleşme gösterdi. Misafir alışverişi seçtiyseniz hata almış olabilirsiniz, misafir alışverişi için tekrar düzenlemek gerekiyor. Sözleşme metinlerini hallettikten sonra varsa hataları da giderebiliriz.

@munzur44
Paypalda farklı bir mantık kullanılmış. Bu tarz ödeme yöntemlerinde "submit" butonuna normal butona çevirip, butona tıklanınca sözleşme diyalogları çıkarıp, sözleşmeler onaylanıncada formu jquery ile
PHP:
$("#paypalform").submit();
şeklinde gönderilebilir.

Paypal standart ödeme yöntemi için aşağıdaki dosya indirilip ana dizine gönderilebilir. Benzer sistemler için örnek alınabilir.
http://aciketicaret.tk/dosyalar/PaypalView.zip
 

Tempest

OpenCart-TR
Katılım
1 Mar 2012
Mesajlar
8
Tepkime puanı
0
Puanları
0
aciketicaret' Alıntı:
@Tempest
Yeni bir 1.5.2.1 sürümlü opencart kurdum ve http://aciketicaret.tk/dosyalar/SozlesmeEklenti.zip ve http://aciketicaret.tk/dosyalar/Degisiklikler.zip dosyalarını attım sözleşme gösterdi. Misafir alışverişi seçtiyseniz hata almış olabilirsiniz, misafir alışverişi için tekrar düzenlemek gerekiyor. Sözleşme metinlerini hallettikten sonra varsa hataları da giderebiliriz.



Sanırım ben aceleyle hata yapmışım. Tekrar denediğimde sorunsuz çalıştı. Detaylı incelemedim ama zoru başarmışsınız. Gerisi basit teferruattan ibaret. Şahsım adına size çok teşekkür ederim. Hesap numarası veya donate butonu falan varsa ufak tefek gönlümüzden kopan birşeyler vermek isterim :D
 
Üst