diff --git a/.gitignore b/.gitignore index 3547176..85c63ec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .DS_Store .sass-cache/ css/.sass-cache/ -compass_app_log.txt \ No newline at end of file +compass_app_log.txt +.htaccess \ No newline at end of file diff --git a/css/style.css b/css/style.css index bf708b1..8899b31 100755 --- a/css/style.css +++ b/css/style.css @@ -4318,226 +4318,4 @@ License URI: http://www.opensource.org/licenses/mit-license.php } /* Flags */ -#ad {background-image: url(../images/flags/ad.png)} -#ae {background-image: url(../images/flags/ae.png)} -#af {background-image: url(../images/flags/af.png)} -#ag {background-image: url(../images/flags/ag.png)} -#ai {background-image: url(../images/flags/ai.png)} -#al {background-image: url(../images/flags/al.png)} -#am {background-image: url(../images/flags/am.png)} -#an {background-image: url(../images/flags/an.png)} -#ao {background-image: url(../images/flags/ao.png)} -#aq {background-image: url(../images/flags/aq.png)} -#ar {background-image: url(../images/flags/ar.png)} -#as {background-image: url(../images/flags/as.png)} -#at {background-image: url(../images/flags/at.png)} -#au {background-image: url(../images/flags/au.png)} -#aw {background-image: url(../images/flags/aw.png)} -#az {background-image: url(../images/flags/az.png)} -#ba {background-image: url(../images/flags/ba.png)} -#bb {background-image: url(../images/flags/bb.png)} -#bd {background-image: url(../images/flags/bd.png)} -#be {background-image: url(../images/flags/be.png)} -#bf {background-image: url(../images/flags/bf.png)} -#bg {background-image: url(../images/flags/bg.png)} -#bh {background-image: url(../images/flags/bh.png)} -#bi {background-image: url(../images/flags/bi.png)} -#bj {background-image: url(../images/flags/bj.png)} -#bm {background-image: url(../images/flags/bm.png)} -#bn {background-image: url(../images/flags/bn.png)} -#bo {background-image: url(../images/flags/bo.png)} -#bs {background-image: url(../images/flags/bs.png)} -#bt {background-image: url(../images/flags/bt.png)} -#bw {background-image: url(../images/flags/bw.png)} -#by {background-image: url(../images/flags/by.png)} -#bz {background-image: url(../images/flags/bz.png)} -#ca {background-image: url(../images/flags/ca.png)} -#cd {background-image: url(../images/flags/cd.png)} -#cf {background-image: url(../images/flags/cf.png)} -#cg {background-image: url(../images/flags/cg.png)} -#ch {background-image: url(../images/flags/ch.png)} -#ci {background-image: url(../images/flags/ci.png)} -#ck {background-image: url(../images/flags/ck.png)} -#cl {background-image: url(../images/flags/cl.png)} -#cm {background-image: url(../images/flags/cm.png)} -#co {background-image: url(../images/flags/co.png)} -#cr {background-image: url(../images/flags/cr.png)} -#cu {background-image: url(../images/flags/cu.png)} -#cv {background-image: url(../images/flags/cv.png)} -#cy {background-image: url(../images/flags/cy.png)} -#cz {background-image: url(../images/flags/cz.png)} -#de {background-image: url(../images/flags/de.png)} -#dj {background-image: url(../images/flags/dj.png)} -#dk {background-image: url(../images/flags/dk.png)} -#dm {background-image: url(../images/flags/dm.png)} -#do {background-image: url(../images/flags/do.png)} -#dz {background-image: url(../images/flags/dz.png)} -#ec {background-image: url(../images/flags/ec.png)} -#ee {background-image: url(../images/flags/ee.png)} -#eg {background-image: url(../images/flags/eg.png)} -#eh {background-image: url(../images/flags/eh.png)} -#en {background-image: url(../images/flags/en.png)} -#er {background-image: url(../images/flags/er.png)} -#es {background-image: url(../images/flags/es.png)} -#et {background-image: url(../images/flags/et.png)} -#fi {background-image: url(../images/flags/fi.png)} -#fj {background-image: url(../images/flags/fj.png)} -#fm {background-image: url(../images/flags/fm.png)} -#fo {background-image: url(../images/flags/fo.png)} -#fr {background-image: url(../images/flags/fr.png)} -#ga {background-image: url(../images/flags/ga.png)} -#gb {background-image: url(../images/flags/gb.png)} -#gd {background-image: url(../images/flags/gd.png)} -#ge {background-image: url(../images/flags/ge.png)} -#gg {background-image: url(../images/flags/gg.png)} -#gh {background-image: url(../images/flags/gh.png)} -#gi {background-image: url(../images/flags/gi.png)} -#gl {background-image: url(../images/flags/gl.png)} -#gm {background-image: url(../images/flags/gm.png)} -#gn {background-image: url(../images/flags/gn.png)} -#gp {background-image: url(../images/flags/gp.png)} -#gq {background-image: url(../images/flags/gq.png)} -#gr {background-image: url(../images/flags/gr.png)} -#gt {background-image: url(../images/flags/gt.png)} -#gu {background-image: url(../images/flags/gu.png)} -#gw {background-image: url(../images/flags/gw.png)} -#gy {background-image: url(../images/flags/gy.png)} -#hk {background-image: url(../images/flags/hk.png)} -#hn {background-image: url(../images/flags/hn.png)} -#hr {background-image: url(../images/flags/hr.png)} -#ht {background-image: url(../images/flags/ht.png)} -#hu {background-image: url(../images/flags/hu.png)} -#id {background-image: url(../images/flags/id.png)} -#ie {background-image: url(../images/flags/ie.png)} -#il {background-image: url(../images/flags/il.png)} -#im {background-image: url(../images/flags/im.png)} -#in {background-image: url(../images/flags/in.png)} -#iq {background-image: url(../images/flags/iq.png)} -#ir {background-image: url(../images/flags/ir.png)} -#is {background-image: url(../images/flags/is.png)} -#it {background-image: url(../images/flags/it.png)} -#je {background-image: url(../images/flags/je.png)} -#jm {background-image: url(../images/flags/jm.png)} -#jo {background-image: url(../images/flags/jo.png)} -#jp {background-image: url(../images/flags/jp.png)} -#ke {background-image: url(../images/flags/ke.png)} -#kg {background-image: url(../images/flags/kg.png)} -#kh {background-image: url(../images/flags/kh.png)} -#ki {background-image: url(../images/flags/ki.png)} -#km {background-image: url(../images/flags/km.png)} -#kn {background-image: url(../images/flags/kn.png)} -#kp {background-image: url(../images/flags/kp.png)} -#kr {background-image: url(../images/flags/kr.png)} -#kw {background-image: url(../images/flags/kw.png)} -#ky {background-image: url(../images/flags/ky.png)} -#kz {background-image: url(../images/flags/kz.png)} -#la {background-image: url(../images/flags/la.png)} -#lb {background-image: url(../images/flags/lb.png)} -#lc {background-image: url(../images/flags/lc.png)} -#li {background-image: url(../images/flags/li.png)} -#lk {background-image: url(../images/flags/lk.png)} -#lr {background-image: url(../images/flags/lr.png)} -#ls {background-image: url(../images/flags/ls.png)} -#lt {background-image: url(../images/flags/lt.png)} -#lu {background-image: url(../images/flags/lu.png)} -#lv {background-image: url(../images/flags/lv.png)} -#ly {background-image: url(../images/flags/ly.png)} -#ma {background-image: url(../images/flags/ma.png)} -#mc {background-image: url(../images/flags/mc.png)} -#md {background-image: url(../images/flags/md.png)} -#me {background-image: url(../images/flags/me.png)} -#mg {background-image: url(../images/flags/mg.png)} -#mh {background-image: url(../images/flags/mh.png)} -#mk {background-image: url(../images/flags/mk.png)} -#ml {background-image: url(../images/flags/ml.png)} -#mm {background-image: url(../images/flags/mm.png)} -#mn {background-image: url(../images/flags/mn.png)} -#mo {background-image: url(../images/flags/mo.png)} -#mq {background-image: url(../images/flags/mq.png)} -#mr {background-image: url(../images/flags/mr.png)} -#ms {background-image: url(../images/flags/ms.png)} -#mt {background-image: url(../images/flags/mt.png)} -#mu {background-image: url(../images/flags/mu.png)} -#mv {background-image: url(../images/flags/mv.png)} -#mw {background-image: url(../images/flags/mw.png)} -#mx {background-image: url(../images/flags/mx.png)} -#my {background-image: url(../images/flags/my.png)} -#mz {background-image: url(../images/flags/mz.png)} -#na {background-image: url(../images/flags/na.png)} -#nc {background-image: url(../images/flags/nc.png)} -#ne {background-image: url(../images/flags/ne.png)} -#ng {background-image: url(../images/flags/ng.png)} -#ni {background-image: url(../images/flags/ni.png)} -#nl {background-image: url(../images/flags/nl.png)} -#no {background-image: url(../images/flags/no.png)} -#np {background-image: url(../images/flags/np.png)} -#nr {background-image: url(../images/flags/nr.png)} -#nz {background-image: url(../images/flags/nz.png)} -#om {background-image: url(../images/flags/om.png)} -#pa {background-image: url(../images/flags/pa.png)} -#pe {background-image: url(../images/flags/pe.png)} -#pf {background-image: url(../images/flags/pf.png)} -#pg {background-image: url(../images/flags/pg.png)} -#ph {background-image: url(../images/flags/ph.png)} -#pk {background-image: url(../images/flags/pk.png)} -#pl {background-image: url(../images/flags/pl.png)} -#pr {background-image: url(../images/flags/pr.png)} -#ps {background-image: url(../images/flags/ps.png)} -#pt-br {background-image: url(../images/flags/pt-br.png)} -#pt {background-image: url(../images/flags/pt.png)} -#pw {background-image: url(../images/flags/pw.png)} -#py {background-image: url(../images/flags/py.png)} -#qa {background-image: url(../images/flags/qa.png)} -#re {background-image: url(../images/flags/re.png)} -#ro {background-image: url(../images/flags/ro.png)} -#rs {background-image: url(../images/flags/rs.png)} -#ru {background-image: url(../images/flags/ru.png)} -#rw {background-image: url(../images/flags/rw.png)} -#sa {background-image: url(../images/flags/sa.png)} -#sb {background-image: url(../images/flags/sb.png)} -#sc {background-image: url(../images/flags/sc.png)} -#sd {background-image: url(../images/flags/sd.png)} -#se {background-image: url(../images/flags/se.png)} -#sg {background-image: url(../images/flags/sg.png)} -#si {background-image: url(../images/flags/si.png)} -#sk {background-image: url(../images/flags/sk.png)} -#sl {background-image: url(../images/flags/sl.png)} -#sm {background-image: url(../images/flags/sm.png)} -#sn {background-image: url(../images/flags/sn.png)} -#so {background-image: url(../images/flags/so.png)} -#sr {background-image: url(../images/flags/sr.png)} -#st {background-image: url(../images/flags/st.png)} -#sv {background-image: url(../images/flags/sv.png)} -#sy {background-image: url(../images/flags/sy.png)} -#sz {background-image: url(../images/flags/sz.png)} -#tc {background-image: url(../images/flags/tc.png)} -#td {background-image: url(../images/flags/td.png)} -#tg {background-image: url(../images/flags/tg.png)} -#th {background-image: url(../images/flags/th.png)} -#tj {background-image: url(../images/flags/tj.png)} -#tl {background-image: url(../images/flags/tl.png)} -#tm {background-image: url(../images/flags/tm.png)} -#tn {background-image: url(../images/flags/tn.png)} -#to {background-image: url(../images/flags/to.png)} -#tr {background-image: url(../images/flags/tr.png)} -#tt {background-image: url(../images/flags/tt.png)} -#tv {background-image: url(../images/flags/tv.png)} -#tz {background-image: url(../images/flags/tz.png)} -#ua {background-image: url(../images/flags/ua.png)} -#ug {background-image: url(../images/flags/ug.png)} -#uy {background-image: url(../images/flags/uy.png)} -#uz {background-image: url(../images/flags/uz.png)} -#va {background-image: url(../images/flags/va.png)} -#vc {background-image: url(../images/flags/vc.png)} -#ve {background-image: url(../images/flags/ve.png)} -#vg {background-image: url(../images/flags/vg.png)} -#vi {background-image: url(../images/flags/vi.png)} -#vn {background-image: url(../images/flags/vn.png)} -#vu {background-image: url(../images/flags/vu.png)} -#ws {background-image: url(../images/flags/ws.png)} -#ye {background-image: url(../images/flags/ye.png)} -#za {background-image: url(../images/flags/za.png)} -#zh-cn {background-image: url(../images/flags/zh-cn.png)} -#zh-tw {background-image: url(../images/flags/zh-tw.png)} -#zm {background-image: url(../images/flags/zm.png)} -#zw {background-image: url(../images/flags/zw.png)} \ No newline at end of file +#ad{background-image:url(../images/flags/ad.png)}#ae{background-image:url(../images/flags/ae.png)}#af{background-image:url(../images/flags/af.png)}#ag{background-image:url(../images/flags/ag.png)}#ai{background-image:url(../images/flags/ai.png)}#al{background-image:url(../images/flags/al.png)}#am{background-image:url(../images/flags/am.png)}#an{background-image:url(../images/flags/an.png)}#ao{background-image:url(../images/flags/ao.png)}#aq{background-image:url(../images/flags/aq.png)}#ar{background-image:url(../images/flags/ar.png)}#as{background-image:url(../images/flags/as.png)}#at{background-image:url(../images/flags/at.png)}#au{background-image:url(../images/flags/au.png)}#aw{background-image:url(../images/flags/aw.png)}#az{background-image:url(../images/flags/az.png)}#ba{background-image:url(../images/flags/ba.png)}#bb{background-image:url(../images/flags/bb.png)}#bd{background-image:url(../images/flags/bd.png)}#be{background-image:url(../images/flags/be.png)}#bf{background-image:url(../images/flags/bf.png)}#bg{background-image:url(../images/flags/bg.png)}#bh{background-image:url(../images/flags/bh.png)}#bi{background-image:url(../images/flags/bi.png)}#bj{background-image:url(../images/flags/bj.png)}#bm{background-image:url(../images/flags/bm.png)}#bn{background-image:url(../images/flags/bn.png)}#bo{background-image:url(../images/flags/bo.png)}#bs{background-image:url(../images/flags/bs.png)}#bt{background-image:url(../images/flags/bt.png)}#bw{background-image:url(../images/flags/bw.png)}#by{background-image:url(../images/flags/by.png)}#bz{background-image:url(../images/flags/bz.png)}#ca{background-image:url(../images/flags/ca.png)}#cd{background-image:url(../images/flags/cd.png)}#cf{background-image:url(../images/flags/cf.png)}#cg{background-image:url(../images/flags/cg.png)}#ch{background-image:url(../images/flags/ch.png)}#ci{background-image:url(../images/flags/ci.png)}#ck{background-image:url(../images/flags/ck.png)}#cl{background-image:url(../images/flags/cl.png)}#cm{background-image:url(../images/flags/cm.png)}#co{background-image:url(../images/flags/co.png)}#cr{background-image:url(../images/flags/cr.png)}#cu{background-image:url(../images/flags/cu.png)}#cv{background-image:url(../images/flags/cv.png)}#cy{background-image:url(../images/flags/cy.png)}#cz{background-image:url(../images/flags/cz.png)}#de{background-image:url(../images/flags/de.png)}#dj{background-image:url(../images/flags/dj.png)}#dk{background-image:url(../images/flags/dk.png)}#dm{background-image:url(../images/flags/dm.png)}#do{background-image:url(../images/flags/do.png)}#dz{background-image:url(../images/flags/dz.png)}#ec{background-image:url(../images/flags/ec.png)}#ee{background-image:url(../images/flags/ee.png)}#eg{background-image:url(../images/flags/eg.png)}#eh{background-image:url(../images/flags/eh.png)}#en{background-image:url(../images/flags/en.png)}#er{background-image:url(../images/flags/er.png)}#es{background-image:url(../images/flags/es.png)}#et{background-image:url(../images/flags/et.png)}#fi{background-image:url(../images/flags/fi.png)}#fj{background-image:url(../images/flags/fj.png)}#fm{background-image:url(../images/flags/fm.png)}#fo{background-image:url(../images/flags/fo.png)}#fr{background-image:url(../images/flags/fr.png)}#ga{background-image:url(../images/flags/ga.png)}#gb{background-image:url(../images/flags/gb.png)}#gd{background-image:url(../images/flags/gd.png)}#ge{background-image:url(../images/flags/ge.png)}#gg{background-image:url(../images/flags/gg.png)}#gh{background-image:url(../images/flags/gh.png)}#gi{background-image:url(../images/flags/gi.png)}#gl{background-image:url(../images/flags/gl.png)}#gm{background-image:url(../images/flags/gm.png)}#gn{background-image:url(../images/flags/gn.png)}#gp{background-image:url(../images/flags/gp.png)}#gq{background-image:url(../images/flags/gq.png)}#gr{background-image:url(../images/flags/gr.png)}#gt{background-image:url(../images/flags/gt.png)}#gu{background-image:url(../images/flags/gu.png)}#gw{background-image:url(../images/flags/gw.png)}#gy{background-image:url(../images/flags/gy.png)}#hk{background-image:url(../images/flags/hk.png)}#hn{background-image:url(../images/flags/hn.png)}#hr{background-image:url(../images/flags/hr.png)}#ht{background-image:url(../images/flags/ht.png)}#hu{background-image:url(../images/flags/hu.png)}#id{background-image:url(../images/flags/id.png)}#ie{background-image:url(../images/flags/ie.png)}#il{background-image:url(../images/flags/il.png)}#im{background-image:url(../images/flags/im.png)}#in{background-image:url(../images/flags/in.png)}#iq{background-image:url(../images/flags/iq.png)}#ir{background-image:url(../images/flags/ir.png)}#is{background-image:url(../images/flags/is.png)}#it{background-image:url(../images/flags/it.png)}#je{background-image:url(../images/flags/je.png)}#jm{background-image:url(../images/flags/jm.png)}#jo{background-image:url(../images/flags/jo.png)}#jp{background-image:url(../images/flags/jp.png)}#ke{background-image:url(../images/flags/ke.png)}#kg{background-image:url(../images/flags/kg.png)}#kh{background-image:url(../images/flags/kh.png)}#ki{background-image:url(../images/flags/ki.png)}#km{background-image:url(../images/flags/km.png)}#kn{background-image:url(../images/flags/kn.png)}#kp{background-image:url(../images/flags/kp.png)}#kr{background-image:url(../images/flags/kr.png)}#kw{background-image:url(../images/flags/kw.png)}#ky{background-image:url(../images/flags/ky.png)}#kz{background-image:url(../images/flags/kz.png)}#la{background-image:url(../images/flags/la.png)}#lb{background-image:url(../images/flags/lb.png)}#lc{background-image:url(../images/flags/lc.png)}#li{background-image:url(../images/flags/li.png)}#lk{background-image:url(../images/flags/lk.png)}#lr{background-image:url(../images/flags/lr.png)}#ls{background-image:url(../images/flags/ls.png)}#lt{background-image:url(../images/flags/lt.png)}#lu{background-image:url(../images/flags/lu.png)}#lv{background-image:url(../images/flags/lv.png)}#ly{background-image:url(../images/flags/ly.png)}#ma{background-image:url(../images/flags/ma.png)}#mc{background-image:url(../images/flags/mc.png)}#md{background-image:url(../images/flags/md.png)}#me{background-image:url(../images/flags/me.png)}#mg{background-image:url(../images/flags/mg.png)}#mh{background-image:url(../images/flags/mh.png)}#mk{background-image:url(../images/flags/mk.png)}#ml{background-image:url(../images/flags/ml.png)}#mm{background-image:url(../images/flags/mm.png)}#mn{background-image:url(../images/flags/mn.png)}#mo{background-image:url(../images/flags/mo.png)}#mq{background-image:url(../images/flags/mq.png)}#mr{background-image:url(../images/flags/mr.png)}#ms{background-image:url(../images/flags/ms.png)}#mt{background-image:url(../images/flags/mt.png)}#mu{background-image:url(../images/flags/mu.png)}#mv{background-image:url(../images/flags/mv.png)}#mw{background-image:url(../images/flags/mw.png)}#mx{background-image:url(../images/flags/mx.png)}#my{background-image:url(../images/flags/my.png)}#mz{background-image:url(../images/flags/mz.png)}#na{background-image:url(../images/flags/na.png)}#nc{background-image:url(../images/flags/nc.png)}#ne{background-image:url(../images/flags/ne.png)}#ng{background-image:url(../images/flags/ng.png)}#ni{background-image:url(../images/flags/ni.png)}#nl{background-image:url(../images/flags/nl.png)}#no{background-image:url(../images/flags/no.png)}#np{background-image:url(../images/flags/np.png)}#nr{background-image:url(../images/flags/nr.png)}#nz{background-image:url(../images/flags/nz.png)}#om{background-image:url(../images/flags/om.png)}#pa{background-image:url(../images/flags/pa.png)}#pe{background-image:url(../images/flags/pe.png)}#pf{background-image:url(../images/flags/pf.png)}#pg{background-image:url(../images/flags/pg.png)}#ph{background-image:url(../images/flags/ph.png)}#pk{background-image:url(../images/flags/pk.png)}#pl{background-image:url(../images/flags/pl.png)}#pr{background-image:url(../images/flags/pr.png)}#ps{background-image:url(../images/flags/ps.png)}#pt-br{background-image:url(../images/flags/pt-br.png)}#pt{background-image:url(../images/flags/pt.png)}#pw{background-image:url(../images/flags/pw.png)}#py{background-image:url(../images/flags/py.png)}#qa{background-image:url(../images/flags/qa.png)}#re{background-image:url(../images/flags/re.png)}#ro{background-image:url(../images/flags/ro.png)}#rs{background-image:url(../images/flags/rs.png)}#ru{background-image:url(../images/flags/ru.png)}#rw{background-image:url(../images/flags/rw.png)}#sa{background-image:url(../images/flags/sa.png)}#sb{background-image:url(../images/flags/sb.png)}#sc{background-image:url(../images/flags/sc.png)}#sd{background-image:url(../images/flags/sd.png)}#se{background-image:url(../images/flags/se.png)}#sg{background-image:url(../images/flags/sg.png)}#si{background-image:url(../images/flags/si.png)}#sk{background-image:url(../images/flags/sk.png)}#sl{background-image:url(../images/flags/sl.png)}#sm{background-image:url(../images/flags/sm.png)}#sn{background-image:url(../images/flags/sn.png)}#so{background-image:url(../images/flags/so.png)}#sr{background-image:url(../images/flags/sr.png)}#st{background-image:url(../images/flags/st.png)}#sv{background-image:url(../images/flags/sv.png)}#sy{background-image:url(../images/flags/sy.png)}#sz{background-image:url(../images/flags/sz.png)}#tc{background-image:url(../images/flags/tc.png)}#td{background-image:url(../images/flags/td.png)}#tg{background-image:url(../images/flags/tg.png)}#th{background-image:url(../images/flags/th.png)}#tj{background-image:url(../images/flags/tj.png)}#tl{background-image:url(../images/flags/tl.png)}#tm{background-image:url(../images/flags/tm.png)}#tn{background-image:url(../images/flags/tn.png)}#to{background-image:url(../images/flags/to.png)}#tr{background-image:url(../images/flags/tr.png)}#tt{background-image:url(../images/flags/tt.png)}#tv{background-image:url(../images/flags/tv.png)}#tz{background-image:url(../images/flags/tz.png)}#ua{background-image:url(../images/flags/ua.png)}#ug{background-image:url(../images/flags/ug.png)}#uy{background-image:url(../images/flags/uy.png)}#uz{background-image:url(../images/flags/uz.png)}#va{background-image:url(../images/flags/va.png)}#vc{background-image:url(../images/flags/vc.png)}#ve{background-image:url(../images/flags/ve.png)}#vg{background-image:url(../images/flags/vg.png)}#vi{background-image:url(../images/flags/vi.png)}#vn{background-image:url(../images/flags/vn.png)}#vu{background-image:url(../images/flags/vu.png)}#ws{background-image:url(../images/flags/ws.png)}#ye{background-image:url(../images/flags/ye.png)}#za{background-image:url(../images/flags/za.png)}#zh-cn{background-image:url(../images/flags/zh-cn.png)}#zh-tw{background-image:url(../images/flags/zh-tw.png)}#zm{background-image:url(../images/flags/zm.png)}#zw{background-image:url(../images/flags/zw.png)} \ No newline at end of file diff --git a/download.php b/download.php index f27700b..26bcc2f 100644 --- a/download.php +++ b/download.php @@ -95,7 +95,7 @@
diff --git a/faq.php b/faq.php index 3e1a3f4..e7a19d1 100644 --- a/faq.php +++ b/faq.php @@ -85,7 +85,7 @@
diff --git a/inc/config.php b/inc/config.php index 145b107..90c1d25 100644 --- a/inc/config.php +++ b/inc/config.php @@ -1,4 +1,6 @@  \n"; - } - } \ No newline at end of file + $l = new LanguageManager(LANG_DIR, DEFAULT_LANGUAGE); + $langsite = $l->includeLanguage(); \ No newline at end of file diff --git a/inc/language.class.php b/inc/language.class.php new file mode 100644 index 0000000..3c812ec --- /dev/null +++ b/inc/language.class.php @@ -0,0 +1,93 @@ +setLanguageDirectory($languageDirectory); + $this->setDefaultLanguage($defaultLanguage); + } + + public function getLanguageDirectory() { + return $this->languageDirectory; + } + private function setLanguageDirectory($languageDirectory) { + $this->languageDirectory = $languageDirectory; + } + + public function getDefaultLanguage() { + return $this->defaultLanguage; + } + private function setDefaultLanguage($defaultLanguage) { + $this->defaultLanguage = $defaultLanguage; + } + + public function includeLanguage($language = null) { + $language = ($language && $this->isValidLanguage($language)) ? $language : $this->getUserLanguage(); + + if(!$this->checkCookie($language)) { + $this->createCookie($language); + } + + require_once($this->getLanguageDirectory() . '/' . $this->formatLanguageFileName($language)); + + return $langsite; + } + + public function printLanguageOptions() { + $optionsString = ''; + foreach($this->getLanguages() as $language) { + $optionsString .= "\n"; + } + + return $optionsString; + } + + private function getLanguages() { + $languages = array(); + foreach(scandir($this->getLanguageDirectory()) as $language) { + $language = $this->formatLanguageName($language); + if($this->isValidLanguage($language)) { + $languages[] = $language; + } + } + + return $languages; + } + + private function getUserLanguage() { + if(isset($_GET["lang"]) && $this->isValidLanguage($_GET["lang"])) { + $language = $_GET["lang"]; + } else if(isset($_COOKIE["lang"]) && $this->isValidLanguage($_COOKIE["lang"])) { + $language = $_COOKIE["lang"]; + } else if($this->isValidLanguage(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2))) { + $language = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); + } else { + $language = $this->getDefaultLanguage(); + } + + return $language; + } + + private function checkCookie($language) { + return (isset($_COOKIE['lang']) && $_COOKIE['lang'] == $language); + } + + private function createCookie($language) { + setcookie("lang", $language, time()+31536000); + header("Location: ".strtok($_SERVER['REQUEST_URI'], '?')); + } + + private function isValidLanguage($language) { + $languageFile = $this->formatLanguageFileName($language); + return (file_exists($this->getLanguageDirectory() . '/' . $languageFile) && is_file($this->getLanguageDirectory() . '/' . $languageFile) && preg_match("/^([a-z-]{2,5})$/i", $language)); + } + + private function formatLanguageFileName($language) { + return $language . '.php'; + } + + private function formatLanguageName($language) { + return str_replace('.php', '', $language); + } + } \ No newline at end of file diff --git a/index.php b/index.php index f57abe9..2a3f946 100644 --- a/index.php +++ b/index.php @@ -86,7 +86,7 @@
diff --git a/js/jquery.polyglot.language.switcher.js b/js/jquery.polyglot.language.switcher.js index c7d41a2..8a44b08 100644 --- a/js/jquery.polyglot.language.switcher.js +++ b/js/jquery.polyglot.language.switcher.js @@ -1,375 +1,43 @@ -// JavaScript Document - - -/* ---------------------------------------------------------------------- */ -/* "Polyglot" Language Switcher - /* ---------------------------------------------------------------------- - Version: 2.2 - Author: Ixtendo - Author URI: http://www.ixtendo.com - License: MIT License - License URI: http://www.opensource.org/licenses/mit-license.php - ------------------------------------------------------------------------- */ - -/** - * jquery.timer.js - * - * Copyright (c) 2011 Jason Chavannes - * - * http://jchavannes.com/jquery-timer - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies - * of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - (function ($) { - - //jquery.timer.js - $.timer = function(func, time, autostart) { - this.set = function(func, time, autostart) { - this.init = true; - if(typeof func == 'object') { - var paramList = ['autostart', 'time']; - for(var arg in paramList) {if(func[paramList[arg]] != undefined) {eval(paramList[arg] + " = func[paramList[arg]]");}}; - func = func.action; - } - if(typeof func == 'function') {this.action = func;} - if(!isNaN(time)) {this.intervalTime = time;} - if(autostart && !this.active) { - this.active = true; - this.setTimer(); - } - return this; - }; - this.once = function(time) { - var timer = this; - if(isNaN(time)) {time = 0;} - window.setTimeout(function() {timer.action();}, time); - return this; - }; - this.play = function(reset) { - if(!this.active) { - if(reset) {this.setTimer();} - else {this.setTimer(this.remaining);} - this.active = true; - } - return this; - }; - this.pause = function() { - if(this.active) { - this.active = false; - this.remaining -= new Date() - this.last; - this.clearTimer(); - } - return this; - }; - this.stop = function() { - this.active = false; - this.remaining = this.intervalTime; - this.clearTimer(); - return this; - }; - this.toggle = function(reset) { - if(this.active) {this.pause();} - else if(reset) {this.play(true);} - else {this.play();} - return this; - }; - this.reset = function() { - this.active = false; - this.play(true); - return this; - }; - this.clearTimer = function() { - window.clearTimeout(this.timeoutObject); - }; - this.setTimer = function(time) { - var timer = this; - if(typeof this.action != 'function') {return;} - if(isNaN(time)) {time = this.intervalTime;} - this.remaining = time; - this.last = new Date(); - this.clearTimer(); - this.timeoutObject = window.setTimeout(function() {timer.go();}, time); - }; - this.go = function() { - if(this.active) { - this.action(); - this.setTimer(); - } - }; - - if(this.init) { - return new $.timer(func, time, autostart); - } else { - this.set(func, time, autostart); - return this; - } - }; - - $.fn.polyglotLanguageSwitcher = function (op) { - - var ls = $.fn.polyglotLanguageSwitcher; - - var rootElement = $(this); - var rootElementId = $(this).attr('id'); - var aElement; - var ulElement = $("