2009 7 Mart 2009

Javascript yılında Birden çok Windows onload Fonksiyonlar Çağrı

Ben durumun bu commaned çünkü etrafında kazmak zorunda olduğunu Javascript hile başka bir küçük takıyorum Heres. Ben iki kez "windows.onload" direyebilmiştir nerede web sitelerinden biri olarak, bu durum vardı. Benim gibi deneyimsiz bir zihin (Dürüstçe javascript Çerçeveler ve kütüphaneleri kullanarak beri, benim kendi ... üzücü ama gerçek üzerinde basit şeyler yapmak unutulmamalıdır var, söylemek zorundayım) gelmiş olacak ilk şey, aşağıdaki yöntemi ...

 window.onload = onloadfn1;
 window.onload = onloadfn2;
 window.onload = onloadfn3;
 vs ..

Üzgünüz söylemek ama, bu işe alışkanlık ... Javascript kadar yürütme bilimi tartışmak istemiyorum ... ama benim son tecrübesine göre, sadece son fonksiyonu (onloadfn3) hasta aslında idam alacak.

Normal durumlarda, maden (biraz sonra bahsedeceğim olan) farklı olarak ... Eğer mutliple onload fonksiyonları çalıştırmak için aşağıdakilerden birini yapabilirsiniz ....

Bu gibi VEYA şey

 fonksiyonu doOnLoad () {
         onloadfn1 ();
         onloadfn2 ();
         onloadfn3 ();
 }
 window.onload = doOnLoad;

Benim mevcut durum için, yukarıdaki birini kullanamazsınız ...
Neden windows.onload iki kez aramak yerine, tek bir onload fonksiyonu içinde iki işlevi çağıran bu gerekir mi? İşte benim sorun deyimi kısaca bir göz olduğunu ...

"Sitem sayfaları WORDPRESS tema gibi yapılandırılmıştır .... yani tüm site sayfalarında yer alır ortak bir header.php ve footer.php vardır. Bazı ortak onload fonksiyonları yapmak Footer.php bir onload fonksiyonu implementaion yoktur. VE dışında ortak onload fonksiyonu tarafından yapılan olanlardan kendi OnLoad bir şey gereken birkaç sayfa vardır. Ben window.onload işleyicisi doğrudan geri arama işlevi atarsanız, "Footer.php önceden atanmış geriçağırımları fazla kaçacağım

.... Benim sorunum anlaşılmaktadır :) ?

Eh! Ben buldun o birkaç çözüm vardır. Hepsi çok benzer ve özellikle Simon Willison (tarafından verilen bir çözüm implementions http://simonwillison.net/2004/May/26/addLoadEvent/ ) ...

Çözüm:

Sadece site bu javascript kodu ekleyin ...

 fonksiyonu addLoadEvent (func) {
     var oldonload = window.onload;
     if (typeof window.onload! = 'işlev') {
        window.onload = func
     } Else {
        window.onload = function () {
            {(oldonload) if
                   oldonload ()
           }
           func ()
        }
    }
 }

Ve bunun yerine her zamanki "windows.onload" nin diyoruz

 addLoadEvent (FunctionToRunOnPageLoad);
 addLoadEvent (function () {
 Sayfa yük * çalıştırmak için / * daha fazla kod
 }); 

Bu kod parçası avantajları ...
1. Öncelikle, bir önceki tanımı overridding olmadan, kodunuzun ayrı bölümden çağrılır, birden fazla windows.onload etkinlik sağlar
2. Gerçekten mütevazi olduğunu. Bu sizin diğer scriptler ile bir dosya veya ayrı bir dosyaya yerleştirilebilir.
3. Bu window.onload zaten ayarlanmış olsa bile çalışır.


2008 20 Eylül 2008

XSL / XSLT içinde TEXTAREA Collapse sorunu


SORUN BEYANI:
Ben XSLs yılında textareas ilgili bir sorun koştu. Boş bir <textarea> etiketi varsa basit bir deyişle, sorun doğar, daha sonra <textarea /> için çökecek.
Eğer XSL ve TEXTAREA değer için XML veri aşağıdaki gibi bir şey olsaydı, yani hiçbir şey verir ...

<textarea name='description'> <xsl:value-of select="DESCRIPTION"/> </ textarea>

Tarayıcılar bu tanımaz gibi, metin alanına çalıştırmak için formun geri kalanını HTML neden olur.

MUHTEMEL ÇÖZÜMLER:

Bu alanın istemci tarafında doğrulamaları sırasında, eklenen bu ekstra boşluk dikkat çekmek için, değer tag.BEWARE: XSL olarak, xsl sonra bölünemez boşluk () ekleyin.

<textarea name='description'> <xsl:value-of select="DESCRIPTION"/> </ textarea>

Veya
<xsl:value-of select="concat (DESCRIPTION,'')"/>

Veya
Bilinmeyen bir öznitelik işaret eden bir <xsl:value-of select="@unknown" /> etiketi yerleştirin. Bu arasında bir şey olsa bile PHP XSLT çözümleyici, bir açılış ve kapanış metni alanına etiketi oluşturmak için zorlar.

Veya
Bir kapanış etiketi zorlamak için bir boşluk içeren bir <xsl:text> alanı ekleme.

Yukarıdaki çözümler sorunu gidermek için gelse de, ancak, ben hala sağ ve bunu düzeltmek için en iyi yolları konusunda ikna olmadım. Bu seslerin sabitleme başka daha iyi bir yol varsa, bize bildirin Lütfen.


2008 14 Eylül 2008

XSL Test Koşulları A Variety (XSL Koleksiyonu: IF ve XSL: TEST Koşullar)

Bir XSL yapmak zorunda her zaman: IF veya XSL: testi, ben referans kitapları geri dönmek zorunda ZAMAN. Ben bunları hatırlamak gibi olmadı. Orada, orada daha fazla olurdu, sadece benim gibi, kimin yerine gerektiğinde sevk edilmeye hazır, bir yerde, mümkünse hepsini, sahip olmak tercih düşündüm.

IF: yeni olanlar ... XSL için sözdizimi için

<xsl:if test="expression">
<- İçerik: şablonu ->
</ Xsl: if>

Xsl: if / xsl: zaman Testi Koleksiyonu
Aşağıdaki koşulları açıklayıcı basit ve öz hepsi. Bu yüzden daha fazla açıklama yapmaya gerek yoktur inanıyorum

<xsl:if test="position()=last()-1">
Bu listede sondan bir elemanı eğer!
</ Xsl: if>

<xsl:if test="SALARY> 5000 ">
Bu kişinin maaş Rs daha büyüktür. 5000
</ Xsl: if>

<xsl:if test="count(JOBS)> 3 ">
Bu listede en fazla 3 iş vardır!
</ Xsl: if>

<xsl:if test="(@DEPT ='SALES') veya (@JOINYEAR = '1997')">
Bu kişi 1997 Katılma satış departmanı OR onun Yıl mesafededir
</ Xsl: if>

<xsl:if test="EXPERIENCE">
Bu kişi en az bir DENEYİMİ çocuk eleman var.
</ Xsl: if>

<xsl:if test="@HOBBY">
Kişinin bir hobi özniteliği vardır.
</ Xsl: if>

TERCİH / XSL: aynı metin koşulları XSL için kullanılan olabilir ZAMAN yanı

xsl: seçim

Kullanıcı XSLT xsl: if ancak birkaç önemli farklılıklar vardır: tercihte talimat xsl benzer:
• Bir xsl: choose elemanı birden fazla koşul için test ve gerçek olan durumuna göre sonuç ağacına farklı düğüm ekleyebilirsiniz.
• Bir xsl: element şartların hiçbiri doğruysa sonuç ağacını eklemek için bir varsayılan şablon seçebilirsiniz. (Xsl Karşılaştırma: Hangi bir "başka" durumunun hiçbir eşdeğer olan, varsa.)
• xsl: içinizde bir xsl istediğiniz herhangi bir iyi biçimli unsurlar koyabilirsiniz ise eleman, çalışması için gerekli olan belirli bir alt öğeleri vardır seçin: elemanı eğer.

<xsl:choose>
<xsl:when test="boolean-expression">
Bu boolean ifade TÜRE olduğunda bir şey yapın
</ Xsl: when>
<: Aksi / xsl> <xsl:otherwise> başka bir şey yapın
</ Xsl: seçin>


2008 13 Ağu 2008

Bir XSL içinde Sınırlandırılmış Dize tokenizing

İhtiyaçlarınız değeri sınırlandırılmış bir dize içeren bir XML bir düğüm değeri bölmek ise, ürüne içine, o zaman doğru yere ulaşmış ... Aşağıdaki örnekte de bakabilirsiniz. XML ve XSL biraz aşina iseniz ... Ben herhangi bir açıklama gerekir sanmıyorum.
Xsl, call-template: substring-before, xsl: Ayrıca, bu örnekte xsl gibi XSL fonksiyonları kullanımını içerir substring-sonra, o senden sonrası buysa.

Dönüştürülmesi için XML (food.xml): -
Görev tag "anahtar kelimeler" in, virgülle ayrılmış dize tokenize olduğunu varsayalım

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="food.xsl"?>
<food>
<date>July 2008</date>
<description>All about things we eat everyday</description>
<keywords>Fruits, Vegetables, Pulses, Meat, Cereals </keywords>
</food>

XSL (food.xsl): -

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>XSL 1.0 Delimited String Tokeniser</title>
</head>
<body>
<xsl:value-of select="food/meta"/>
<div >
<xsl:call-template name="tokenize">
<xsl:with-param name="string" select="food/keywords" />
<xsl:with-param name="delimitr" select="','" />
</xsl:call-template>

</div>
</body>
</html>
</xsl:template>
<xsl:template name="tokenize">
<xsl:param name="string" />
<xsl:param name="delimitr" />
<xsl:choose>
<xsl:when test="contains($string, $delimitr)">
<div style="border:1px solid red;">
<h3><xsl:value-of select="substring-before($string,$delimitr)" /></h3>
<xsl:variable name="data" select="substring-before($string,$delimitr)"/>
</div>
<xsl:call-template name="tokenize">
<xsl:with-param name="string" select="substring-after($string, $delimitr)" /><xsl:with-param name="delimitr" select="$delimitr" /></xsl:call-template>
</xsl:when>
<xsl:otherwise>
<div style="border:1px solid red;">
<h3><xsl:value-of select="$string" /></h3>
</div>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

Sonuç HTML çıktı: -

<div>
<div style="border: 1px solid red;">
<h3>Fruits</h3>
</div>
<div style="border: 1px solid red;">
<h3> Vegetables</h3>
</div>
<div style="border: 1px solid red;">
<h3> Pulses</h3>
</div>
<div style="border: 1px solid red;">
<h3> Meat</h3>
</div>
<div style="border: 1px solid red;">
<h3> Cereals </h3>
</div>
</div>

Söylemeye gerek yok ... sadece seçtiğiniz sınırlayıcı parametre "delimitr" değiştirin


2008 4 Ağu 2008

XSL pozisyon () ile bir sorun ... ya da öyle değil mi?

Bugün bir XSL oluştururken bu Veri Saklama sorunu vardı. Net boyunca cevaplar aradı, ancak herhangi bir bulamadım .... Aslında sanırım! Ben kuvvetiyle benim sorunum ne olduğunu bilmek, yani ne için görünüyorum?

Her neyse! Just in case sen beni ton teşekkür edeceğim ... çok ve her nasılsa bu sayfada karaya yönetilen FORCE gücüyle bu çok aynı sorun var ... Ve kazara bazı garip kaderi için bu sayfayı indi ve eğer kullanıcı olarak gerçekleşmesi bir gün, bu sorunu yaşarsanız bir XSL geliştirici, GELECEK neden İÇİN, ŞİMDİ BU BİR NOT MAKE DO, daha sonra FORCE sizinle olmayabilir.

Problem ifadesi:
Içinde birden çok öğe ile iki düğüm vardır nerede, bu XML var ve bu iki düğüm arasında öğeleri birebir uyum var. Aşağıdaki örnekte, düğüm <array her öğe name="PLAYURL" /> düğüm <array bir öğeye (ilgili pozisyon) anlatıyor name="SITENAME" />

<?xml version="1.0" encoding="utf-8"?>
<myplaylists>
<playlist>
<title>Best of Rest </title>
<array name="SITENAME">
<str>www.musicindiaonline.com</str>
<str>www.dhingana.com</str>
<str>www.raaga.com</str>
<str>www.smashits.com</str>
<str>www.desimusic.com</str>
<str>www.musicplug.in</str>
</array>
<array name="PLAYURL">
<str>http://www.musicindiaonline.com/123/</str>
<str>http://www.dhingana.com/play/123</str>
<str>http://www.raaga.com/123</str>
<str>http://ww.smashits.com/123</str>
<str>http://www.desimusic.com/123</str>
<str>http://www.musicplug.in/123</str>
</array>
</playlist>
</myplaylists>

I <array name="SITENAME"> döngü ve ben <array name="PLAYURL"> ilgili kaleme (ilgili konumunda) almak istediğiniz Şimdi, ben, bir döngü var

Ne normalde bunu denemek istiyorsunuz olduğu ...

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
play from : <a href="{../../array[@name='PLAY']/str[position()]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

ÜZGÜNÜM! BU alışkanlık ... Ah! Surpised ...

Şimdi muhtemelen, denemek için böyle bir şey isteyeyim ...

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos"> <xsl:value-of select="position()"/></xsl:variable>
play from : <a href="{../../array[@name='PLAY']/str[$pos]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

Ve Yine bu alışkanlık ... Şimdi, başınızı tırmalamak bazı XSL bilir düşünüyorum herkesin temas kurmaya çalışan ve herhangi bir yardım olabilir ... Her diğer seçeneği deneyin ... ve hala bu alışkanlık ... Eh! Bu bana atleast ne oldu ...

DONT DESPAIR! BU YTL

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos-int" select="position()" />
play from : <a href="{../../array[@name='PLAY']/str[$
<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos-int" select="position()" />
play from : <a href="{../../array[@name='PLAY']/str[$ pos-int ]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>
]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

ÇALIŞIYOR NEDEN ASK ME DONT. I bir hak sebebi zorunda değilsin ... Yaptığın Çünkü eğer! Bir yorum bırakın lütfen. Oldukça faydalı olabilir. Ayrıca! Bu mesaj için daha iyi BAŞLIK varsa, bana yazmaktan yapmak :)


2008 2 Ağu 2008

XSL DOCTYPE ayarlanması

Geçen hafta, bir istemci için bir progessive HTML / CSS düzeni oluşturulur IE6, IE7 ve FF 3 test edilmesi, mükemmel ince görünüyordu ... KADAR! düzeni manufacting döngüsü daha aşağı gitti. Başarısız oldu. Sayfa düzeni unsurları sadece tüm HTML düzeni XSL ve XML kendisine uygulanan ... Bummer! Dönüştürülmüştür yerde gitti!

Bu SH ** düzeltmek zorunda kalmadan, Pazartesi sabahı beklentisiyle, hafta sonu tamam uyuyamadı. Ama şimdi bu tür durumlarda (Tarayıcı olağandışı, demek) ile ilgili küçük bir deneyime sahip, bunu başka bir şey yapmak ama DOCTYPE gerektiğini biliyordu .... ve Bu WAS ...

Sorun:
Lütfen dönüşümü açıkça varsayılan bir DOCTYPE içerecektir beri, DOCTYPE üzerinde kontrol istiyorsanız ve düzeni atmak için çıkacak.

Çözüm:
XSLT gözlük seçimi bir DOCTYPE ayarlamak için çıkış yöntemleri sağlar. Ayrıca, bize UI geliştiriciler için, ilgi konular olacaktır HTML çıkış yöntemleri ve XML çıkış yöntemleri .

Eh! Eğer sıkılmış girmeden önce, burada bir düzeltmedir.

Örneğin, HTML sürümünde aşağıdaki DOCTYPE olsaydı:. -

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Sonra XSL içinde şu olması gerekir: -

<xsl:output method="html" doctype-system="http://www.w3.org/TR/html4/loose.dtd" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" indent="yes" />

ve Sonunda! XSLT çıktı seçtiğiniz DOCTYPE itaat emin olabilirim.


2008 4 Mayıs 2008

XSL içinde Include XSL

XML / XSL sizin Domian ise Dönüşümleri, o zaman (tekrar kullanılabilir yapılacak) kütüphane öğesi kullanılacak Dinamik kod takıyorum istediğiniz zamanlar vardır. Ne demek istediğimi, muhtemelen bu örnek senaryo ile daha net olabilir.

Eğer bir web sitesi oluşturmak (ve XML, XSL transfroms tabii kullanarak) ve sayfaların çoğu Yorumlar Modülü olurdu hayal edin. Eh! sonra da her sayfası şablonu (ki diyorum, ancak bakım ve tamir bir kabus yapmak Ağrı) veya daha da iyisi bu kodu kopyalayıp yapıştırın veya, sen (sayfanızda istediğiniz yere kadar çekti edilebilir bir INCLUDE dosyası oluşturmak lar) ...
Yani NASIL bir XSL INCLUDE dosyası CREATE ve başka bir XSL dosyası içine dahil MUSUNUZ? Burada nasıl ...

Sadece şeyleri açıklığa kavuşturmak için ... burada yaratacağını dosyalarını hızla listesi ... Burada, gıda adlı bir ana sayfa içine meyve ve sebzeler hakkında bilgi dahil edilecektir.

1. food.xml - dönüşüm uygulanacak xml veri dosyası
2. food.xsl - Bizim food.xml dönüştürecek ana XSL dosyası,
3. inc_fruits.xsl - XSL meyveler verileri işlerler dosya dahil
4. inc_vegtables.xsl - XSL vetetables verileri işlerler dosya dahil

Ben fazla açıklama olduğunu düşünüyorum değilsin, yukarıdaki öğeleri için kodları, kendini açıklayıcı olacaktır ...

FOOD.XML


<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="food.xsl"?>
<food>
<date>July 2008</date>
<description>All about things we eat everyday</description>
<fruits type="tropical">
<item name="mango" moreinfo="http://www.mango.com">Mango is the king of fruits</item>
<item name="banana" moreinfo="http://www.banana.com">Banana once a day , keeps the doctor away</item>
<item name="orange" moreinfo="http://www.orange.com">Orange is the color and rich in vitamin C</item>
<item name="Papaya" moreinfo="http://www.papaya.com">Papaya - Hot when raw, cold when ripe</item>
</fruits>

<vegetables>
<item name="spinach" moreinfo="http://www.spinach.com">Spinach is full of iron</item>
<item name="asparagus" moreinfo="http://www.asparagus.com">Asparagus contains loads of vitamin D </item>
<item name="fenugreek" moreinfo="http://www.fenugreek.com">Fenugreek is rich in vitamin C</item>
</vegetables>
</food>


FOOD.XSL


<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:include href="inc_fruits.xsl" />
<xsl:include href="inc_vegetables.xsl" />
<xsl:template match="/">
<html>
<head>
<title>Title</title>
</head>
<body>
<h3><xsl:value-of select="/food/description" /></h3>
Modification Date : <xsl:value-of select="/food/date" />
<hr/>
<h5> About Fruits</h5>
<xsl:call-template name="about_fruits"/>

<hr/>
<h5> About Vegetables</h5>
<xsl:call-template name="about_vegetables"/>

<hr/>
</ Body>
</ Html>
</ Xsl: template>
</ Xsl: stylesheet>


INC_FRUITS.XSL

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="iso-8859-1" />
<xsl:template name="about_fruits">
<xsl:for-each select="/food/fruits/item/@*">
attribute name : <xsl:value-of select="name()"/>
attribute value : <xsl:value-of select="."/> <br />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>


INC_VEGETABLES.XSL

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="iso-8859-1" />
<xsl:template name="about_vegetables">
<xsl:for-each select="/food/vegetables/item/@*">
attribute name : <xsl:value-of select="name()"/>
attribute value : <xsl:value-of select="."/> <br/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

Burada Yukarıdaki tüm dosyaları (252 downloads) indirin


2008 4 Nisan 2008

XSLT XML düğüm Öznitelikler Çalışma

XML ve XSL kullanırsanız, nitelik ve XSL XML düğümleri değerleri ile oynamak zorunda olduğunda, o zaman, bir zaman karşı karşıya kalabilirsiniz. Onlar bu konuda uzun soluklu bilgi ile sitelerin yükler vardır, ama hiçbiri bulundu kısa ve kesin idi ... Bu NO XML / XSL TUTORIAL, ama hile listesi çeşit-bir araya getirmek için benim girişimi ...

Birlikte çalıştığımız olacak örnek XML bu gibi görünüyor ...

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="food.xsl"?>
<food>
<fruits type="tropical">
<item name="mango" moreinfo="http://www.mango.com">Mango is the king of fruits</item>
<item name="banana" moreinfo="http://www.banana.com">Banana once a day , keeps the doctor away</item>
<item name="orange" moreinfo="http://www.orange.com">Orange is the color and rich in vitamin C</item>
<item name="Papaya" moreinfo="http://www.papaya.com">Papaya - Hot when raw, cold when ripe</item>
</fruits>
</food>

Bu yüzden XSL kullanarak bizim yukarıda XML dönüştürme başlayalım

Örnek 1: Seçilen Öznitelik az değeri gösteriliyor

<xsl:value-of select="/food/fruits/item[@name='orange']" /><br />
to get more information about <a href="{/food/fruits/item[@name='orange']/@moreinfo}" target="new" ><xsl:value-of select="/food/fruits/item[@name='orange']/@name" /> </a>

HTML sonuç gibi görünecek

Orange is the color and rich in vitamin C,
to get more information about <a href="http://www.orange.com" target="new">


Örnek 2: aracılığıyla Döngü ve tüm XML Öznitelik Adları ve Değerler görüntüleme

<xsl:for-each select="/food/fruits/item/@*">
attribute name : <xsl:value-of select="name()"/>,
attribute value : <xsl:value-of select="."/> <br />
</xsl:for-each>

HTML sonuç gibi görünecek


attribute name : name, attribute value : mango
attribute name : moreinfo, attribute value : http://www.mango.com
attribute name : name, attribute value : banana
attribute name : moreinfo, attribute value : http://www.banana.com
attribute name : name, attribute value : orange
attribute name : moreinfo, attribute value : http://www.orange.com
attribute name : name, attribute value : Papaya
attribute name : moreinfo, attribute value : http://www.papaya.com


Burada Yukarıdaki tüm dosyaları (245 downloads) indirin



Bu alanı izle, yeni bulgular bu güncellemeye devam edeceğiz ...


NDK ev | BT İfade | İfade Damak | İfade Penmenship | İfade Awe | İfade Myself