diff options
| -rw-r--r-- | README.md | 5 | ||||
| -rw-r--r-- | inc/config.php | 18 | ||||
| -rw-r--r-- | inc/display.php | 77 | ||||
| -rw-r--r-- | inc/functions.php | 90 | ||||
| -rw-r--r-- | inc/mod/pages.php | 30 | ||||
| -rw-r--r-- | js/inline-expanding.js | 5 | ||||
| -rw-r--r-- | post.php | 11 | ||||
| -rwxr-xr-x | static/flags/ad.png | bin | 0 -> 643 bytes | |||
| -rwxr-xr-x | static/flags/ae.png | bin | 0 -> 408 bytes | |||
| -rwxr-xr-x | static/flags/af.png | bin | 0 -> 604 bytes | |||
| -rwxr-xr-x | static/flags/ag.png | bin | 0 -> 591 bytes | |||
| -rwxr-xr-x | static/flags/ai.png | bin | 0 -> 643 bytes | |||
| -rwxr-xr-x | static/flags/al.png | bin | 0 -> 600 bytes | |||
| -rwxr-xr-x | static/flags/am.png | bin | 0 -> 497 bytes | |||
| -rwxr-xr-x | static/flags/an.png | bin | 0 -> 488 bytes | |||
| -rwxr-xr-x | static/flags/ao.png | bin | 0 -> 611 bytes | |||
| -rwxr-xr-x | static/flags/ar.png | bin | 0 -> 506 bytes | |||
| -rwxr-xr-x | static/flags/as.png | bin | 0 -> 647 bytes | |||
| -rwxr-xr-x | static/flags/at.png | bin | 0 -> 403 bytes | |||
| -rwxr-xr-x | static/flags/au.png | bin | 0 -> 673 bytes | |||
| -rwxr-xr-x | static/flags/aw.png | bin | 0 -> 524 bytes | |||
| -rwxr-xr-x | static/flags/ax.png | bin | 0 -> 663 bytes | |||
| -rwxr-xr-x | static/flags/az.png | bin | 0 -> 589 bytes | |||
| -rwxr-xr-x | static/flags/ba.png | bin | 0 -> 593 bytes | |||
| -rwxr-xr-x | static/flags/bb.png | bin | 0 -> 585 bytes | |||
| -rwxr-xr-x | static/flags/bd.png | bin | 0 -> 504 bytes | |||
| -rwxr-xr-x | static/flags/be.png | bin | 0 -> 449 bytes | |||
| -rwxr-xr-x | static/flags/bf.png | bin | 0 -> 497 bytes | |||
| -rwxr-xr-x | static/flags/bg.png | bin | 0 -> 462 bytes | |||
| -rwxr-xr-x | static/flags/bh.png | bin | 0 -> 457 bytes | |||
| -rwxr-xr-x | static/flags/bi.png | bin | 0 -> 675 bytes | |||
| -rwxr-xr-x | static/flags/bj.png | bin | 0 -> 486 bytes | |||
| -rwxr-xr-x | static/flags/bm.png | bin | 0 -> 611 bytes | |||
| -rwxr-xr-x | static/flags/bn.png | bin | 0 -> 639 bytes | |||
| -rwxr-xr-x | static/flags/bo.png | bin | 0 -> 500 bytes | |||
| -rwxr-xr-x | static/flags/br.png | bin | 0 -> 593 bytes | |||
| -rwxr-xr-x | static/flags/bs.png | bin | 0 -> 526 bytes | |||
| -rwxr-xr-x | static/flags/bt.png | bin | 0 -> 631 bytes | |||
| -rwxr-xr-x | static/flags/bv.png | bin | 0 -> 512 bytes | |||
| -rwxr-xr-x | static/flags/bw.png | bin | 0 -> 443 bytes | |||
| -rwxr-xr-x | static/flags/by.png | bin | 0 -> 514 bytes | |||
| -rwxr-xr-x | static/flags/bz.png | bin | 0 -> 600 bytes | |||
| -rwxr-xr-x | static/flags/ca.png | bin | 0 -> 628 bytes | |||
| -rwxr-xr-x | static/flags/cc.png | bin | 0 -> 625 bytes | |||
| -rwxr-xr-x | static/flags/cd.png | bin | 0 -> 571 bytes | |||
| -rwxr-xr-x | static/flags/cf.png | bin | 0 -> 614 bytes | |||
| -rwxr-xr-x | static/flags/cg.png | bin | 0 -> 521 bytes | |||
| -rwxr-xr-x | static/flags/ch.png | bin | 0 -> 367 bytes | |||
| -rwxr-xr-x | static/flags/ci.png | bin | 0 -> 453 bytes | |||
| -rwxr-xr-x | static/flags/ck.png | bin | 0 -> 586 bytes | |||
| -rwxr-xr-x | static/flags/cl.png | bin | 0 -> 450 bytes | |||
| -rwxr-xr-x | static/flags/cm.png | bin | 0 -> 525 bytes | |||
| -rwxr-xr-x | static/flags/cn.png | bin | 0 -> 472 bytes | |||
| -rwxr-xr-x | static/flags/co.png | bin | 0 -> 483 bytes | |||
| -rwxr-xr-x | static/flags/cr.png | bin | 0 -> 477 bytes | |||
| -rwxr-xr-x | static/flags/cs.png | bin | 0 -> 439 bytes | |||
| -rwxr-xr-x | static/flags/cu.png | bin | 0 -> 563 bytes | |||
| -rwxr-xr-x | static/flags/cv.png | bin | 0 -> 529 bytes | |||
| -rwxr-xr-x | static/flags/cx.png | bin | 0 -> 608 bytes | |||
| -rwxr-xr-x | static/flags/cy.png | bin | 0 -> 428 bytes | |||
| -rwxr-xr-x | static/flags/cz.png | bin | 0 -> 476 bytes | |||
| -rwxr-xr-x | static/flags/de.png | bin | 0 -> 545 bytes | |||
| -rwxr-xr-x | static/flags/dj.png | bin | 0 -> 572 bytes | |||
| -rwxr-xr-x | static/flags/dk.png | bin | 0 -> 495 bytes | |||
| -rwxr-xr-x | static/flags/dm.png | bin | 0 -> 620 bytes | |||
| -rwxr-xr-x | static/flags/do.png | bin | 0 -> 508 bytes | |||
| -rwxr-xr-x | static/flags/dz.png | bin | 0 -> 582 bytes | |||
| -rwxr-xr-x | static/flags/ec.png | bin | 0 -> 500 bytes | |||
| -rwxr-xr-x | static/flags/ee.png | bin | 0 -> 429 bytes | |||
| -rwxr-xr-x | static/flags/eg.png | bin | 0 -> 465 bytes | |||
| -rwxr-xr-x | static/flags/eh.png | bin | 0 -> 508 bytes | |||
| -rwxr-xr-x | static/flags/er.png | bin | 0 -> 653 bytes | |||
| -rwxr-xr-x | static/flags/es.png | bin | 0 -> 469 bytes | |||
| -rwxr-xr-x | static/flags/et.png | bin | 0 -> 592 bytes | |||
| -rwxr-xr-x | static/flags/fi.png | bin | 0 -> 489 bytes | |||
| -rwxr-xr-x | static/flags/fj.png | bin | 0 -> 610 bytes | |||
| -rwxr-xr-x | static/flags/fk.png | bin | 0 -> 648 bytes | |||
| -rwxr-xr-x | static/flags/fm.png | bin | 0 -> 552 bytes | |||
| -rwxr-xr-x | static/flags/fo.png | bin | 0 -> 474 bytes | |||
| -rwxr-xr-x | static/flags/fr.png | bin | 0 -> 545 bytes | |||
| -rwxr-xr-x | static/flags/ga.png | bin | 0 -> 489 bytes | |||
| -rwxr-xr-x | static/flags/gb.png | bin | 0 -> 699 bytes | |||
| -rwxr-xr-x | static/flags/gd.png | bin | 0 -> 637 bytes | |||
| -rwxr-xr-x | static/flags/ge.png | bin | 0 -> 594 bytes | |||
| -rwxr-xr-x | static/flags/gh.png | bin | 0 -> 490 bytes | |||
| -rwxr-xr-x | static/flags/gi.png | bin | 0 -> 463 bytes | |||
| -rwxr-xr-x | static/flags/gl.png | bin | 0 -> 470 bytes | |||
| -rwxr-xr-x | static/flags/gm.png | bin | 0 -> 493 bytes | |||
| -rwxr-xr-x | static/flags/gn.png | bin | 0 -> 480 bytes | |||
| -rwxr-xr-x | static/flags/gp.png | bin | 0 -> 488 bytes | |||
| -rwxr-xr-x | static/flags/gq.png | bin | 0 -> 537 bytes | |||
| -rwxr-xr-x | static/flags/gr.png | bin | 0 -> 487 bytes | |||
| -rwxr-xr-x | static/flags/gs.png | bin | 0 -> 630 bytes | |||
| -rwxr-xr-x | static/flags/gt.png | bin | 0 -> 493 bytes | |||
| -rwxr-xr-x | static/flags/gu.png | bin | 0 -> 509 bytes | |||
| -rwxr-xr-x | static/flags/gw.png | bin | 0 -> 516 bytes | |||
| -rwxr-xr-x | static/flags/gy.png | bin | 0 -> 645 bytes | |||
| -rwxr-xr-x | static/flags/hk.png | bin | 0 -> 527 bytes | |||
| -rwxr-xr-x | static/flags/hn.png | bin | 0 -> 537 bytes | |||
| -rwxr-xr-x | static/flags/hr.png | bin | 0 -> 524 bytes | |||
| -rwxr-xr-x | static/flags/ht.png | bin | 0 -> 487 bytes | |||
| -rwxr-xr-x | static/flags/hu.png | bin | 0 -> 432 bytes | |||
| -rwxr-xr-x | static/flags/id.png | bin | 0 -> 430 bytes | |||
| -rwxr-xr-x | static/flags/ie.png | bin | 0 -> 481 bytes | |||
| -rwxr-xr-x | static/flags/il.png | bin | 0 -> 431 bytes | |||
| -rwxr-xr-x | static/flags/in.png | bin | 0 -> 503 bytes | |||
| -rwxr-xr-x | static/flags/io.png | bin | 0 -> 658 bytes | |||
| -rwxr-xr-x | static/flags/iq.png | bin | 0 -> 515 bytes | |||
| -rwxr-xr-x | static/flags/ir.png | bin | 0 -> 512 bytes | |||
| -rwxr-xr-x | static/flags/is.png | bin | 0 -> 532 bytes | |||
| -rwxr-xr-x | static/flags/it.png | bin | 0 -> 420 bytes | |||
| -rwxr-xr-x | static/flags/jm.png | bin | 0 -> 637 bytes | |||
| -rwxr-xr-x | static/flags/jo.png | bin | 0 -> 473 bytes | |||
| -rwxr-xr-x | static/flags/jp.png | bin | 0 -> 420 bytes | |||
| -rwxr-xr-x | static/flags/ke.png | bin | 0 -> 569 bytes | |||
| -rwxr-xr-x | static/flags/kg.png | bin | 0 -> 510 bytes | |||
| -rwxr-xr-x | static/flags/kh.png | bin | 0 -> 549 bytes | |||
| -rwxr-xr-x | static/flags/ki.png | bin | 0 -> 656 bytes | |||
| -rwxr-xr-x | static/flags/km.png | bin | 0 -> 577 bytes | |||
| -rwxr-xr-x | static/flags/kn.png | bin | 0 -> 604 bytes | |||
| -rwxr-xr-x | static/flags/kp.png | bin | 0 -> 561 bytes | |||
| -rwxr-xr-x | static/flags/kr.png | bin | 0 -> 592 bytes | |||
| -rwxr-xr-x | static/flags/kw.png | bin | 0 -> 486 bytes | |||
| -rwxr-xr-x | static/flags/ky.png | bin | 0 -> 643 bytes | |||
| -rwxr-xr-x | static/flags/kz.png | bin | 0 -> 616 bytes | |||
| -rwxr-xr-x | static/flags/la.png | bin | 0 -> 563 bytes | |||
| -rwxr-xr-x | static/flags/lb.png | bin | 0 -> 517 bytes | |||
| -rwxr-xr-x | static/flags/lc.png | bin | 0 -> 606 bytes | |||
| -rwxr-xr-x | static/flags/li.png | bin | 0 -> 537 bytes | |||
| -rwxr-xr-x | static/flags/lk.png | bin | 0 -> 627 bytes | |||
| -rwxr-xr-x | static/flags/lr.png | bin | 0 -> 466 bytes | |||
| -rwxr-xr-x | static/flags/ls.png | bin | 0 -> 628 bytes | |||
| -rwxr-xr-x | static/flags/lt.png | bin | 0 -> 508 bytes | |||
| -rwxr-xr-x | static/flags/lu.png | bin | 0 -> 481 bytes | |||
| -rwxr-xr-x | static/flags/lv.png | bin | 0 -> 465 bytes | |||
| -rwxr-xr-x | static/flags/ly.png | bin | 0 -> 419 bytes | |||
| -rwxr-xr-x | static/flags/ma.png | bin | 0 -> 432 bytes | |||
| -rwxr-xr-x | static/flags/mc.png | bin | 0 -> 380 bytes | |||
| -rwxr-xr-x | static/flags/md.png | bin | 0 -> 566 bytes | |||
| -rwxr-xr-x | static/flags/mg.png | bin | 0 -> 453 bytes | |||
| -rwxr-xr-x | static/flags/mh.png | bin | 0 -> 628 bytes | |||
| -rwxr-xr-x | static/flags/mk.png | bin | 0 -> 664 bytes | |||
| -rwxr-xr-x | static/flags/ml.png | bin | 0 -> 474 bytes | |||
| -rwxr-xr-x | static/flags/mm.png | bin | 0 -> 483 bytes | |||
| -rwxr-xr-x | static/flags/mn.png | bin | 0 -> 492 bytes | |||
| -rwxr-xr-x | static/flags/mo.png | bin | 0 -> 588 bytes | |||
| -rwxr-xr-x | static/flags/mp.png | bin | 0 -> 597 bytes | |||
| -rwxr-xr-x | static/flags/mq.png | bin | 0 -> 655 bytes | |||
| -rwxr-xr-x | static/flags/mr.png | bin | 0 -> 569 bytes | |||
| -rwxr-xr-x | static/flags/ms.png | bin | 0 -> 614 bytes | |||
| -rwxr-xr-x | static/flags/mt.png | bin | 0 -> 420 bytes | |||
| -rwxr-xr-x | static/flags/mu.png | bin | 0 -> 496 bytes | |||
| -rwxr-xr-x | static/flags/mv.png | bin | 0 -> 542 bytes | |||
| -rwxr-xr-x | static/flags/mw.png | bin | 0 -> 529 bytes | |||
| -rwxr-xr-x | static/flags/mx.png | bin | 0 -> 574 bytes | |||
| -rwxr-xr-x | static/flags/my.png | bin | 0 -> 571 bytes | |||
| -rwxr-xr-x | static/flags/mz.png | bin | 0 -> 584 bytes | |||
| -rwxr-xr-x | static/flags/na.png | bin | 0 -> 647 bytes | |||
| -rwxr-xr-x | static/flags/nc.png | bin | 0 -> 591 bytes | |||
| -rwxr-xr-x | static/flags/ne.png | bin | 0 -> 537 bytes | |||
| -rwxr-xr-x | static/flags/nf.png | bin | 0 -> 602 bytes | |||
| -rwxr-xr-x | static/flags/ng.png | bin | 0 -> 482 bytes | |||
| -rwxr-xr-x | static/flags/ni.png | bin | 0 -> 508 bytes | |||
| -rwxr-xr-x | static/flags/nl.png | bin | 0 -> 453 bytes | |||
| -rwxr-xr-x | static/flags/no.png | bin | 0 -> 512 bytes | |||
| -rwxr-xr-x | static/flags/np.png | bin | 0 -> 443 bytes | |||
| -rwxr-xr-x | static/flags/nr.png | bin | 0 -> 527 bytes | |||
| -rwxr-xr-x | static/flags/nu.png | bin | 0 -> 572 bytes | |||
| -rwxr-xr-x | static/flags/nz.png | bin | 0 -> 639 bytes | |||
| -rwxr-xr-x | static/flags/om.png | bin | 0 -> 478 bytes | |||
| -rwxr-xr-x | static/flags/pa.png | bin | 0 -> 519 bytes | |||
| -rwxr-xr-x | static/flags/pe.png | bin | 0 -> 397 bytes | |||
| -rwxr-xr-x | static/flags/pf.png | bin | 0 -> 498 bytes | |||
| -rwxr-xr-x | static/flags/pg.png | bin | 0 -> 593 bytes | |||
| -rwxr-xr-x | static/flags/ph.png | bin | 0 -> 538 bytes | |||
| -rwxr-xr-x | static/flags/pk.png | bin | 0 -> 569 bytes | |||
| -rwxr-xr-x | static/flags/pl.png | bin | 0 -> 374 bytes | |||
| -rwxr-xr-x | static/flags/pm.png | bin | 0 -> 689 bytes | |||
| -rwxr-xr-x | static/flags/pn.png | bin | 0 -> 657 bytes | |||
| -rwxr-xr-x | static/flags/pr.png | bin | 0 -> 556 bytes | |||
| -rwxr-xr-x | static/flags/ps.png | bin | 0 -> 472 bytes | |||
| -rwxr-xr-x | static/flags/pt.png | bin | 0 -> 554 bytes | |||
| -rwxr-xr-x | static/flags/pw.png | bin | 0 -> 550 bytes | |||
| -rwxr-xr-x | static/flags/py.png | bin | 0 -> 473 bytes | |||
| -rwxr-xr-x | static/flags/qa.png | bin | 0 -> 450 bytes | |||
| -rwxr-xr-x | static/flags/ro.png | bin | 0 -> 495 bytes | |||
| -rwxr-xr-x | static/flags/ru.png | bin | 0 -> 420 bytes | |||
| -rwxr-xr-x | static/flags/rw.png | bin | 0 -> 533 bytes | |||
| -rwxr-xr-x | static/flags/sa.png | bin | 0 -> 551 bytes | |||
| -rwxr-xr-x | static/flags/sb.png | bin | 0 -> 624 bytes | |||
| -rwxr-xr-x | static/flags/sc.png | bin | 0 -> 608 bytes | |||
| -rwxr-xr-x | static/flags/sd.png | bin | 0 -> 492 bytes | |||
| -rwxr-xr-x | static/flags/se.png | bin | 0 -> 542 bytes | |||
| -rwxr-xr-x | static/flags/sg.png | bin | 0 -> 468 bytes | |||
| -rwxr-xr-x | static/flags/sh.png | bin | 0 -> 645 bytes | |||
| -rwxr-xr-x | static/flags/si.png | bin | 0 -> 510 bytes | |||
| -rwxr-xr-x | static/flags/sk.png | bin | 0 -> 562 bytes | |||
| -rwxr-xr-x | static/flags/sl.png | bin | 0 -> 436 bytes | |||
| -rwxr-xr-x | static/flags/sm.png | bin | 0 -> 502 bytes | |||
| -rwxr-xr-x | static/flags/sn.png | bin | 0 -> 532 bytes | |||
| -rwxr-xr-x | static/flags/so.png | bin | 0 -> 527 bytes | |||
| -rwxr-xr-x | static/flags/sr.png | bin | 0 -> 513 bytes | |||
| -rwxr-xr-x | static/flags/st.png | bin | 0 -> 584 bytes | |||
| -rwxr-xr-x | static/flags/sv.png | bin | 0 -> 501 bytes | |||
| -rwxr-xr-x | static/flags/sy.png | bin | 0 -> 422 bytes | |||
| -rwxr-xr-x | static/flags/sz.png | bin | 0 -> 643 bytes | |||
| -rwxr-xr-x | static/flags/tc.png | bin | 0 -> 624 bytes | |||
| -rwxr-xr-x | static/flags/td.png | bin | 0 -> 570 bytes | |||
| -rwxr-xr-x | static/flags/tf.png | bin | 0 -> 527 bytes | |||
| -rwxr-xr-x | static/flags/tg.png | bin | 0 -> 562 bytes | |||
| -rwxr-xr-x | static/flags/th.png | bin | 0 -> 452 bytes | |||
| -rwxr-xr-x | static/flags/tj.png | bin | 0 -> 496 bytes | |||
| -rwxr-xr-x | static/flags/tk.png | bin | 0 -> 638 bytes | |||
| -rwxr-xr-x | static/flags/tl.png | bin | 0 -> 514 bytes | |||
| -rwxr-xr-x | static/flags/tm.png | bin | 0 -> 593 bytes | |||
| -rwxr-xr-x | static/flags/tn.png | bin | 0 -> 495 bytes | |||
| -rwxr-xr-x | static/flags/to.png | bin | 0 -> 426 bytes | |||
| -rwxr-xr-x | static/flags/tr.png | bin | 0 -> 492 bytes | |||
| -rwxr-xr-x | static/flags/tt.png | bin | 0 -> 617 bytes | |||
| -rwxr-xr-x | static/flags/tv.png | bin | 0 -> 536 bytes | |||
| -rwxr-xr-x | static/flags/tw.png | bin | 0 -> 465 bytes | |||
| -rwxr-xr-x | static/flags/tz.png | bin | 0 -> 642 bytes | |||
| -rwxr-xr-x | static/flags/ua.png | bin | 0 -> 446 bytes | |||
| -rwxr-xr-x | static/flags/ug.png | bin | 0 -> 531 bytes | |||
| -rwxr-xr-x | static/flags/um.png | bin | 0 -> 571 bytes | |||
| -rwxr-xr-x | static/flags/us.png | bin | 0 -> 609 bytes | |||
| -rwxr-xr-x | static/flags/uy.png | bin | 0 -> 532 bytes | |||
| -rwxr-xr-x | static/flags/uz.png | bin | 0 -> 515 bytes | |||
| -rwxr-xr-x | static/flags/va.png | bin | 0 -> 553 bytes | |||
| -rwxr-xr-x | static/flags/vc.png | bin | 0 -> 577 bytes | |||
| -rwxr-xr-x | static/flags/ve.png | bin | 0 -> 528 bytes | |||
| -rwxr-xr-x | static/flags/vg.png | bin | 0 -> 630 bytes | |||
| -rwxr-xr-x | static/flags/vi.png | bin | 0 -> 616 bytes | |||
| -rwxr-xr-x | static/flags/vn.png | bin | 0 -> 474 bytes | |||
| -rwxr-xr-x | static/flags/vu.png | bin | 0 -> 604 bytes | |||
| -rwxr-xr-x | static/flags/wf.png | bin | 0 -> 554 bytes | |||
| -rwxr-xr-x | static/flags/ws.png | bin | 0 -> 476 bytes | |||
| -rwxr-xr-x | static/flags/ye.png | bin | 0 -> 413 bytes | |||
| -rwxr-xr-x | static/flags/yt.png | bin | 0 -> 593 bytes | |||
| -rwxr-xr-x | static/flags/za.png | bin | 0 -> 642 bytes | |||
| -rwxr-xr-x | static/flags/zm.png | bin | 0 -> 500 bytes | |||
| -rwxr-xr-x | static/flags/zw.png | bin | 0 -> 574 bytes | |||
| -rw-r--r-- | stylesheets/style.css | 7 | ||||
| -rw-r--r-- | templates/post_reply.html | 14 | ||||
| -rw-r--r-- | templates/post_thread.html | 14 |
245 files changed, 112 insertions, 159 deletions
@@ -10,9 +10,8 @@ It contains many changes from original Tinyboard, mainly in frontend area. About ------------ -Tinyboard is a light-weight, fast, highly configurable and user-friendly -imageboard software package released under a non-restrictive open-source -license. It is written in PHP and has few dependencies. +Tinyboard is a free light-weight, fast, highly configurable and user-friendly +imageboard software package. It is written in PHP and has few dependencies. Requirements ------------ diff --git a/inc/config.php b/inc/config.php index da97b496..686894d1 100644 --- a/inc/config.php +++ b/inc/config.php @@ -391,6 +391,11 @@ // When true, users are instead presented a selectbox for email. Contains, blank, noko and sage. $config['field_email_selectbox'] = false; + // Attach country flags to posts. Requires the PHP "geoip" extension to be installed: + // http://www.php.net/manual/en/intro.geoip.php. In the future, maybe I will find and include a proper + // pure-PHP geolocation library. + $config['country_flags'] = false; + // Require users to see the ban page at least once for a ban even if it has since expired. $config['require_ban_view'] = true; @@ -760,6 +765,17 @@ // Optional HTML to append to "You are banned" pages. For example, you could include instructions and/or // a link to an email address or IRC chat room to appeal the ban. $config['ban_page_extra'] = ''; + + // Display flags (when available). This config option has no effect unless poster flags are enabled (see + // $config['country_flags']). Disable this if you want all previously-assigned flags to be hidden. + $config['display_flags'] = true; + + // Location of post flags/icons (where "%s" is the flag name). Defaults to static/flags/%s.png. + // $config['uri_flags'] = 'http://static.example.org/flags/%s.png'; + + // Width and height (and more?) of post flags. Can be overridden with the Tinyboard post modifier: + // <tinyboard flag style>. + $config['flag_style'] = 'width:16px;height:11px;'; /* * ==================== @@ -970,7 +986,7 @@ // $config['url_favicon'] = '/favicon.gif'; // EXPERIMENTAL: Try not to build pages when we shouldn't have to. - $config['try_smarter'] = false; + $config['try_smarter'] = true; /* * ==================== diff --git a/inc/display.php b/inc/display.php index 68fb1803..d4aa303b 100644 --- a/inc/display.php +++ b/inc/display.php @@ -271,36 +271,25 @@ function embed_html($link) { } class Post { - public function __construct($id, $thread, $subject, $email, $name, $trip, $capcode, $body, $time, $thumb, $thumbx, $thumby, $file, $filex, $filey, $filesize, $filename, $ip, $embed, $root=null, $mod=false) { + public function __construct($post, $root=null, $mod=false) { global $config; if (!isset($root)) $root = &$config['root']; - $this->id = $id; - $this->thread = $thread; - $this->subject = utf8tohtml($subject); - $this->email = $email; - $this->name = utf8tohtml($name); - $this->trip = $trip; - $this->capcode = $capcode; - $this->body = $body; - $this->time = $time; - $this->thumb = $thumb; - $this->thumbx = $thumbx; - $this->thumby = $thumby; - $this->file = $file; - $this->filex = $filex; - $this->filey = $filey; - $this->filesize = $filesize; - $this->filename = $filename; - $this->ip = $ip; - $this->embed = $embed; - $this->root = $root; + foreach ($post as $key => $value) { + $this->{$key} = $value; + } + + $this->subject = utf8tohtml($this->subject); + $this->name = utf8tohtml($this->name); $this->mod = $mod; + $this->root = $root; if ($this->embed) $this->embed = embed_html($this->embed); + $this->modifiers = extract_modifiers($this->body_nomarkup); + if ($this->mod) // Fix internal links // Very complicated regex @@ -373,42 +362,30 @@ class Post { }; class Thread { - public function __construct($id, $subject, $email, $name, $trip, $capcode, $body, $time, $thumb, $thumbx, $thumby, $file, $filex, $filey, $filesize, $filename, $ip, $sticky, $locked, $bumplocked, $embed, $root=null, $mod=false, $hr=true) { + public function __construct($post, $root = null, $mod = false, $hr = true) { global $config; if (!isset($root)) $root = &$config['root']; - $this->id = $id; - $this->subject = utf8tohtml($subject); - $this->email = $email; - $this->name = utf8tohtml($name); - $this->trip = $trip; - $this->capcode = $capcode; - $this->body = $body; - $this->time = $time; - $this->thumb = $thumb; - $this->thumbx = $thumbx; - $this->thumby = $thumby; - $this->file = $file; - $this->filex = $filex; - $this->filey = $filey; - $this->filesize = $filesize; - $this->filename = $filename; - $this->omitted = 0; - $this->omitted_images = 0; - $this->posts = array(); - $this->ip = $ip; - $this->sticky = $sticky; - $this->locked = $locked; - $this->bumplocked = $bumplocked; - $this->embed = $embed; - $this->root = $root; + foreach ($post as $key => $value) { + $this->{$key} = $value; + } + + $this->subject = utf8tohtml($this->subject); + $this->name = utf8tohtml($this->name); $this->mod = $mod; + $this->root = $root; $this->hr = $hr; + + $this->posts = array(); + $this->omitted = 0; + $this->omitted_images = 0; if ($this->embed) $this->embed = embed_html($this->embed); + $this->modifiers = extract_modifiers($this->body_nomarkup); + if ($this->mod) // Fix internal links // Very complicated regex @@ -471,7 +448,7 @@ class Thread { $built .= ' <a title="'._('Make thread sticky').'" href="?/' . secure_link($board['dir'] . 'sticky/' . $this->id) . '">' . $config['mod']['link_sticky'] . '</a>'; if (hasPermission($config['mod']['bumplock'], $board['uri'], $this->mod)) - if ($this->bumplocked) + if ($this->sage) $built .= ' <a title="'._('Allow thread to be bumped').'" href="?/' . secure_link($board['dir'] . 'bumpunlock/' . $this->id) . '">' . $config['mod']['link_bumpunlock'] . '</a>'; else $built .= ' <a title="'._('Prevent thread from being bumped').'" href="?/' . secure_link($board['dir'] . 'bumplock/' . $this->id) . '">' . $config['mod']['link_bumplock'] . '</a>'; @@ -496,10 +473,6 @@ class Thread { return $built; } - public function ratio() { - return fraction($this->filex, $this->filey, ':'); - } - public function build($index=false, $isnoko50=false) { global $board, $config, $debug; diff --git a/inc/functions.php b/inc/functions.php index 32d0b819..dccb59e5 100644 --- a/inc/functions.php +++ b/inc/functions.php @@ -153,6 +153,8 @@ function loadConfig() { $config['url_javascript'] = $config['root'] . $config['file_script']; if (!isset($config['additional_javascript_url'])) $config['additional_javascript_url'] = $config['root']; + if (!isset($config['uri_flags'])) + $config['uri_flags'] = $config['root'] . 'static/flags/%s.png'; if ($config['root_file']) { chdir($config['root_file']); @@ -1052,11 +1054,7 @@ function index($page, $mod=false) { $threads = array(); while ($th = $query->fetch(PDO::FETCH_ASSOC)) { - $thread = new Thread( - $th['id'], $th['subject'], $th['email'], $th['name'], $th['trip'], $th['capcode'], $th['body'], $th['time'], $th['thumb'], - $th['thumbwidth'], $th['thumbheight'], $th['file'], $th['filewidth'], $th['fileheight'], $th['filesize'], $th['filename'], $th['ip'], - $th['sticky'], $th['locked'], $th['sage'], $th['embed'], $mod ? '?/' : $config['root'], $mod - ); + $thread = new Thread($th, $mod ? '?/' : $config['root'], $mod); if ($config['cache']['enabled'] && $cached = cache::get("thread_index_{$board['uri']}_{$th['id']}")) { $replies = $cached['replies']; @@ -1088,11 +1086,7 @@ function index($page, $mod=false) { if ($po['file']) $num_images++; - $thread->add(new Post( - $po['id'], $th['id'], $po['subject'], $po['email'], $po['name'], $po['trip'], $po['capcode'], $po['body'], $po['time'], - $po['thumb'], $po['thumbwidth'], $po['thumbheight'], $po['file'], $po['filewidth'], $po['fileheight'], $po['filesize'], - $po['filename'], $po['ip'], $po['embed'], $mod ? '?/' : $config['root'], $mod) - ); + $thread->add(new Post($po, $mod ? '?/' : $config['root'], $mod)); } if ($omitted) { @@ -1496,55 +1490,33 @@ function unicodify($body) { return $body; } +function extract_modifiers($body) { + $modifiers = array(); + + if (preg_match_all('@<tinyboard ([\w\s]+)>(.+?)</tinyboard>@us', $body, $matches, PREG_SET_ORDER)) { + foreach ($matches as $match) { + if (preg_match('/^escape /', $match[1])) + continue; + $modifiers[$match[1]] = html_entity_decode($match[2]); + } + } + + return $modifiers; +} + function markup(&$body, $track_cites = false) { global $board, $config, $markup_urls; + + $modifiers = extract_modifiers($body); + + $body = preg_replace('@<tinyboard ([\w\s]+)>(.+?)</tinyboard>@us', '', $body); + + if (isset($modifiers['raw html']) && $modifiers['raw html'] == '1') + return $body; $body = str_replace("\r", '', $body); $body = utf8tohtml($body); - if (preg_match_all('@<tinyboard ([\w\s]+)>(.+?)</tinyboard>@us', $body, $modifiers, PREG_SET_ORDER | PREG_OFFSET_CAPTURE)) { - $skip_chars = 0; - $body_tmp = $body; - $end_markup = false; - - foreach ($modifiers as $modifier) { - // preg_match_all is not multibyte-safe - foreach ($modifier as &$match) { - $match[1] = mb_strlen(substr($body_tmp, 0, $match[1])); - } - - $modifier['type'] = $modifier[1][0]; - $modifier['content'] = $modifier[2][0]; - - if ($modifier['type'] == 'ban message') { - // Public ban message - $replacement = sprintf($config['mod']['ban_message'], html_entity_decode($modifier['content'])); - if ($end_markup) { - $body .= $replacement; - } - } elseif ($modifier['type'] == 'raw html') { - $body = html_entity_decode($modifier['content']); - $replacement = ''; - $end_markup = true; - } elseif (preg_match('/^escape /', $modifier['type'])) { - // Escaped (not a real modifier) - $replacement = '<tinyboard ' . substr($modifier['type'], strlen('escape ')) . '>' . $modifier['content'] . '</tinyboard>'; - } else { - // Unknown - $replacement = ''; - } - - if (!$end_markup) { - $body = mb_substr_replace($body, $replacement, $modifier[0][1] + $skip_chars, mb_strlen($modifier[0][0])); - $skip_chars += mb_strlen($replacement) - mb_strlen($modifier[0][0]); - } - } - - if ($end_markup) { - return array(); - } - } - if (mysql_version() < 50503) $body = mb_encode_numericentity($body, array(0x010000, 0xffffff, 0, 0xffffff), 'UTF-8'); @@ -1759,17 +1731,9 @@ function buildThread($id, $return = false, $mod = false) { while ($post = $query->fetch(PDO::FETCH_ASSOC)) { if (!isset($thread)) { - $thread = new Thread( - $post['id'], $post['subject'], $post['email'], $post['name'], $post['trip'], $post['capcode'], $post['body'], $post['time'], - $post['thumb'], $post['thumbwidth'], $post['thumbheight'], $post['file'], $post['filewidth'], $post['fileheight'], $post['filesize'], - $post['filename'], $post['ip'], $post['sticky'], $post['locked'], $post['sage'], $post['embed'], $mod ? '?/' : $config['root'], $mod - ); + $thread = new Thread($post, $mod ? '?/' : $config['root'], $mod); } else { - $thread->add(new Post( - $post['id'], $thread->id, $post['subject'], $post['email'], $post['name'], $post['trip'], $post['capcode'], $post['body'], - $post['time'], $post['thumb'], $post['thumbwidth'], $post['thumbheight'], $post['file'], $post['filewidth'], $post['fileheight'], - $post['filesize'], $post['filename'], $post['ip'], $post['embed'], $mod ? '?/' : $config['root'], $mod) - ); + $thread->add(new Post($post, $mod ? '?/' : $config['root'], $mod)); } } diff --git a/inc/mod/pages.php b/inc/mod/pages.php index 8a743af5..6059fefe 100644 --- a/inc/mod/pages.php +++ b/inc/mod/pages.php @@ -790,19 +790,9 @@ function mod_page_ip($ip) { while ($post = $query->fetch(PDO::FETCH_ASSOC)) { if (!$post['thread']) { - // TODO: There is no reason why this should be such a fucking mess. - $po = new Thread( - $post['id'], $post['subject'], $post['email'], $post['name'], $post['trip'], $post['capcode'], $post['body'], - $post['time'], $post['thumb'], $post['thumbwidth'], $post['thumbheight'], $post['file'], $post['filewidth'], - $post['fileheight'], $post['filesize'], $post['filename'], $post['ip'], $post['sticky'], $post['locked'], - $post['sage'], $post['embed'], '?/', $mod, false - ); + $po = new Thread($post, '?/', $mod, false); } else { - $po = new Post( - $post['id'], $post['thread'], $post['subject'], $post['email'], $post['name'], $post['trip'], $post['capcode'], - $post['body'], $post['time'], $post['thumb'], $post['thumbwidth'], $post['thumbheight'], $post['file'], $post['filewidth'], - $post['fileheight'], $post['filesize'], $post['filename'], $post['ip'], $post['embed'], '?/', $mod - ); + $po = new Post($post, '?/', $mod); } if (!isset($args['posts'][$board['uri']])) @@ -1398,7 +1388,7 @@ function mod_edit_post($board, $edit_raw_html, $postID) { $query->bindValue(':subject', $_POST['subject']); $query->bindValue(':body', $_POST['body']); if ($edit_raw_html) { - $body_nomarkup = '<tinyboard raw html>' . $_POST['body'] . '</tinyboard>'; + $body_nomarkup = $_POST['body'] . '<tinyboard raw html>1</tinyboard>'; $query->bindValue(':body_nomarkup', $body_nomarkup); } $query->execute() or error(db_error($query)); @@ -2012,19 +2002,9 @@ function mod_reports() { if (!$post['thread']) { // Still need to fix this: - $po = new Thread( - $post['id'], $post['subject'], $post['email'], $post['name'], $post['trip'], - $post['capcode'], $post['body'], $post['time'], $post['thumb'], - $post['thumbwidth'], $post['thumbheight'], $post['file'], $post['filewidth'], - $post['fileheight'], $post['filesize'], $post['filename'], $post['ip'], $post['sticky'], - $post['locked'], $post['sage'], $post['embed'], '?/', $mod, false - ); + $po = new Thread($post, '?/', $mod, false); } else { - $po = new Post( - $post['id'], $post['thread'], $post['subject'], $post['email'], $post['name'], $post['trip'], $post['capcode'], - $post['body'], $post['time'], $post['thumb'], $post['thumbwidth'], $post['thumbheight'], $post['file'], $post['filewidth'], - $post['fileheight'], $post['filesize'], $post['filename'], $post['ip'], $post['embed'], '?/', $mod - ); + $po = new Post($post, '?/', $mod); } // a little messy and inefficient diff --git a/js/inline-expanding.js b/js/inline-expanding.js index 398db181..8710d632 100644 --- a/js/inline-expanding.js +++ b/js/inline-expanding.js @@ -16,10 +16,7 @@ onready(function(){ var link = this.getElementsByTagName('a'); for (var i = 0; i < link.length; i++) { - if (typeof link[i] == "object" && link[i].childNodes && typeof link[i].childNodes[0] !== 'undefined' && link[i].childNodes[0].src && link[i].className != 'file') { - if (window.jQuery && !$(link).prev().hasClass('fileinfo')) { - continue; - } + if (typeof link[i] == "object" && link[i].childNodes && typeof link[i].childNodes[0] !== 'undefined' && link[i].childNodes[0].src && link[i].childNodes[0].className.match(/post-image/)) { link[i].childNodes[0].style.maxWidth = '95%'; link[i].onclick = function(e) { if (this.childNodes[0].className == 'hidden') @@ -424,7 +424,16 @@ if (isset($_POST['delete'])) { $post['body'] = escape_markup_modifiers($post['body']); if ($mod && isset($post['raw']) && $post['raw']) { - $post['body'] = '<tinyboard raw html>' . $post['body'] . '</tinyboard>'; + $post['body'] .= '<tinyboard raw html>1</tinyboard>'; + } + + if ($config['country_flags']) { + if (!geoip_db_avail(GEOIP_COUNTRY_EDITION)) { + error('GeoIP not available: ' . geoip_db_filename(GEOIP_COUNTRY_EDITION)); + } + if ($country_code = @geoip_country_code_by_name($_SERVER['REMOTE_ADDR'])) { + $post['body'] .= '<tinyboard flag>' . strtolower($country_code) . '</tinyboard>'; + } } if (mysql_version() >= 50503) { diff --git a/static/flags/ad.png b/static/flags/ad.png Binary files differnew file mode 100755 index 00000000..625ca84f --- /dev/null +++ b/static/flags/ad.png diff --git a/static/flags/ae.png b/static/flags/ae.png Binary files differnew file mode 100755 index 00000000..ef3a1ecf --- /dev/null +++ b/static/flags/ae.png diff --git a/static/flags/af.png b/static/flags/af.png Binary files differnew file mode 100755 index 00000000..a4742e29 --- /dev/null +++ b/static/flags/af.png diff --git a/static/flags/ag.png b/static/flags/ag.png Binary files differnew file mode 100755 index 00000000..556d5504 --- /dev/null +++ b/static/flags/ag.png diff --git a/static/flags/ai.png b/static/flags/ai.png Binary files differnew file mode 100755 index 00000000..74ed29d9 --- /dev/null +++ b/static/flags/ai.png diff --git a/static/flags/al.png b/static/flags/al.png Binary files differnew file mode 100755 index 00000000..92354cb6 --- /dev/null +++ b/static/flags/al.png diff --git a/static/flags/am.png b/static/flags/am.png Binary files differnew file mode 100755 index 00000000..344a2a86 --- /dev/null +++ b/static/flags/am.png diff --git a/static/flags/an.png b/static/flags/an.png Binary files differnew file mode 100755 index 00000000..633e4b89 --- /dev/null +++ b/static/flags/an.png diff --git a/static/flags/ao.png b/static/flags/ao.png Binary files differnew file mode 100755 index 00000000..d6bd64a3 --- /dev/null +++ b/static/flags/ao.png diff --git a/static/flags/ar.png b/static/flags/ar.png Binary files differnew file mode 100755 index 00000000..e5ef8f1f --- /dev/null +++ b/static/flags/ar.png diff --git a/static/flags/as.png b/static/flags/as.png Binary files differnew file mode 100755 index 00000000..32f30e4c --- /dev/null +++ b/static/flags/as.png diff --git a/static/flags/at.png b/static/flags/at.png Binary files differnew file mode 100755 index 00000000..0f15f34f --- /dev/null +++ b/static/flags/at.png diff --git a/static/flags/au.png b/static/flags/au.png Binary files differnew file mode 100755 index 00000000..a01389a7 --- /dev/null +++ b/static/flags/au.png diff --git a/static/flags/aw.png b/static/flags/aw.png Binary files differnew file mode 100755 index 00000000..a3579c2d --- /dev/null +++ b/static/flags/aw.png diff --git a/static/flags/ax.png b/static/flags/ax.png Binary files differnew file mode 100755 index 00000000..1eea80a7 --- /dev/null +++ b/static/flags/ax.png diff --git a/static/flags/az.png b/static/flags/az.png Binary files differnew file mode 100755 index 00000000..4ee9fe5c --- /dev/null +++ b/static/flags/az.png diff --git a/static/flags/ba.png b/static/flags/ba.png Binary files differnew file mode 100755 index 00000000..c7749924 --- /dev/null +++ b/static/flags/ba.png diff --git a/static/flags/bb.png b/static/flags/bb.png Binary files differnew file mode 100755 index 00000000..0df19c71 --- /dev/null +++ b/static/flags/bb.png diff --git a/static/flags/bd.png b/static/flags/bd.png Binary files differnew file mode 100755 index 00000000..076a8bf8 --- /dev/null +++ b/static/flags/bd.png diff --git a/static/flags/be.png b/static/flags/be.png Binary files differnew file mode 100755 index 00000000..d86ebc80 --- /dev/null +++ b/static/flags/be.png diff --git a/static/flags/bf.png b/static/flags/bf.png Binary files differnew file mode 100755 index 00000000..ab5ce8fe --- /dev/null +++ b/static/flags/bf.png diff --git a/static/flags/bg.png b/static/flags/bg.png Binary files differnew file mode 100755 index 00000000..0469f060 --- /dev/null +++ b/static/flags/bg.png diff --git a/static/flags/bh.png b/static/flags/bh.png Binary files differnew file mode 100755 index 00000000..ea8ce687 --- /dev/null +++ b/static/flags/bh.png diff --git a/static/flags/bi.png b/static/flags/bi.png Binary files differnew file mode 100755 index 00000000..5cc2e30c --- /dev/null +++ b/static/flags/bi.png diff --git a/static/flags/bj.png b/static/flags/bj.png Binary files differnew file mode 100755 index 00000000..1cc8b458 --- /dev/null +++ b/static/flags/bj.png diff --git a/static/flags/bm.png b/static/flags/bm.png Binary files differnew file mode 100755 index 00000000..c0c7aead --- /dev/null +++ b/static/flags/bm.png diff --git a/static/flags/bn.png b/static/flags/bn.png Binary files differnew file mode 100755 index 00000000..8fb09849 --- /dev/null +++ b/static/flags/bn.png diff --git a/static/flags/bo.png b/static/flags/bo.png Binary files differnew file mode 100755 index 00000000..ce7ba522 --- /dev/null +++ b/static/flags/bo.png diff --git a/static/flags/br.png b/static/flags/br.png Binary files differnew file mode 100755 index 00000000..9b1a5538 --- /dev/null +++ b/static/flags/br.png diff --git a/static/flags/bs.png b/static/flags/bs.png Binary files differnew file mode 100755 index 00000000..639fa6cf --- /dev/null +++ b/static/flags/bs.png diff --git a/static/flags/bt.png b/static/flags/bt.png Binary files differnew file mode 100755 index 00000000..1d512dff --- /dev/null +++ b/static/flags/bt.png diff --git a/static/flags/bv.png b/static/flags/bv.png Binary files differnew file mode 100755 index 00000000..160b6b5b --- /dev/null +++ b/static/flags/bv.png diff --git a/static/flags/bw.png b/static/flags/bw.png Binary files differnew file mode 100755 index 00000000..fcb10394 --- /dev/null +++ b/static/flags/bw.png diff --git a/static/flags/by.png b/static/flags/by.png Binary files differnew file mode 100755 index 00000000..504774ec --- /dev/null +++ b/static/flags/by.png diff --git a/static/flags/bz.png b/static/flags/bz.png Binary files differnew file mode 100755 index 00000000..be63ee1c --- /dev/null +++ b/static/flags/bz.png diff --git a/static/flags/ca.png b/static/flags/ca.png Binary files differnew file mode 100755 index 00000000..1f204193 --- /dev/null +++ b/static/flags/ca.png diff --git a/static/flags/cc.png b/static/flags/cc.png Binary files differnew file mode 100755 index 00000000..aed3d3b4 --- /dev/null +++ b/static/flags/cc.png diff --git a/static/flags/cd.png b/static/flags/cd.png Binary files differnew file mode 100755 index 00000000..a072ac26 --- /dev/null +++ b/static/flags/cd.png diff --git a/static/flags/cf.png b/static/flags/cf.png Binary files differnew file mode 100755 index 00000000..da687bdc --- /dev/null +++ b/static/flags/cf.png diff --git a/static/flags/cg.png b/static/flags/cg.png Binary files differnew file mode 100755 index 00000000..a859792e --- /dev/null +++ b/static/flags/cg.png diff --git a/static/flags/ch.png b/static/flags/ch.png Binary files differnew file mode 100755 index 00000000..242ec01a --- /dev/null +++ b/static/flags/ch.png diff --git a/static/flags/ci.png b/static/flags/ci.png Binary files differnew file mode 100755 index 00000000..3f2c62eb --- /dev/null +++ b/static/flags/ci.png diff --git a/static/flags/ck.png b/static/flags/ck.png Binary files differnew file mode 100755 index 00000000..746d3d6f --- /dev/null +++ b/static/flags/ck.png diff --git a/static/flags/cl.png b/static/flags/cl.png Binary files differnew file mode 100755 index 00000000..29c6d61b --- /dev/null +++ b/static/flags/cl.png diff --git a/static/flags/cm.png b/static/flags/cm.png Binary files differnew file mode 100755 index 00000000..f65c5bd5 --- /dev/null +++ b/static/flags/cm.png diff --git a/static/flags/cn.png b/static/flags/cn.png Binary files differnew file mode 100755 index 00000000..89144146 --- /dev/null +++ b/static/flags/cn.png diff --git a/static/flags/co.png b/static/flags/co.png Binary files differnew file mode 100755 index 00000000..a118ff4a --- /dev/null +++ b/static/flags/co.png diff --git a/static/flags/cr.png b/static/flags/cr.png Binary files differnew file mode 100755 index 00000000..c7a37317 --- /dev/null +++ b/static/flags/cr.png diff --git a/static/flags/cs.png b/static/flags/cs.png Binary files differnew file mode 100755 index 00000000..8254790c --- /dev/null +++ b/static/flags/cs.png diff --git a/static/flags/cu.png b/static/flags/cu.png Binary files differnew file mode 100755 index 00000000..083f1d61 --- /dev/null +++ b/static/flags/cu.png diff --git a/static/flags/cv.png b/static/flags/cv.png Binary files differnew file mode 100755 index 00000000..a63f7eaf --- /dev/null +++ b/static/flags/cv.png diff --git a/static/flags/cx.png b/static/flags/cx.png Binary files differnew file mode 100755 index 00000000..48e31adb --- /dev/null +++ b/static/flags/cx.png diff --git a/static/flags/cy.png b/static/flags/cy.png Binary files differnew file mode 100755 index 00000000..5b1ad6c0 --- /dev/null +++ b/static/flags/cy.png diff --git a/static/flags/cz.png b/static/flags/cz.png Binary files differnew file mode 100755 index 00000000..c8403dd2 --- /dev/null +++ b/static/flags/cz.png diff --git a/static/flags/de.png b/static/flags/de.png Binary files differnew file mode 100755 index 00000000..ac4a9773 --- /dev/null +++ b/static/flags/de.png diff --git a/static/flags/dj.png b/static/flags/dj.png Binary files differnew file mode 100755 index 00000000..582af364 --- /dev/null +++ b/static/flags/dj.png diff --git a/static/flags/dk.png b/static/flags/dk.png Binary files differnew file mode 100755 index 00000000..e2993d3c --- /dev/null +++ b/static/flags/dk.png diff --git a/static/flags/dm.png b/static/flags/dm.png Binary files differnew file mode 100755 index 00000000..5fbffcba --- /dev/null +++ b/static/flags/dm.png diff --git a/static/flags/do.png b/static/flags/do.png Binary files differnew file mode 100755 index 00000000..5a04932d --- /dev/null +++ b/static/flags/do.png diff --git a/static/flags/dz.png b/static/flags/dz.png Binary files differnew file mode 100755 index 00000000..335c2391 --- /dev/null +++ b/static/flags/dz.png diff --git a/static/flags/ec.png b/static/flags/ec.png Binary files differnew file mode 100755 index 00000000..0caa0b1e --- /dev/null +++ b/static/flags/ec.png diff --git a/static/flags/ee.png b/static/flags/ee.png Binary files differnew file mode 100755 index 00000000..0c82efb7 --- /dev/null +++ b/static/flags/ee.png diff --git a/static/flags/eg.png b/static/flags/eg.png Binary files differnew file mode 100755 index 00000000..8a3f7a10 --- /dev/null +++ b/static/flags/eg.png diff --git a/static/flags/eh.png b/static/flags/eh.png Binary files differnew file mode 100755 index 00000000..90a1195b --- /dev/null +++ b/static/flags/eh.png diff --git a/static/flags/er.png b/static/flags/er.png Binary files differnew file mode 100755 index 00000000..13065ae9 --- /dev/null +++ b/static/flags/er.png diff --git a/static/flags/es.png b/static/flags/es.png Binary files differnew file mode 100755 index 00000000..c2de2d71 --- /dev/null +++ b/static/flags/es.png diff --git a/static/flags/et.png b/static/flags/et.png Binary files differnew file mode 100755 index 00000000..2e893fa0 --- /dev/null +++ b/static/flags/et.png diff --git a/static/flags/fi.png b/static/flags/fi.png Binary files differnew file mode 100755 index 00000000..14ec091b --- /dev/null +++ b/static/flags/fi.png diff --git a/static/flags/fj.png b/static/flags/fj.png Binary files differnew file mode 100755 index 00000000..cee99889 --- /dev/null +++ b/static/flags/fj.png diff --git a/static/flags/fk.png b/static/flags/fk.png Binary files differnew file mode 100755 index 00000000..ceaeb27d --- /dev/null +++ b/static/flags/fk.png diff --git a/static/flags/fm.png b/static/flags/fm.png Binary files differnew file mode 100755 index 00000000..066bb247 --- /dev/null +++ b/static/flags/fm.png diff --git a/static/flags/fo.png b/static/flags/fo.png Binary files differnew file mode 100755 index 00000000..cbceb809 --- /dev/null +++ b/static/flags/fo.png diff --git a/static/flags/fr.png b/static/flags/fr.png Binary files differnew file mode 100755 index 00000000..8332c4ec --- /dev/null +++ b/static/flags/fr.png diff --git a/static/flags/ga.png b/static/flags/ga.png Binary files differnew file mode 100755 index 00000000..0e0d4343 --- /dev/null +++ b/static/flags/ga.png diff --git a/static/flags/gb.png b/static/flags/gb.png Binary files differnew file mode 100755 index 00000000..5c4d301a --- /dev/null +++ b/static/flags/gb.png diff --git a/static/flags/gd.png b/static/flags/gd.png Binary files differnew file mode 100755 index 00000000..9ab57f54 --- /dev/null +++ b/static/flags/gd.png diff --git a/static/flags/ge.png b/static/flags/ge.png Binary files differnew file mode 100755 index 00000000..728d9707 --- /dev/null +++ b/static/flags/ge.png diff --git a/static/flags/gh.png b/static/flags/gh.png Binary files differnew file mode 100755 index 00000000..4e2f8965 --- /dev/null +++ b/static/flags/gh.png diff --git a/static/flags/gi.png b/static/flags/gi.png Binary files differnew file mode 100755 index 00000000..e76797f6 --- /dev/null +++ b/static/flags/gi.png diff --git a/static/flags/gl.png b/static/flags/gl.png Binary files differnew file mode 100755 index 00000000..ef12a73b --- /dev/null +++ b/static/flags/gl.png diff --git a/static/flags/gm.png b/static/flags/gm.png Binary files differnew file mode 100755 index 00000000..0720b667 --- /dev/null +++ b/static/flags/gm.png diff --git a/static/flags/gn.png b/static/flags/gn.png Binary files differnew file mode 100755 index 00000000..ea660b01 --- /dev/null +++ b/static/flags/gn.png diff --git a/static/flags/gp.png b/static/flags/gp.png Binary files differnew file mode 100755 index 00000000..dbb086d0 --- /dev/null +++ b/static/flags/gp.png diff --git a/static/flags/gq.png b/static/flags/gq.png Binary files differnew file mode 100755 index 00000000..ebe20a28 --- /dev/null +++ b/static/flags/gq.png diff --git a/static/flags/gr.png b/static/flags/gr.png Binary files differnew file mode 100755 index 00000000..8651ade7 --- /dev/null +++ b/static/flags/gr.png diff --git a/static/flags/gs.png b/static/flags/gs.png Binary files differnew file mode 100755 index 00000000..7ef0bf59 --- /dev/null +++ b/static/flags/gs.png diff --git a/static/flags/gt.png b/static/flags/gt.png Binary files differnew file mode 100755 index 00000000..c43a70d3 --- /dev/null +++ b/static/flags/gt.png diff --git a/static/flags/gu.png b/static/flags/gu.png Binary files differnew file mode 100755 index 00000000..92f37c05 --- /dev/null +++ b/static/flags/gu.png diff --git a/static/flags/gw.png b/static/flags/gw.png Binary files differnew file mode 100755 index 00000000..b37bcf06 --- /dev/null +++ b/static/flags/gw.png diff --git a/static/flags/gy.png b/static/flags/gy.png Binary files differnew file mode 100755 index 00000000..22cbe2f5 --- /dev/null +++ b/static/flags/gy.png diff --git a/static/flags/hk.png b/static/flags/hk.png Binary files differnew file mode 100755 index 00000000..d5c380ca --- /dev/null +++ b/static/flags/hk.png diff --git a/static/flags/hn.png b/static/flags/hn.png Binary files differnew file mode 100755 index 00000000..96f83885 --- /dev/null +++ b/static/flags/hn.png diff --git a/static/flags/hr.png b/static/flags/hr.png Binary files differnew file mode 100755 index 00000000..696b5154 --- /dev/null +++ b/static/flags/hr.png diff --git a/static/flags/ht.png b/static/flags/ht.png Binary files differnew file mode 100755 index 00000000..416052af --- /dev/null +++ b/static/flags/ht.png diff --git a/static/flags/hu.png b/static/flags/hu.png Binary files differnew file mode 100755 index 00000000..7baafe44 --- /dev/null +++ b/static/flags/hu.png diff --git a/static/flags/id.png b/static/flags/id.png Binary files differnew file mode 100755 index 00000000..c6bc0faf --- /dev/null +++ b/static/flags/id.png diff --git a/static/flags/ie.png b/static/flags/ie.png Binary files differnew file mode 100755 index 00000000..26baa31e --- /dev/null +++ b/static/flags/ie.png diff --git a/static/flags/il.png b/static/flags/il.png Binary files differnew file mode 100755 index 00000000..2ca772d0 --- /dev/null +++ b/static/flags/il.png diff --git a/static/flags/in.png b/static/flags/in.png Binary files differnew file mode 100755 index 00000000..e4d7e81a --- /dev/null +++ b/static/flags/in.png diff --git a/static/flags/io.png b/static/flags/io.png Binary files differnew file mode 100755 index 00000000..3e74b6a3 --- /dev/null +++ b/static/flags/io.png diff --git a/static/flags/iq.png b/static/flags/iq.png Binary files differnew file mode 100755 index 00000000..878a3514 --- /dev/null +++ b/static/flags/iq.png diff --git a/static/flags/ir.png b/static/flags/ir.png Binary files differnew file mode 100755 index 00000000..c5fd136a --- /dev/null +++ b/static/flags/ir.png diff --git a/static/flags/is.png b/static/flags/is.png Binary files differnew file mode 100755 index 00000000..b8f6d0f0 --- /dev/null +++ b/static/flags/is.png diff --git a/static/flags/it.png b/static/flags/it.png Binary files differnew file mode 100755 index 00000000..89692f74 --- /dev/null +++ b/static/flags/it.png diff --git a/static/flags/jm.png b/static/flags/jm.png Binary files differnew file mode 100755 index 00000000..7be119e0 --- /dev/null +++ b/static/flags/jm.png diff --git a/static/flags/jo.png b/static/flags/jo.png Binary files differnew file mode 100755 index 00000000..11bd4972 --- /dev/null +++ b/static/flags/jo.png diff --git a/static/flags/jp.png b/static/flags/jp.png Binary files differnew file mode 100755 index 00000000..325fbad3 --- /dev/null +++ b/static/flags/jp.png diff --git a/static/flags/ke.png b/static/flags/ke.png Binary files differnew file mode 100755 index 00000000..51879adf --- /dev/null +++ b/static/flags/ke.png diff --git a/static/flags/kg.png b/static/flags/kg.png Binary files differnew file mode 100755 index 00000000..0a818f67 --- /dev/null +++ b/static/flags/kg.png diff --git a/static/flags/kh.png b/static/flags/kh.png Binary files differnew file mode 100755 index 00000000..30f6bb1b --- /dev/null +++ b/static/flags/kh.png diff --git a/static/flags/ki.png b/static/flags/ki.png Binary files differnew file mode 100755 index 00000000..2dcce4b3 --- /dev/null +++ b/static/flags/ki.png diff --git a/static/flags/km.png b/static/flags/km.png Binary files differnew file mode 100755 index 00000000..812b2f56 --- /dev/null +++ b/static/flags/km.png diff --git a/static/flags/kn.png b/static/flags/kn.png Binary files differnew file mode 100755 index 00000000..febd5b48 --- /dev/null +++ b/static/flags/kn.png diff --git a/static/flags/kp.png b/static/flags/kp.png Binary files differnew file mode 100755 index 00000000..d3d509aa --- /dev/null +++ b/static/flags/kp.png diff --git a/static/flags/kr.png b/static/flags/kr.png Binary files differnew file mode 100755 index 00000000..9c0a78eb --- /dev/null +++ b/static/flags/kr.png diff --git a/static/flags/kw.png b/static/flags/kw.png Binary files differnew file mode 100755 index 00000000..96546da3 --- /dev/null +++ b/static/flags/kw.png diff --git a/static/flags/ky.png b/static/flags/ky.png Binary files differnew file mode 100755 index 00000000..15c5f8e4 --- /dev/null +++ b/static/flags/ky.png diff --git a/static/flags/kz.png b/static/flags/kz.png Binary files differnew file mode 100755 index 00000000..45a8c887 --- /dev/null +++ b/static/flags/kz.png diff --git a/static/flags/la.png b/static/flags/la.png Binary files differnew file mode 100755 index 00000000..e28acd01 --- /dev/null +++ b/static/flags/la.png diff --git a/static/flags/lb.png b/static/flags/lb.png Binary files differnew file mode 100755 index 00000000..d0d452bf --- /dev/null +++ b/static/flags/lb.png diff --git a/static/flags/lc.png b/static/flags/lc.png Binary files differnew file mode 100755 index 00000000..8fc12b4a --- /dev/null +++ b/static/flags/lc.png diff --git a/static/flags/li.png b/static/flags/li.png Binary files differnew file mode 100755 index 00000000..6469909c --- /dev/null +++ b/static/flags/li.png diff --git a/static/flags/lk.png b/static/flags/lk.png Binary files differnew file mode 100755 index 00000000..088aad6d --- /dev/null +++ b/static/flags/lk.png diff --git a/static/flags/lr.png b/static/flags/lr.png Binary files differnew file mode 100755 index 00000000..89a5bc7e --- /dev/null +++ b/static/flags/lr.png diff --git a/static/flags/ls.png b/static/flags/ls.png Binary files differnew file mode 100755 index 00000000..33fdef10 --- /dev/null +++ b/static/flags/ls.png diff --git a/static/flags/lt.png b/static/flags/lt.png Binary files differnew file mode 100755 index 00000000..c8ef0da0 --- /dev/null +++ b/static/flags/lt.png diff --git a/static/flags/lu.png b/static/flags/lu.png Binary files differnew file mode 100755 index 00000000..4cabba98 --- /dev/null +++ b/static/flags/lu.png diff --git a/static/flags/lv.png b/static/flags/lv.png Binary files differnew file mode 100755 index 00000000..49b69981 --- /dev/null +++ b/static/flags/lv.png diff --git a/static/flags/ly.png b/static/flags/ly.png Binary files differnew file mode 100755 index 00000000..b163a9f8 --- /dev/null +++ b/static/flags/ly.png diff --git a/static/flags/ma.png b/static/flags/ma.png Binary files differnew file mode 100755 index 00000000..f3867702 --- /dev/null +++ b/static/flags/ma.png diff --git a/static/flags/mc.png b/static/flags/mc.png Binary files differnew file mode 100755 index 00000000..1aa830f1 --- /dev/null +++ b/static/flags/mc.png diff --git a/static/flags/md.png b/static/flags/md.png Binary files differnew file mode 100755 index 00000000..4e92c189 --- /dev/null +++ b/static/flags/md.png diff --git a/static/flags/mg.png b/static/flags/mg.png Binary files differnew file mode 100755 index 00000000..d2715b3d --- /dev/null +++ b/static/flags/mg.png diff --git a/static/flags/mh.png b/static/flags/mh.png Binary files differnew file mode 100755 index 00000000..fb523a8c --- /dev/null +++ b/static/flags/mh.png diff --git a/static/flags/mk.png b/static/flags/mk.png Binary files differnew file mode 100755 index 00000000..db173aaf --- /dev/null +++ b/static/flags/mk.png diff --git a/static/flags/ml.png b/static/flags/ml.png Binary files differnew file mode 100755 index 00000000..2cec8ba4 --- /dev/null +++ b/static/flags/ml.png diff --git a/static/flags/mm.png b/static/flags/mm.png Binary files differnew file mode 100755 index 00000000..f464f67f --- /dev/null +++ b/static/flags/mm.png diff --git a/static/flags/mn.png b/static/flags/mn.png Binary files differnew file mode 100755 index 00000000..9396355d --- /dev/null +++ b/static/flags/mn.png diff --git a/static/flags/mo.png b/static/flags/mo.png Binary files differnew file mode 100755 index 00000000..deb801dd --- /dev/null +++ b/static/flags/mo.png diff --git a/static/flags/mp.png b/static/flags/mp.png Binary files differnew file mode 100755 index 00000000..298d588b --- /dev/null +++ b/static/flags/mp.png diff --git a/static/flags/mq.png b/static/flags/mq.png Binary files differnew file mode 100755 index 00000000..010143b3 --- /dev/null +++ b/static/flags/mq.png diff --git a/static/flags/mr.png b/static/flags/mr.png Binary files differnew file mode 100755 index 00000000..319546b1 --- /dev/null +++ b/static/flags/mr.png diff --git a/static/flags/ms.png b/static/flags/ms.png Binary files differnew file mode 100755 index 00000000..d4cbb433 --- /dev/null +++ b/static/flags/ms.png diff --git a/static/flags/mt.png b/static/flags/mt.png Binary files differnew file mode 100755 index 00000000..00af9487 --- /dev/null +++ b/static/flags/mt.png diff --git a/static/flags/mu.png b/static/flags/mu.png Binary files differnew file mode 100755 index 00000000..b7fdce1b --- /dev/null +++ b/static/flags/mu.png diff --git a/static/flags/mv.png b/static/flags/mv.png Binary files differnew file mode 100755 index 00000000..5073d9ec --- /dev/null +++ b/static/flags/mv.png diff --git a/static/flags/mw.png b/static/flags/mw.png Binary files differnew file mode 100755 index 00000000..13886e9f --- /dev/null +++ b/static/flags/mw.png diff --git a/static/flags/mx.png b/static/flags/mx.png Binary files differnew file mode 100755 index 00000000..5bc58ab3 --- /dev/null +++ b/static/flags/mx.png diff --git a/static/flags/my.png b/static/flags/my.png Binary files differnew file mode 100755 index 00000000..9034cbab --- /dev/null +++ b/static/flags/my.png diff --git a/static/flags/mz.png b/static/flags/mz.png Binary files differnew file mode 100755 index 00000000..76405e06 --- /dev/null +++ b/static/flags/mz.png diff --git a/static/flags/na.png b/static/flags/na.png Binary files differnew file mode 100755 index 00000000..63358c67 --- /dev/null +++ b/static/flags/na.png diff --git a/static/flags/nc.png b/static/flags/nc.png Binary files differnew file mode 100755 index 00000000..2cad2837 --- /dev/null +++ b/static/flags/nc.png diff --git a/static/flags/ne.png b/static/flags/ne.png Binary files differnew file mode 100755 index 00000000..d85f424f --- /dev/null +++ b/static/flags/ne.png diff --git a/static/flags/nf.png b/static/flags/nf.png Binary files differnew file mode 100755 index 00000000..f9bcdda1 --- /dev/null +++ b/static/flags/nf.png diff --git a/static/flags/ng.png b/static/flags/ng.png Binary files differnew file mode 100755 index 00000000..3eea2e02 --- /dev/null +++ b/static/flags/ng.png diff --git a/static/flags/ni.png b/static/flags/ni.png Binary files differnew file mode 100755 index 00000000..3969aaaa --- /dev/null +++ b/static/flags/ni.png diff --git a/static/flags/nl.png b/static/flags/nl.png Binary files differnew file mode 100755 index 00000000..fe44791e --- /dev/null +++ b/static/flags/nl.png diff --git a/static/flags/no.png b/static/flags/no.png Binary files differnew file mode 100755 index 00000000..160b6b5b --- /dev/null +++ b/static/flags/no.png diff --git a/static/flags/np.png b/static/flags/np.png Binary files differnew file mode 100755 index 00000000..aeb058b7 --- /dev/null +++ b/static/flags/np.png diff --git a/static/flags/nr.png b/static/flags/nr.png Binary files differnew file mode 100755 index 00000000..705fc337 --- /dev/null +++ b/static/flags/nr.png diff --git a/static/flags/nu.png b/static/flags/nu.png Binary files differnew file mode 100755 index 00000000..c3ce4aed --- /dev/null +++ b/static/flags/nu.png diff --git a/static/flags/nz.png b/static/flags/nz.png Binary files differnew file mode 100755 index 00000000..10d6306d --- /dev/null +++ b/static/flags/nz.png diff --git a/static/flags/om.png b/static/flags/om.png Binary files differnew file mode 100755 index 00000000..2ffba7e8 --- /dev/null +++ b/static/flags/om.png diff --git a/static/flags/pa.png b/static/flags/pa.png Binary files differnew file mode 100755 index 00000000..9b2ee9a7 --- /dev/null +++ b/static/flags/pa.png diff --git a/static/flags/pe.png b/static/flags/pe.png Binary files differnew file mode 100755 index 00000000..62a04977 --- /dev/null +++ b/static/flags/pe.png diff --git a/static/flags/pf.png b/static/flags/pf.png Binary files differnew file mode 100755 index 00000000..771a0f65 --- /dev/null +++ b/static/flags/pf.png diff --git a/static/flags/pg.png b/static/flags/pg.png Binary files differnew file mode 100755 index 00000000..10d62334 --- /dev/null +++ b/static/flags/pg.png diff --git a/static/flags/ph.png b/static/flags/ph.png Binary files differnew file mode 100755 index 00000000..b89e1593 --- /dev/null +++ b/static/flags/ph.png diff --git a/static/flags/pk.png b/static/flags/pk.png Binary files differnew file mode 100755 index 00000000..e9df70ca --- /dev/null +++ b/static/flags/pk.png diff --git a/static/flags/pl.png b/static/flags/pl.png Binary files differnew file mode 100755 index 00000000..d413d010 --- /dev/null +++ b/static/flags/pl.png diff --git a/static/flags/pm.png b/static/flags/pm.png Binary files differnew file mode 100755 index 00000000..ba91d2c7 --- /dev/null +++ b/static/flags/pm.png diff --git a/static/flags/pn.png b/static/flags/pn.png Binary files differnew file mode 100755 index 00000000..aa9344f5 --- /dev/null +++ b/static/flags/pn.png diff --git a/static/flags/pr.png b/static/flags/pr.png Binary files differnew file mode 100755 index 00000000..82d9130d --- /dev/null +++ b/static/flags/pr.png diff --git a/static/flags/ps.png b/static/flags/ps.png Binary files differnew file mode 100755 index 00000000..f5f54776 --- /dev/null +++ b/static/flags/ps.png diff --git a/static/flags/pt.png b/static/flags/pt.png Binary files differnew file mode 100755 index 00000000..ece79801 --- /dev/null +++ b/static/flags/pt.png diff --git a/static/flags/pw.png b/static/flags/pw.png Binary files differnew file mode 100755 index 00000000..6178b254 --- /dev/null +++ b/static/flags/pw.png diff --git a/static/flags/py.png b/static/flags/py.png Binary files differnew file mode 100755 index 00000000..cb8723c0 --- /dev/null +++ b/static/flags/py.png diff --git a/static/flags/qa.png b/static/flags/qa.png Binary files differnew file mode 100755 index 00000000..ed4c621f --- /dev/null +++ b/static/flags/qa.png diff --git a/static/flags/ro.png b/static/flags/ro.png Binary files differnew file mode 100755 index 00000000..57e74a65 --- /dev/null +++ b/static/flags/ro.png diff --git a/static/flags/ru.png b/static/flags/ru.png Binary files differnew file mode 100755 index 00000000..47da4214 --- /dev/null +++ b/static/flags/ru.png diff --git a/static/flags/rw.png b/static/flags/rw.png Binary files differnew file mode 100755 index 00000000..53564917 --- /dev/null +++ b/static/flags/rw.png diff --git a/static/flags/sa.png b/static/flags/sa.png Binary files differnew file mode 100755 index 00000000..b4641c7e --- /dev/null +++ b/static/flags/sa.png diff --git a/static/flags/sb.png b/static/flags/sb.png Binary files differnew file mode 100755 index 00000000..a9937ccf --- /dev/null +++ b/static/flags/sb.png diff --git a/static/flags/sc.png b/static/flags/sc.png Binary files differnew file mode 100755 index 00000000..39ee3718 --- /dev/null +++ b/static/flags/sc.png diff --git a/static/flags/sd.png b/static/flags/sd.png Binary files differnew file mode 100755 index 00000000..eaab69eb --- /dev/null +++ b/static/flags/sd.png diff --git a/static/flags/se.png b/static/flags/se.png Binary files differnew file mode 100755 index 00000000..1994653d --- /dev/null +++ b/static/flags/se.png diff --git a/static/flags/sg.png b/static/flags/sg.png Binary files differnew file mode 100755 index 00000000..dd34d612 --- /dev/null +++ b/static/flags/sg.png diff --git a/static/flags/sh.png b/static/flags/sh.png Binary files differnew file mode 100755 index 00000000..4b1d2a29 --- /dev/null +++ b/static/flags/sh.png diff --git a/static/flags/si.png b/static/flags/si.png Binary files differnew file mode 100755 index 00000000..bb1476ff --- /dev/null +++ b/static/flags/si.png diff --git a/static/flags/sk.png b/static/flags/sk.png Binary files differnew file mode 100755 index 00000000..7ccbc827 --- /dev/null +++ b/static/flags/sk.png diff --git a/static/flags/sl.png b/static/flags/sl.png Binary files differnew file mode 100755 index 00000000..12d812d2 --- /dev/null +++ b/static/flags/sl.png diff --git a/static/flags/sm.png b/static/flags/sm.png Binary files differnew file mode 100755 index 00000000..3df2fdcf --- /dev/null +++ b/static/flags/sm.png diff --git a/static/flags/sn.png b/static/flags/sn.png Binary files differnew file mode 100755 index 00000000..eabb71db --- /dev/null +++ b/static/flags/sn.png diff --git a/static/flags/so.png b/static/flags/so.png Binary files differnew file mode 100755 index 00000000..4a1ea4b2 --- /dev/null +++ b/static/flags/so.png diff --git a/static/flags/sr.png b/static/flags/sr.png Binary files differnew file mode 100755 index 00000000..5eff9271 --- /dev/null +++ b/static/flags/sr.png diff --git a/static/flags/st.png b/static/flags/st.png Binary files differnew file mode 100755 index 00000000..2978557b --- /dev/null +++ b/static/flags/st.png diff --git a/static/flags/sv.png b/static/flags/sv.png Binary files differnew file mode 100755 index 00000000..24987990 --- /dev/null +++ b/static/flags/sv.png diff --git a/static/flags/sy.png b/static/flags/sy.png Binary files differnew file mode 100755 index 00000000..f5ce30dc --- /dev/null +++ b/static/flags/sy.png diff --git a/static/flags/sz.png b/static/flags/sz.png Binary files differnew file mode 100755 index 00000000..914ee861 --- /dev/null +++ b/static/flags/sz.png diff --git a/static/flags/tc.png b/static/flags/tc.png Binary files differnew file mode 100755 index 00000000..8fc1156b --- /dev/null +++ b/static/flags/tc.png diff --git a/static/flags/td.png b/static/flags/td.png Binary files differnew file mode 100755 index 00000000..667f21fd --- /dev/null +++ b/static/flags/td.png diff --git a/static/flags/tf.png b/static/flags/tf.png Binary files differnew file mode 100755 index 00000000..80529a43 --- /dev/null +++ b/static/flags/tf.png diff --git a/static/flags/tg.png b/static/flags/tg.png Binary files differnew file mode 100755 index 00000000..3aa00ad4 --- /dev/null +++ b/static/flags/tg.png diff --git a/static/flags/th.png b/static/flags/th.png Binary files differnew file mode 100755 index 00000000..dd8ba917 --- /dev/null +++ b/static/flags/th.png diff --git a/static/flags/tj.png b/static/flags/tj.png Binary files differnew file mode 100755 index 00000000..617bf645 --- /dev/null +++ b/static/flags/tj.png diff --git a/static/flags/tk.png b/static/flags/tk.png Binary files differnew file mode 100755 index 00000000..67b8c8cb --- /dev/null +++ b/static/flags/tk.png diff --git a/static/flags/tl.png b/static/flags/tl.png Binary files differnew file mode 100755 index 00000000..77da181e --- /dev/null +++ b/static/flags/tl.png diff --git a/static/flags/tm.png b/static/flags/tm.png Binary files differnew file mode 100755 index 00000000..828020ec --- /dev/null +++ b/static/flags/tm.png diff --git a/static/flags/tn.png b/static/flags/tn.png Binary files differnew file mode 100755 index 00000000..183cdd3d --- /dev/null +++ b/static/flags/tn.png diff --git a/static/flags/to.png b/static/flags/to.png Binary files differnew file mode 100755 index 00000000..f89b8ba7 --- /dev/null +++ b/static/flags/to.png diff --git a/static/flags/tr.png b/static/flags/tr.png Binary files differnew file mode 100755 index 00000000..be32f77e --- /dev/null +++ b/static/flags/tr.png diff --git a/static/flags/tt.png b/static/flags/tt.png Binary files differnew file mode 100755 index 00000000..2a11c1e2 --- /dev/null +++ b/static/flags/tt.png diff --git a/static/flags/tv.png b/static/flags/tv.png Binary files differnew file mode 100755 index 00000000..28274c5f --- /dev/null +++ b/static/flags/tv.png diff --git a/static/flags/tw.png b/static/flags/tw.png Binary files differnew file mode 100755 index 00000000..f31c654c --- /dev/null +++ b/static/flags/tw.png diff --git a/static/flags/tz.png b/static/flags/tz.png Binary files differnew file mode 100755 index 00000000..c00ff796 --- /dev/null +++ b/static/flags/tz.png diff --git a/static/flags/ua.png b/static/flags/ua.png Binary files differnew file mode 100755 index 00000000..09563a21 --- /dev/null +++ b/static/flags/ua.png diff --git a/static/flags/ug.png b/static/flags/ug.png Binary files differnew file mode 100755 index 00000000..33f4affa --- /dev/null +++ b/static/flags/ug.png diff --git a/static/flags/um.png b/static/flags/um.png Binary files differnew file mode 100755 index 00000000..c1dd9654 --- /dev/null +++ b/static/flags/um.png diff --git a/static/flags/us.png b/static/flags/us.png Binary files differnew file mode 100755 index 00000000..10f451fe --- /dev/null +++ b/static/flags/us.png diff --git a/static/flags/uy.png b/static/flags/uy.png Binary files differnew file mode 100755 index 00000000..31d948a0 --- /dev/null +++ b/static/flags/uy.png diff --git a/static/flags/uz.png b/static/flags/uz.png Binary files differnew file mode 100755 index 00000000..fef5dc17 --- /dev/null +++ b/static/flags/uz.png diff --git a/static/flags/va.png b/static/flags/va.png Binary files differnew file mode 100755 index 00000000..b31eaf22 --- /dev/null +++ b/static/flags/va.png diff --git a/static/flags/vc.png b/static/flags/vc.png Binary files differnew file mode 100755 index 00000000..8fa17b06 --- /dev/null +++ b/static/flags/vc.png diff --git a/static/flags/ve.png b/static/flags/ve.png Binary files differnew file mode 100755 index 00000000..00c90f9a --- /dev/null +++ b/static/flags/ve.png diff --git a/static/flags/vg.png b/static/flags/vg.png Binary files differnew file mode 100755 index 00000000..41569079 --- /dev/null +++ b/static/flags/vg.png diff --git a/static/flags/vi.png b/static/flags/vi.png Binary files differnew file mode 100755 index 00000000..ed26915a --- /dev/null +++ b/static/flags/vi.png diff --git a/static/flags/vn.png b/static/flags/vn.png Binary files differnew file mode 100755 index 00000000..ec7cd48a --- /dev/null +++ b/static/flags/vn.png diff --git a/static/flags/vu.png b/static/flags/vu.png Binary files differnew file mode 100755 index 00000000..b3397bc6 --- /dev/null +++ b/static/flags/vu.png diff --git a/static/flags/wf.png b/static/flags/wf.png Binary files differnew file mode 100755 index 00000000..9f955873 --- /dev/null +++ b/static/flags/wf.png diff --git a/static/flags/ws.png b/static/flags/ws.png Binary files differnew file mode 100755 index 00000000..c1695080 --- /dev/null +++ b/static/flags/ws.png diff --git a/static/flags/ye.png b/static/flags/ye.png Binary files differnew file mode 100755 index 00000000..468dfad0 --- /dev/null +++ b/static/flags/ye.png diff --git a/static/flags/yt.png b/static/flags/yt.png Binary files differnew file mode 100755 index 00000000..c298f378 --- /dev/null +++ b/static/flags/yt.png diff --git a/static/flags/za.png b/static/flags/za.png Binary files differnew file mode 100755 index 00000000..57c58e21 --- /dev/null +++ b/static/flags/za.png diff --git a/static/flags/zm.png b/static/flags/zm.png Binary files differnew file mode 100755 index 00000000..c25b07be --- /dev/null +++ b/static/flags/zm.png diff --git a/static/flags/zw.png b/static/flags/zw.png Binary files differnew file mode 100755 index 00000000..53c97259 --- /dev/null +++ b/static/flags/zw.png diff --git a/stylesheets/style.css b/stylesheets/style.css index fbb5370f..f75cfadb 100644 --- a/stylesheets/style.css +++ b/stylesheets/style.css @@ -125,23 +125,22 @@ div.banner a:hover { text-decoration: none; } img.banner { - float: none; + display: block; border: 1px solid #a9a9a9; margin: 12px auto 0 auto; } -img { +img.post-image { display: block; float: left; margin: 10px 20px; border: none; } -div.post img { +div.post img.post-image { padding: 5px; margin: 5px 20px 0 0; } div.post img.icon { display: inline; - float: none; margin: 0 5px; padding: 0; } diff --git a/templates/post_reply.html b/templates/post_reply.html index b0391f19..518a8edf 100644 --- a/templates/post_reply.html +++ b/templates/post_reply.html @@ -28,6 +28,11 @@ {% if post.mod and post.mod|hasPermission(config.mod.show_ip, board.uri) %} [<a style="margin:0;" href="?/IP/{{ post.ip }}">{{ post.ip }}</a>] {% endif %} + {% if config.display_flags and post.modifiers.flag %} + <img class="flag" src="{{ config.uri_flags|sprintf(post.modifiers.flag) }}" + style="{% if post.modifiers['flag style'] %}{{ post.modifiers['flag style'] }}{% else %}{{ config.flag_style }}{% endif %}" + {% if post.modifiers['flag alt'] %}title="{{ post.modifiers['flag alt'] | e('html_attr') }}"{% endif %}> + {% endif %} <time datetime="{{ post.time|date('%Y-%m-%dT%H:%M:%S') }}{{ timezone() }}">{{ post.time|date(config.post_date) }}</time> </label> {% if config.poster_ids %} @@ -49,7 +54,7 @@ {% if post.embed %} {{ post.embed }} {% elseif post.file == 'deleted' %} - <img src="{{ config.image_deleted }}" alt="" /> + <img class="post-image deleted" src="{{ config.image_deleted }}" alt="" /> {% elseif post.file and post.file %} <p class="fileinfo">File: <a href="{{ config.uri_img }}{{ post.file }}">{{ post.file }}</a> <span class="unimportant"> ( @@ -87,7 +92,7 @@ </span> </p> <a href="{{ config.uri_img }}{{ post.file }}" target="_blank"{% if post.thumb == 'file' %} class="file"{% endif %}> - <img src=" + <img class="post-image" src=" {% if post.thumb == 'file' %} {{ config.root }} {% if config.file_icons[post.filename|extension] %} @@ -99,12 +104,15 @@ {{ config.root }}{{ config.spoiler_image }} {% else %} {{ config.uri_thumb }}{{ post.thumb }} - {% endif %}" style="width:{{ post.thumbx }}px;height:{{ post.thumby }}px" alt="" /> + {% endif %}" style="width:{{ post.thumbwidth }}px;height:{{ post.thumbheight }}px" alt="" /> </a> {% endif %} {{ post.postControls }} <div class="body"> {% endfilter %}{% if index %}{{ post.body|truncate_body(post.link) }}{% else %}{{ post.body }}{% endif %}{% filter remove_whitespace %} + {% if post.modifiers['ban message'] %} + {{ config.mod.ban_message|sprintf(post.modifiers['ban message']) }} + {% endif %} </div> </div> <br/> diff --git a/templates/post_thread.html b/templates/post_thread.html index 60218acb..dc788082 100644 --- a/templates/post_thread.html +++ b/templates/post_thread.html @@ -6,7 +6,7 @@ {% if post.embed %} {{ post.embed }} {% elseif post.file == 'deleted' %} - <img src="{{ config.image_deleted }}" alt="" /> + <img class="post-image deleted" src="{{ config.image_deleted }}" alt="" /> {% elseif post.file and post.file %} <p class="fileinfo">{% trans %}File:{% endtrans %} <a href="{{ config.uri_img }}{{ post.file }}">{{ post.file }}</a> <span class="unimportant"> ( @@ -42,7 +42,7 @@ ) </span></p> <a href="{{ config.uri_img }}{{ post.file }}" target="_blank"{% if post.thumb == 'file' %} class="file"{% endif %}> -<img src=" +<img class="post-image" src=" {% if post.thumb == 'file' %} {{ config.root }} {% if config.file_icons[post.filename|extension] %} @@ -54,7 +54,7 @@ {{ config.root }}{{ config.spoiler_image }} {% else %} {{ config.uri_thumb }}{{ post.thumb }} - {% endif %}" style="width:{{ post.thumbx }}px;height:{{ post.thumby }}px" alt="" /></a> + {% endif %}" style="width:{{ post.thumbwidth }}px;height:{{ post.thumbheight }}px" alt="" /></a> {% endif %} <div class="post op"><p class="intro"{% if not index %} id="{{ post.id }}"{% endif %}> <input type="checkbox" class="delete" name="delete_{{ post.id }}" id="delete_{{ post.id }}" /> @@ -82,6 +82,11 @@ {% if post.mod and post.mod|hasPermission(config.mod.show_ip, board.uri) %} [<a style="margin:0;" href="?/IP/{{ post.ip }}">{{ post.ip }}</a>] {% endif %} + {% if config.display_flags and post.modifiers.flag %} + <img class="flag" src="{{ config.uri_flags|sprintf(post.modifiers.flag) }}" + style="{% if post.modifiers['flag style'] %}{{ post.modifiers['flag style'] }}{% else %}{{ config.flag_style }}{% endif %}" + {% if post.modifiers['flag alt'] %}title="{{ post.modifiers['flag alt'] | e('html_attr') }}"{% endif %}> + {% endif %} <time datetime="{{ post.time|date('%Y-%m-%dT%H:%M:%S') }}{{ timezone() }}">{{ post.time|date(config.post_date) }}</time> </label> {% if config.poster_ids %} @@ -134,6 +139,9 @@ </p> <div class="body"> {% endfilter %}{% if index %}{{ post.body|truncate_body(post.link) }}{% else %}{{ post.body }}{% endif %}{% filter remove_whitespace %} + {% if post.modifiers['ban message'] %} + {{ config.mod.ban_message|sprintf(post.modifiers['ban message']) }} + {% endif %} </div> {% if post.omitted or post.omitted_images %} <span class="omitted"> |
