From 968d0b7b53847fcb566fbbfa96e6e8a5c26cf01f Mon Sep 17 00:00:00 2001 From: pioder Date: Fri, 1 May 2009 08:28:11 +0000 Subject: [PATCH] Added files - test git-svn-id: https://svn.pioder.pl/uf-svn/uF@11 72ec579a-5ced-4fa4-82f3-afba5d98df2f --- admin/admin_forums.php | 587 +++++++++++++++ admin/admin_groups.php | 248 +++++++ admin/admin_script.php | 415 +++++++++++ admin/admin_users.php | 458 ++++++++++++ admin/banlist.php | 377 ++++++++++ admin/censorlist.php | 205 ++++++ admin/check_script.php | 197 +++++ admin/check_script_data.php | 64 ++ admin/forum_info.php | 107 +++ admin/header.php | 46 ++ admin/index.php | 66 ++ admin/info.php | 1 + admin/mass_email.php | 67 ++ admin/smilelist.php | 230 ++++++ admin/styles.php | 112 +++ admin/template/admin_script.tpl | 382 ++++++++++ admin/template/banlist_add_file_body.tpl | 52 ++ admin/template/banlist_add_ip_body.tpl | 50 ++ admin/template/banlist_add_user_body.tpl | 50 ++ admin/template/banlist_edit_body.tpl | 62 ++ admin/template/banlist_item_add.tpl | 21 + admin/template/banlist_view_body.tpl | 25 + admin/template/blank.tpl | 1 + admin/template/cat_new_edit_body.tpl | 29 + admin/template/censorlist_add_edit_body.tpl | 35 + admin/template/censorlist_main_body.tpl | 30 + admin/template/censorlist_upload_body.tpl | 34 + admin/template/censorlist_view_body.tpl | 16 + admin/template/censorlist_word_add.tpl | 17 + admin/template/check_script.tpl | 77 ++ admin/template/forum_category_add.tpl | 24 + admin/template/forum_forum_add.tpl | 22 + admin/template/forum_new_edit_body.tpl | 69 ++ admin/template/forums_beam_body.tpl | 30 + admin/template/forums_view_end_body.tpl | 5 + admin/template/group_add_body.tpl | 21 + admin/template/group_new_edit_body.tpl | 48 ++ admin/template/groups_beam_body.tpl | 21 + admin/template/images/Thumbs.db | Bin 0 -> 38912 bytes admin/template/images/body_bg.gif | Bin 0 -> 45 bytes admin/template/images/delete.gif | Bin 0 -> 911 bytes admin/template/images/delete_small.gif | Bin 0 -> 634 bytes admin/template/images/delete_small_active.gif | Bin 0 -> 1277 bytes admin/template/images/dsf_logo.gif | Bin 0 -> 9672 bytes admin/template/images/email.gif | Bin 0 -> 1906 bytes admin/template/images/email_active.gif | Bin 0 -> 2749 bytes admin/template/images/favicon.ico | Bin 0 -> 1342 bytes admin/template/images/folder_new_posts.gif | Bin 0 -> 1811 bytes admin/template/images/folder_no_new_posts.gif | Bin 0 -> 1396 bytes admin/template/images/gg.gif | Bin 0 -> 1898 bytes admin/template/images/gg_active.gif | Bin 0 -> 2692 bytes admin/template/images/gg_small.gif | Bin 0 -> 1498 bytes admin/template/images/gg_small_active.gif | Bin 0 -> 2017 bytes admin/template/images/index.html | 15 + admin/template/images/lng_Polish/Thumbs.db | Bin 0 -> 39936 bytes .../template/images/lng_Polish/edit_small.gif | Bin 0 -> 1477 bytes .../images/lng_Polish/edit_small_active.gif | Bin 0 -> 1999 bytes admin/template/images/lng_Polish/inbox.gif | Bin 0 -> 2808 bytes .../images/lng_Polish/inbox_active.gif | Bin 0 -> 3500 bytes admin/template/images/lng_Polish/index.html | 15 + admin/template/images/lng_Polish/lock.gif | Bin 0 -> 2840 bytes admin/template/images/lng_Polish/newmsg.gif | Bin 0 -> 2859 bytes .../images/lng_Polish/newmsg_active.gif | Bin 0 -> 3555 bytes admin/template/images/lng_Polish/pm.gif | Bin 0 -> 1910 bytes .../template/images/lng_Polish/pm_active.gif | Bin 0 -> 2723 bytes admin/template/images/lng_Polish/pm_small.gif | Bin 0 -> 1493 bytes .../images/lng_Polish/pm_small_active.gif | Bin 0 -> 2005 bytes .../images/lng_Polish/quote_small.gif | Bin 0 -> 1491 bytes .../images/lng_Polish/quote_small_active.gif | Bin 0 -> 2017 bytes admin/template/images/lng_Polish/reply.gif | Bin 0 -> 2859 bytes .../images/lng_Polish/reply_active.gif | Bin 0 -> 3585 bytes admin/template/images/lng_Polish/sentbox.gif | Bin 0 -> 2840 bytes .../images/lng_Polish/sentbox_active.gif | Bin 0 -> 3506 bytes admin/template/images/lng_Polish/topic.gif | Bin 0 -> 2833 bytes .../images/lng_Polish/topic_active.gif | Bin 0 -> 4165 bytes admin/template/images/lock.gif | Bin 0 -> 900 bytes admin/template/images/move.gif | Bin 0 -> 881 bytes admin/template/images/stick.gif | Bin 0 -> 910 bytes admin/template/images/td_beam.jpg | Bin 0 -> 333 bytes admin/template/images/td_beam_left.gif | Bin 0 -> 648 bytes admin/template/images/td_beam_right.gif | Bin 0 -> 648 bytes admin/template/images/td_beam_top.gif | Bin 0 -> 139 bytes admin/template/images/td_category.jpg | Bin 0 -> 697 bytes admin/template/images/td_category_left.gif | Bin 0 -> 985 bytes admin/template/images/td_category_right.gif | Bin 0 -> 664 bytes admin/template/images/td_editor.jpg | Bin 0 -> 407 bytes admin/template/images/unlock.gif | Bin 0 -> 890 bytes admin/template/images/unstick.gif | Bin 0 -> 899 bytes admin/template/images/wyzz/Thumbs.db | Bin 0 -> 8192 bytes admin/template/images/wyzz/backcolor.gif | Bin 0 -> 894 bytes admin/template/images/wyzz/bold.gif | Bin 0 -> 76 bytes admin/template/images/wyzz/close.gif | Bin 0 -> 56 bytes admin/template/images/wyzz/copy.gif | Bin 0 -> 381 bytes admin/template/images/wyzz/cut.gif | Bin 0 -> 353 bytes admin/template/images/wyzz/downsize.gif | Bin 0 -> 88 bytes admin/template/images/wyzz/font.gif | Bin 0 -> 908 bytes admin/template/images/wyzz/forecolor.gif | Bin 0 -> 174 bytes admin/template/images/wyzz/headers.gif | Bin 0 -> 930 bytes admin/template/images/wyzz/help.gif | Bin 0 -> 930 bytes admin/template/images/wyzz/htmlmode.gif | Bin 0 -> 79 bytes admin/template/images/wyzz/indent.gif | Bin 0 -> 90 bytes admin/template/images/wyzz/index.html | 15 + .../images/wyzz/inserthorizontalrule.gif | Bin 0 -> 852 bytes admin/template/images/wyzz/insertimage.gif | Bin 0 -> 625 bytes .../images/wyzz/insertorderedlist.gif | Bin 0 -> 84 bytes .../images/wyzz/insertunorderedlist.gif | Bin 0 -> 83 bytes admin/template/images/wyzz/italic.gif | Bin 0 -> 79 bytes admin/template/images/wyzz/justifycenter.gif | Bin 0 -> 79 bytes admin/template/images/wyzz/justifyfull.gif | Bin 0 -> 120 bytes admin/template/images/wyzz/justifyleft.gif | Bin 0 -> 80 bytes admin/template/images/wyzz/justifyright.gif | Bin 0 -> 79 bytes admin/template/images/wyzz/link.gif | Bin 0 -> 342 bytes admin/template/images/wyzz/outdent.gif | Bin 0 -> 90 bytes admin/template/images/wyzz/paste.gif | Bin 0 -> 618 bytes admin/template/images/wyzz/redo.gif | Bin 0 -> 339 bytes admin/template/images/wyzz/removeformat.gif | Bin 0 -> 160 bytes admin/template/images/wyzz/specialchar.gif | Bin 0 -> 145 bytes admin/template/images/wyzz/strikethrough.gif | Bin 0 -> 80 bytes admin/template/images/wyzz/subscript.gif | Bin 0 -> 79 bytes admin/template/images/wyzz/superscript.gif | Bin 0 -> 79 bytes admin/template/images/wyzz/underline.gif | Bin 0 -> 87 bytes admin/template/images/wyzz/undo.gif | Bin 0 -> 334 bytes admin/template/images/wyzz/upsize.gif | Bin 0 -> 87 bytes admin/template/in_error_body.tpl | 5 + admin/template/index.html | 15 + admin/template/index_body.tpl | 60 ++ admin/template/invalidfile_body.tpl | 5 + admin/template/mass_email.tpl | 44 ++ admin/template/message_body.tpl | 25 + admin/template/overall_footer.tpl | 13 + admin/template/overall_header.tpl | 67 ++ admin/template/post_error_body.tpl | 5 + admin/template/skin.css | 228 ++++++ admin/template/skins_beam_body.tpl | 20 + admin/template/skins_item_add.tpl | 10 + admin/template/smilelist_add_file_body.tpl | 37 + admin/template/smilelist_edit_body.tpl | 42 ++ admin/template/smilelist_item_add.tpl | 23 + admin/template/smilelist_view_body.tpl | 23 + admin/template/user_beam_body.tpl | 29 + admin/template/user_edit_body.tpl | 237 ++++++ admin/template/user_item_add_body.tpl | 8 + admin/template/users_beam_body.tpl | 46 ++ admin/template/users_end_body.tpl | 10 + admin/template/wyzz_editarea.css | 81 ++ admin/template/wyzz_style.css | 24 + common.php | 84 +++ config.php | 22 + eprofile.php | 292 ++++++++ forum.php | 110 +++ groups.php | 182 +++++ images/Thumbs.db | Bin 0 -> 7168 bytes images/av-to-big.jpg | Bin 0 -> 1996 bytes images/avatars/index.html | 15 + images/index.html | 15 + images/offline.gif | Bin 0 -> 131 bytes images/online.gif | Bin 0 -> 131 bytes images/smiles/Thumbs.db | Bin 0 -> 37888 bytes images/smiles/icon_arrow.gif | Bin 0 -> 170 bytes images/smiles/icon_biggrin.gif | Bin 0 -> 172 bytes images/smiles/icon_confused.gif | Bin 0 -> 171 bytes images/smiles/icon_cool.gif | Bin 0 -> 172 bytes images/smiles/icon_cry.gif | Bin 0 -> 498 bytes images/smiles/icon_curve.gif | Bin 0 -> 171 bytes images/smiles/icon_eek.gif | Bin 0 -> 170 bytes images/smiles/icon_evil.gif | Bin 0 -> 236 bytes images/smiles/icon_exclaim.gif | Bin 0 -> 236 bytes images/smiles/icon_idea.gif | Bin 0 -> 176 bytes images/smiles/icon_lol.gif | Bin 0 -> 336 bytes images/smiles/icon_mad.gif | Bin 0 -> 174 bytes images/smiles/icon_mrgreen.gif | Bin 0 -> 172 bytes images/smiles/icon_neutral.gif | Bin 0 -> 171 bytes images/smiles/icon_question.gif | Bin 0 -> 248 bytes images/smiles/icon_razz.gif | Bin 0 -> 934 bytes images/smiles/icon_redface.gif | Bin 0 -> 650 bytes images/smiles/icon_rolleyes.gif | Bin 0 -> 485 bytes images/smiles/icon_sad.gif | Bin 0 -> 171 bytes images/smiles/icon_smile.gif | Bin 0 -> 174 bytes images/smiles/icon_smile2.gif | Bin 0 -> 170 bytes images/smiles/icon_surprised.gif | Bin 0 -> 174 bytes images/smiles/icon_twisted.gif | Bin 0 -> 238 bytes images/smiles/icon_wink.gif | Bin 0 -> 170 bytes images/smiles/index.html | 15 + images/smiles/smiles.dsfpak | 17 + images/user_agent/Thumbs.db | Bin 0 -> 73216 bytes images/user_agent/icon_aix.gif | Bin 0 -> 199 bytes images/user_agent/icon_amiga.gif | Bin 0 -> 329 bytes images/user_agent/icon_athe.gif | Bin 0 -> 153 bytes images/user_agent/icon_avant.gif | Bin 0 -> 327 bytes images/user_agent/icon_beos.gif | Bin 0 -> 418 bytes images/user_agent/icon_dillo.gif | Bin 0 -> 455 bytes images/user_agent/icon_firebird.gif | Bin 0 -> 590 bytes images/user_agent/icon_firefox.gif | Bin 0 -> 696 bytes images/user_agent/icon_galeon.gif | Bin 0 -> 472 bytes images/user_agent/icon_ie.gif | Bin 0 -> 215 bytes images/user_agent/icon_ie7.gif | Bin 0 -> 1018 bytes images/user_agent/icon_konqueror.gif | Bin 0 -> 455 bytes images/user_agent/icon_lindows.gif | Bin 0 -> 199 bytes images/user_agent/icon_links.gif | Bin 0 -> 214 bytes images/user_agent/icon_linux.gif | Bin 0 -> 690 bytes images/user_agent/icon_linux_arch.gif | Bin 0 -> 277 bytes images/user_agent/icon_linux_cdlinux.gif | Bin 0 -> 262 bytes images/user_agent/icon_linux_debian.gif | Bin 0 -> 1140 bytes images/user_agent/icon_linux_freebsd.gif | Bin 0 -> 661 bytes images/user_agent/icon_linux_gentoo.gif | Bin 0 -> 318 bytes images/user_agent/icon_linux_kateos.gif | Bin 0 -> 1048 bytes images/user_agent/icon_linux_knoppix.gif | Bin 0 -> 465 bytes images/user_agent/icon_linux_lycoris.gif | Bin 0 -> 455 bytes images/user_agent/icon_linux_mandriva.gif | Bin 0 -> 1182 bytes images/user_agent/icon_linux_redhat.gif | Bin 0 -> 681 bytes images/user_agent/icon_linux_slackware.gif | Bin 0 -> 713 bytes images/user_agent/icon_linux_suse.gif | Bin 0 -> 1256 bytes images/user_agent/icon_linux_turbolinux.gif | Bin 0 -> 166 bytes images/user_agent/icon_linux_ubuntu.gif | Bin 0 -> 1027 bytes images/user_agent/icon_macos.gif | Bin 0 -> 445 bytes images/user_agent/icon_maxthon.gif | Bin 0 -> 700 bytes images/user_agent/icon_mozilla.gif | Bin 0 -> 260 bytes images/user_agent/icon_myie2.gif | Bin 0 -> 444 bytes images/user_agent/icon_netscape.gif | Bin 0 -> 476 bytes images/user_agent/icon_netsprint.gif | Bin 0 -> 911 bytes images/user_agent/icon_next.gif | Bin 0 -> 272 bytes images/user_agent/icon_omniweb.gif | Bin 0 -> 1105 bytes images/user_agent/icon_opera.gif | Bin 0 -> 323 bytes images/user_agent/icon_qnx.gif | Bin 0 -> 379 bytes images/user_agent/icon_risc.gif | Bin 0 -> 484 bytes images/user_agent/icon_seamonkey.gif | Bin 0 -> 335 bytes images/user_agent/icon_solaris.gif | Bin 0 -> 420 bytes images/user_agent/icon_symbian.gif | Bin 0 -> 95 bytes images/user_agent/icon_unix.gif | Bin 0 -> 201 bytes images/user_agent/icon_unknown.gif | Bin 0 -> 169 bytes images/user_agent/icon_warp.gif | Bin 0 -> 249 bytes images/user_agent/icon_windows_98_nt_2000.gif | Bin 0 -> 790 bytes images/user_agent/icon_windows_vista.gif | Bin 0 -> 1340 bytes images/user_agent/icon_windows_xp_2003.gif | Bin 0 -> 468 bytes images/user_agent/index.html | 15 + images/wyzz.js | 696 ++++++++++++++++++ includes/admin/class_forum.php | 38 + includes/admin/class_main.php | 160 ++++ includes/admin/index.html | 15 + includes/cache/cache_forums.php | 83 +++ includes/cache/cache_index.php | 48 ++ includes/cache/cache_topic.php | 95 +++ includes/cache/index.html | 15 + includes/class_db.php | 65 ++ includes/class_email.php | 80 ++ includes/class_error.php | 72 ++ includes/class_forum.php | 136 ++++ includes/class_mod.php | 96 +++ includes/class_overall.php | 328 +++++++++ includes/class_posting.php | 116 +++ includes/class_shoutbox.php | 51 ++ includes/class_topic.php | 197 +++++ includes/class_user.php | 208 ++++++ includes/classes/class_pms.php | 79 ++ includes/classes/secure.php | 193 +++++ includes/constants.php | 68 ++ includes/index.html | 15 + includes/pms/pms_delete.php | 55 ++ includes/pms/pms_folder.php | 94 +++ includes/pms/pms_view.php | 121 +++ includes/pms/pms_write.php | 83 +++ includes/sessions.php | 128 ++++ includes/sql_parse.php | 110 +++ index.php | 142 ++++ install/config.php | 22 + install/functions_add.php | 68 ++ install/index.php | 298 ++++++++ install/licence.html | 627 ++++++++++++++++ install/tpls/index.html | 15 + install/tpls/install_check_script.tpl | 49 ++ install/tpls/install_step4.tpl | 26 + install/tpls/install_step6.tpl | 22 + install/tpls/install_step8.tpl | 279 +++++++ install/tpls/invalidfile_body.tpl | 5 + install/uf_tables.sql | 396 ++++++++++ lngs/Polish/admin.php | 286 +++++++ lngs/Polish/email.php | 43 ++ lngs/Polish/index.html | 15 + lngs/Polish/install.php | 58 ++ lngs/Polish/main.php | 251 +++++++ lngs/Polish/quick_reply.php | 15 + lngs/Polish/wysiwyg.php | 19 + lngs/index.html | 15 + login.php | 189 +++++ moderate.php | 171 +++++ pms.php | 84 +++ posting.php | 330 +++++++++ quick_reply.php | 32 + register.php | 161 ++++ search.php | 255 +++++++ shoutbox.php | 73 ++ skins/index.html | 15 + skins/subPurple/blank.tpl | 1 + skins/subPurple/eprofile_body.tpl | 189 +++++ skins/subPurple/forum_body.tpl | 16 + skins/subPurple/forum_end_body.tpl | 15 + skins/subPurple/forum_forum_add.tpl | 17 + skins/subPurple/group_add_body.tpl | 8 + skins/subPurple/group_view_head_body.tpl | 19 + skins/subPurple/images/Thumbs.db | Bin 0 -> 38912 bytes skins/subPurple/images/body_bg.gif | Bin 0 -> 45 bytes skins/subPurple/images/delete.gif | Bin 0 -> 911 bytes skins/subPurple/images/delete_small.gif | Bin 0 -> 634 bytes .../subPurple/images/delete_small_active.gif | Bin 0 -> 1277 bytes skins/subPurple/images/dsf_logo.gif | Bin 0 -> 9672 bytes skins/subPurple/images/email.gif | Bin 0 -> 1906 bytes skins/subPurple/images/email_active.gif | Bin 0 -> 2749 bytes skins/subPurple/images/favicon.ico | Bin 0 -> 1342 bytes skins/subPurple/images/folder_new_posts.gif | Bin 0 -> 1811 bytes .../subPurple/images/folder_no_new_posts.gif | Bin 0 -> 1396 bytes skins/subPurple/images/gg.gif | Bin 0 -> 1898 bytes skins/subPurple/images/gg_active.gif | Bin 0 -> 2692 bytes skins/subPurple/images/gg_small.gif | Bin 0 -> 1498 bytes skins/subPurple/images/gg_small_active.gif | Bin 0 -> 2017 bytes skins/subPurple/images/index.html | 15 + skins/subPurple/images/lng_Polish/Thumbs.db | Bin 0 -> 39936 bytes .../images/lng_Polish/edit_small.gif | Bin 0 -> 1477 bytes .../images/lng_Polish/edit_small_active.gif | Bin 0 -> 1999 bytes skins/subPurple/images/lng_Polish/inbox.gif | Bin 0 -> 2808 bytes .../images/lng_Polish/inbox_active.gif | Bin 0 -> 3500 bytes skins/subPurple/images/lng_Polish/index.html | 15 + skins/subPurple/images/lng_Polish/lock.gif | Bin 0 -> 2840 bytes skins/subPurple/images/lng_Polish/newmsg.gif | Bin 0 -> 2859 bytes .../images/lng_Polish/newmsg_active.gif | Bin 0 -> 3555 bytes skins/subPurple/images/lng_Polish/pm.gif | Bin 0 -> 1910 bytes .../subPurple/images/lng_Polish/pm_active.gif | Bin 0 -> 2723 bytes .../subPurple/images/lng_Polish/pm_small.gif | Bin 0 -> 1493 bytes .../images/lng_Polish/pm_small_active.gif | Bin 0 -> 2005 bytes .../images/lng_Polish/quote_small.gif | Bin 0 -> 1491 bytes .../images/lng_Polish/quote_small_active.gif | Bin 0 -> 2017 bytes skins/subPurple/images/lng_Polish/reply.gif | Bin 0 -> 2859 bytes .../images/lng_Polish/reply_active.gif | Bin 0 -> 3585 bytes skins/subPurple/images/lng_Polish/sentbox.gif | Bin 0 -> 2840 bytes .../images/lng_Polish/sentbox_active.gif | Bin 0 -> 3506 bytes skins/subPurple/images/lng_Polish/topic.gif | Bin 0 -> 2833 bytes .../images/lng_Polish/topic_active.gif | Bin 0 -> 4165 bytes skins/subPurple/images/lock.gif | Bin 0 -> 900 bytes skins/subPurple/images/move.gif | Bin 0 -> 881 bytes skins/subPurple/images/stick.gif | Bin 0 -> 910 bytes skins/subPurple/images/td_beam.jpg | Bin 0 -> 333 bytes skins/subPurple/images/td_beam_left.gif | Bin 0 -> 648 bytes skins/subPurple/images/td_beam_right.gif | Bin 0 -> 648 bytes skins/subPurple/images/td_beam_top.gif | Bin 0 -> 139 bytes skins/subPurple/images/td_category.jpg | Bin 0 -> 697 bytes skins/subPurple/images/td_category_left.gif | Bin 0 -> 985 bytes skins/subPurple/images/td_category_right.gif | Bin 0 -> 664 bytes skins/subPurple/images/td_editor.jpg | Bin 0 -> 407 bytes skins/subPurple/images/unlock.gif | Bin 0 -> 890 bytes skins/subPurple/images/unstick.gif | Bin 0 -> 899 bytes skins/subPurple/images/wyzz/Thumbs.db | Bin 0 -> 8192 bytes skins/subPurple/images/wyzz/backcolor.gif | Bin 0 -> 894 bytes skins/subPurple/images/wyzz/bold.gif | Bin 0 -> 76 bytes skins/subPurple/images/wyzz/close.gif | Bin 0 -> 56 bytes skins/subPurple/images/wyzz/copy.gif | Bin 0 -> 381 bytes skins/subPurple/images/wyzz/cut.gif | Bin 0 -> 353 bytes skins/subPurple/images/wyzz/downsize.gif | Bin 0 -> 88 bytes skins/subPurple/images/wyzz/font.gif | Bin 0 -> 908 bytes skins/subPurple/images/wyzz/forecolor.gif | Bin 0 -> 174 bytes skins/subPurple/images/wyzz/headers.gif | Bin 0 -> 930 bytes skins/subPurple/images/wyzz/help.gif | Bin 0 -> 930 bytes skins/subPurple/images/wyzz/htmlmode.gif | Bin 0 -> 79 bytes skins/subPurple/images/wyzz/indent.gif | Bin 0 -> 90 bytes skins/subPurple/images/wyzz/index.html | 15 + .../images/wyzz/inserthorizontalrule.gif | Bin 0 -> 852 bytes skins/subPurple/images/wyzz/insertimage.gif | Bin 0 -> 625 bytes .../images/wyzz/insertorderedlist.gif | Bin 0 -> 84 bytes .../images/wyzz/insertunorderedlist.gif | Bin 0 -> 83 bytes skins/subPurple/images/wyzz/italic.gif | Bin 0 -> 79 bytes skins/subPurple/images/wyzz/justifycenter.gif | Bin 0 -> 79 bytes skins/subPurple/images/wyzz/justifyfull.gif | Bin 0 -> 120 bytes skins/subPurple/images/wyzz/justifyleft.gif | Bin 0 -> 80 bytes skins/subPurple/images/wyzz/justifyright.gif | Bin 0 -> 79 bytes skins/subPurple/images/wyzz/link.gif | Bin 0 -> 342 bytes skins/subPurple/images/wyzz/outdent.gif | Bin 0 -> 90 bytes skins/subPurple/images/wyzz/paste.gif | Bin 0 -> 618 bytes skins/subPurple/images/wyzz/redo.gif | Bin 0 -> 339 bytes skins/subPurple/images/wyzz/removeformat.gif | Bin 0 -> 160 bytes skins/subPurple/images/wyzz/specialchar.gif | Bin 0 -> 145 bytes skins/subPurple/images/wyzz/strikethrough.gif | Bin 0 -> 80 bytes skins/subPurple/images/wyzz/subscript.gif | Bin 0 -> 79 bytes skins/subPurple/images/wyzz/superscript.gif | Bin 0 -> 79 bytes skins/subPurple/images/wyzz/underline.gif | Bin 0 -> 87 bytes skins/subPurple/images/wyzz/undo.gif | Bin 0 -> 334 bytes skins/subPurple/images/wyzz/upsize.gif | Bin 0 -> 87 bytes skins/subPurple/index.html | 15 + skins/subPurple/index_body.tpl | 6 + skins/subPurple/index_body_end.tpl | 21 + skins/subPurple/index_category_add.tpl | 14 + skins/subPurple/index_forum_add.tpl | 14 + skins/subPurple/login_body.tpl | 34 + skins/subPurple/message_body.tpl | 18 + skins/subPurple/move_topic_body.tpl | 24 + skins/subPurple/msgs_is_body.tpl | 21 + skins/subPurple/msgs_is_end_body.tpl | 2 + skins/subPurple/msgs_is_item_body.tpl | 6 + skins/subPurple/msgs_msg_body.tpl | 30 + skins/subPurple/msgs_new_body.tpl | 55 ++ skins/subPurple/newpass_body.tpl | 24 + skins/subPurple/ntopic_body.tpl | 49 ++ skins/subPurple/overall_footer.tpl | 17 + skins/subPurple/overall_header.tpl | 65 ++ skins/subPurple/post_add_body.tpl | 61 ++ skins/subPurple/post_error_body.tpl | 5 + skins/subPurple/posting_body.tpl | 48 ++ skins/subPurple/quick_reply_body.tpl | 38 + skins/subPurple/register_body.tpl | 43 ++ skins/subPurple/search_body.tpl | 25 + skins/subPurple/search_end_body.tpl | 9 + skins/subPurple/shoutbox_body.tpl | 33 + skins/subPurple/skin.css | 228 ++++++ skins/subPurple/topic_body.tpl | 5 + skins/subPurple/topic_end_body.tpl | 15 + skins/subPurple/topic_mod_body.tpl | 11 + skins/subPurple/topic_post_body.tpl | 61 ++ skins/subPurple/user_body.tpl | 51 ++ skins/subPurple/users_body.tpl | 39 + skins/subPurple/users_end_body.tpl | 10 + skins/subPurple/users_item_add_body.tpl | 7 + skins/subPurple/warns_add_body.tpl | 36 + skins/subPurple/warns_view_body.tpl | 13 + skins/subPurple/warns_view_end_body.tpl | 10 + skins/subPurple/warns_view_item_body.tpl | 4 + skins/subPurple/wyzz_editarea.css | 81 ++ skins/subPurple/wyzz_style.css | 24 + tmp/index.html | 15 + topic.php | 166 +++++ user.php | 122 +++ users.php | 229 ++++++ warns.php | 192 +++++ 429 files changed, 15882 insertions(+) create mode 100644 admin/admin_forums.php create mode 100644 admin/admin_groups.php create mode 100644 admin/admin_script.php create mode 100644 admin/admin_users.php create mode 100644 admin/banlist.php create mode 100644 admin/censorlist.php create mode 100644 admin/check_script.php create mode 100644 admin/check_script_data.php create mode 100644 admin/forum_info.php create mode 100644 admin/header.php create mode 100644 admin/index.php create mode 100644 admin/info.php create mode 100644 admin/mass_email.php create mode 100644 admin/smilelist.php create mode 100644 admin/styles.php create mode 100644 admin/template/admin_script.tpl create mode 100644 admin/template/banlist_add_file_body.tpl create mode 100644 admin/template/banlist_add_ip_body.tpl create mode 100644 admin/template/banlist_add_user_body.tpl create mode 100644 admin/template/banlist_edit_body.tpl create mode 100644 admin/template/banlist_item_add.tpl create mode 100644 admin/template/banlist_view_body.tpl create mode 100644 admin/template/blank.tpl create mode 100644 admin/template/cat_new_edit_body.tpl create mode 100644 admin/template/censorlist_add_edit_body.tpl create mode 100644 admin/template/censorlist_main_body.tpl create mode 100644 admin/template/censorlist_upload_body.tpl create mode 100644 admin/template/censorlist_view_body.tpl create mode 100644 admin/template/censorlist_word_add.tpl create mode 100644 admin/template/check_script.tpl create mode 100644 admin/template/forum_category_add.tpl create mode 100644 admin/template/forum_forum_add.tpl create mode 100644 admin/template/forum_new_edit_body.tpl create mode 100644 admin/template/forums_beam_body.tpl create mode 100644 admin/template/forums_view_end_body.tpl create mode 100644 admin/template/group_add_body.tpl create mode 100644 admin/template/group_new_edit_body.tpl create mode 100644 admin/template/groups_beam_body.tpl create mode 100644 admin/template/images/Thumbs.db create mode 100644 admin/template/images/body_bg.gif create mode 100644 admin/template/images/delete.gif create mode 100644 admin/template/images/delete_small.gif create mode 100644 admin/template/images/delete_small_active.gif create mode 100644 admin/template/images/dsf_logo.gif create mode 100644 admin/template/images/email.gif create mode 100644 admin/template/images/email_active.gif create mode 100644 admin/template/images/favicon.ico create mode 100644 admin/template/images/folder_new_posts.gif create mode 100644 admin/template/images/folder_no_new_posts.gif create mode 100644 admin/template/images/gg.gif create mode 100644 admin/template/images/gg_active.gif create mode 100644 admin/template/images/gg_small.gif create mode 100644 admin/template/images/gg_small_active.gif create mode 100644 admin/template/images/index.html create mode 100644 admin/template/images/lng_Polish/Thumbs.db create mode 100644 admin/template/images/lng_Polish/edit_small.gif create mode 100644 admin/template/images/lng_Polish/edit_small_active.gif create mode 100644 admin/template/images/lng_Polish/inbox.gif create mode 100644 admin/template/images/lng_Polish/inbox_active.gif create mode 100644 admin/template/images/lng_Polish/index.html create mode 100644 admin/template/images/lng_Polish/lock.gif create mode 100644 admin/template/images/lng_Polish/newmsg.gif create mode 100644 admin/template/images/lng_Polish/newmsg_active.gif create mode 100644 admin/template/images/lng_Polish/pm.gif create mode 100644 admin/template/images/lng_Polish/pm_active.gif create mode 100644 admin/template/images/lng_Polish/pm_small.gif create mode 100644 admin/template/images/lng_Polish/pm_small_active.gif create mode 100644 admin/template/images/lng_Polish/quote_small.gif create mode 100644 admin/template/images/lng_Polish/quote_small_active.gif create mode 100644 admin/template/images/lng_Polish/reply.gif create mode 100644 admin/template/images/lng_Polish/reply_active.gif create mode 100644 admin/template/images/lng_Polish/sentbox.gif create mode 100644 admin/template/images/lng_Polish/sentbox_active.gif create mode 100644 admin/template/images/lng_Polish/topic.gif create mode 100644 admin/template/images/lng_Polish/topic_active.gif create mode 100644 admin/template/images/lock.gif create mode 100644 admin/template/images/move.gif create mode 100644 admin/template/images/stick.gif create mode 100644 admin/template/images/td_beam.jpg create mode 100644 admin/template/images/td_beam_left.gif create mode 100644 admin/template/images/td_beam_right.gif create mode 100644 admin/template/images/td_beam_top.gif create mode 100644 admin/template/images/td_category.jpg create mode 100644 admin/template/images/td_category_left.gif create mode 100644 admin/template/images/td_category_right.gif create mode 100644 admin/template/images/td_editor.jpg create mode 100644 admin/template/images/unlock.gif create mode 100644 admin/template/images/unstick.gif create mode 100644 admin/template/images/wyzz/Thumbs.db create mode 100644 admin/template/images/wyzz/backcolor.gif create mode 100644 admin/template/images/wyzz/bold.gif create mode 100644 admin/template/images/wyzz/close.gif create mode 100644 admin/template/images/wyzz/copy.gif create mode 100644 admin/template/images/wyzz/cut.gif create mode 100644 admin/template/images/wyzz/downsize.gif create mode 100644 admin/template/images/wyzz/font.gif create mode 100644 admin/template/images/wyzz/forecolor.gif create mode 100644 admin/template/images/wyzz/headers.gif create mode 100644 admin/template/images/wyzz/help.gif create mode 100644 admin/template/images/wyzz/htmlmode.gif create mode 100644 admin/template/images/wyzz/indent.gif create mode 100644 admin/template/images/wyzz/index.html create mode 100644 admin/template/images/wyzz/inserthorizontalrule.gif create mode 100644 admin/template/images/wyzz/insertimage.gif create mode 100644 admin/template/images/wyzz/insertorderedlist.gif create mode 100644 admin/template/images/wyzz/insertunorderedlist.gif create mode 100644 admin/template/images/wyzz/italic.gif create mode 100644 admin/template/images/wyzz/justifycenter.gif create mode 100644 admin/template/images/wyzz/justifyfull.gif create mode 100644 admin/template/images/wyzz/justifyleft.gif create mode 100644 admin/template/images/wyzz/justifyright.gif create mode 100644 admin/template/images/wyzz/link.gif create mode 100644 admin/template/images/wyzz/outdent.gif create mode 100644 admin/template/images/wyzz/paste.gif create mode 100644 admin/template/images/wyzz/redo.gif create mode 100644 admin/template/images/wyzz/removeformat.gif create mode 100644 admin/template/images/wyzz/specialchar.gif create mode 100644 admin/template/images/wyzz/strikethrough.gif create mode 100644 admin/template/images/wyzz/subscript.gif create mode 100644 admin/template/images/wyzz/superscript.gif create mode 100644 admin/template/images/wyzz/underline.gif create mode 100644 admin/template/images/wyzz/undo.gif create mode 100644 admin/template/images/wyzz/upsize.gif create mode 100644 admin/template/in_error_body.tpl create mode 100644 admin/template/index.html create mode 100644 admin/template/index_body.tpl create mode 100644 admin/template/invalidfile_body.tpl create mode 100644 admin/template/mass_email.tpl create mode 100644 admin/template/message_body.tpl create mode 100644 admin/template/overall_footer.tpl create mode 100644 admin/template/overall_header.tpl create mode 100644 admin/template/post_error_body.tpl create mode 100644 admin/template/skin.css create mode 100644 admin/template/skins_beam_body.tpl create mode 100644 admin/template/skins_item_add.tpl create mode 100644 admin/template/smilelist_add_file_body.tpl create mode 100644 admin/template/smilelist_edit_body.tpl create mode 100644 admin/template/smilelist_item_add.tpl create mode 100644 admin/template/smilelist_view_body.tpl create mode 100644 admin/template/user_beam_body.tpl create mode 100644 admin/template/user_edit_body.tpl create mode 100644 admin/template/user_item_add_body.tpl create mode 100644 admin/template/users_beam_body.tpl create mode 100644 admin/template/users_end_body.tpl create mode 100644 admin/template/wyzz_editarea.css create mode 100644 admin/template/wyzz_style.css create mode 100644 common.php create mode 100644 config.php create mode 100644 eprofile.php create mode 100644 forum.php create mode 100644 groups.php create mode 100644 images/Thumbs.db create mode 100644 images/av-to-big.jpg create mode 100644 images/avatars/index.html create mode 100644 images/index.html create mode 100644 images/offline.gif create mode 100644 images/online.gif create mode 100644 images/smiles/Thumbs.db create mode 100644 images/smiles/icon_arrow.gif create mode 100644 images/smiles/icon_biggrin.gif create mode 100644 images/smiles/icon_confused.gif create mode 100644 images/smiles/icon_cool.gif create mode 100644 images/smiles/icon_cry.gif create mode 100644 images/smiles/icon_curve.gif create mode 100644 images/smiles/icon_eek.gif create mode 100644 images/smiles/icon_evil.gif create mode 100644 images/smiles/icon_exclaim.gif create mode 100644 images/smiles/icon_idea.gif create mode 100644 images/smiles/icon_lol.gif create mode 100644 images/smiles/icon_mad.gif create mode 100644 images/smiles/icon_mrgreen.gif create mode 100644 images/smiles/icon_neutral.gif create mode 100644 images/smiles/icon_question.gif create mode 100644 images/smiles/icon_razz.gif create mode 100644 images/smiles/icon_redface.gif create mode 100644 images/smiles/icon_rolleyes.gif create mode 100644 images/smiles/icon_sad.gif create mode 100644 images/smiles/icon_smile.gif create mode 100644 images/smiles/icon_smile2.gif create mode 100644 images/smiles/icon_surprised.gif create mode 100644 images/smiles/icon_twisted.gif create mode 100644 images/smiles/icon_wink.gif create mode 100644 images/smiles/index.html create mode 100644 images/smiles/smiles.dsfpak create mode 100644 images/user_agent/Thumbs.db create mode 100644 images/user_agent/icon_aix.gif create mode 100644 images/user_agent/icon_amiga.gif create mode 100644 images/user_agent/icon_athe.gif create mode 100644 images/user_agent/icon_avant.gif create mode 100644 images/user_agent/icon_beos.gif create mode 100644 images/user_agent/icon_dillo.gif create mode 100644 images/user_agent/icon_firebird.gif create mode 100644 images/user_agent/icon_firefox.gif create mode 100644 images/user_agent/icon_galeon.gif create mode 100644 images/user_agent/icon_ie.gif create mode 100644 images/user_agent/icon_ie7.gif create mode 100644 images/user_agent/icon_konqueror.gif create mode 100644 images/user_agent/icon_lindows.gif create mode 100644 images/user_agent/icon_links.gif create mode 100644 images/user_agent/icon_linux.gif create mode 100644 images/user_agent/icon_linux_arch.gif create mode 100644 images/user_agent/icon_linux_cdlinux.gif create mode 100644 images/user_agent/icon_linux_debian.gif create mode 100644 images/user_agent/icon_linux_freebsd.gif create mode 100644 images/user_agent/icon_linux_gentoo.gif create mode 100644 images/user_agent/icon_linux_kateos.gif create mode 100644 images/user_agent/icon_linux_knoppix.gif create mode 100644 images/user_agent/icon_linux_lycoris.gif create mode 100644 images/user_agent/icon_linux_mandriva.gif create mode 100644 images/user_agent/icon_linux_redhat.gif create mode 100644 images/user_agent/icon_linux_slackware.gif create mode 100644 images/user_agent/icon_linux_suse.gif create mode 100644 images/user_agent/icon_linux_turbolinux.gif create mode 100644 images/user_agent/icon_linux_ubuntu.gif create mode 100644 images/user_agent/icon_macos.gif create mode 100644 images/user_agent/icon_maxthon.gif create mode 100644 images/user_agent/icon_mozilla.gif create mode 100644 images/user_agent/icon_myie2.gif create mode 100644 images/user_agent/icon_netscape.gif create mode 100644 images/user_agent/icon_netsprint.gif create mode 100644 images/user_agent/icon_next.gif create mode 100644 images/user_agent/icon_omniweb.gif create mode 100644 images/user_agent/icon_opera.gif create mode 100644 images/user_agent/icon_qnx.gif create mode 100644 images/user_agent/icon_risc.gif create mode 100644 images/user_agent/icon_seamonkey.gif create mode 100644 images/user_agent/icon_solaris.gif create mode 100644 images/user_agent/icon_symbian.gif create mode 100644 images/user_agent/icon_unix.gif create mode 100644 images/user_agent/icon_unknown.gif create mode 100644 images/user_agent/icon_warp.gif create mode 100644 images/user_agent/icon_windows_98_nt_2000.gif create mode 100644 images/user_agent/icon_windows_vista.gif create mode 100644 images/user_agent/icon_windows_xp_2003.gif create mode 100644 images/user_agent/index.html create mode 100644 images/wyzz.js create mode 100644 includes/admin/class_forum.php create mode 100644 includes/admin/class_main.php create mode 100644 includes/admin/index.html create mode 100644 includes/cache/cache_forums.php create mode 100644 includes/cache/cache_index.php create mode 100644 includes/cache/cache_topic.php create mode 100644 includes/cache/index.html create mode 100644 includes/class_db.php create mode 100644 includes/class_email.php create mode 100644 includes/class_error.php create mode 100644 includes/class_forum.php create mode 100644 includes/class_mod.php create mode 100644 includes/class_overall.php create mode 100644 includes/class_posting.php create mode 100644 includes/class_shoutbox.php create mode 100644 includes/class_topic.php create mode 100644 includes/class_user.php create mode 100644 includes/classes/class_pms.php create mode 100644 includes/classes/secure.php create mode 100644 includes/constants.php create mode 100644 includes/index.html create mode 100644 includes/pms/pms_delete.php create mode 100644 includes/pms/pms_folder.php create mode 100644 includes/pms/pms_view.php create mode 100644 includes/pms/pms_write.php create mode 100644 includes/sessions.php create mode 100644 includes/sql_parse.php create mode 100644 index.php create mode 100644 install/config.php create mode 100644 install/functions_add.php create mode 100644 install/index.php create mode 100644 install/licence.html create mode 100644 install/tpls/index.html create mode 100644 install/tpls/install_check_script.tpl create mode 100644 install/tpls/install_step4.tpl create mode 100644 install/tpls/install_step6.tpl create mode 100644 install/tpls/install_step8.tpl create mode 100644 install/tpls/invalidfile_body.tpl create mode 100644 install/uf_tables.sql create mode 100644 lngs/Polish/admin.php create mode 100644 lngs/Polish/email.php create mode 100644 lngs/Polish/index.html create mode 100644 lngs/Polish/install.php create mode 100644 lngs/Polish/main.php create mode 100644 lngs/Polish/quick_reply.php create mode 100644 lngs/Polish/wysiwyg.php create mode 100644 lngs/index.html create mode 100644 login.php create mode 100644 moderate.php create mode 100644 pms.php create mode 100644 posting.php create mode 100644 quick_reply.php create mode 100644 register.php create mode 100644 search.php create mode 100644 shoutbox.php create mode 100644 skins/index.html create mode 100644 skins/subPurple/blank.tpl create mode 100644 skins/subPurple/eprofile_body.tpl create mode 100644 skins/subPurple/forum_body.tpl create mode 100644 skins/subPurple/forum_end_body.tpl create mode 100644 skins/subPurple/forum_forum_add.tpl create mode 100644 skins/subPurple/group_add_body.tpl create mode 100644 skins/subPurple/group_view_head_body.tpl create mode 100644 skins/subPurple/images/Thumbs.db create mode 100644 skins/subPurple/images/body_bg.gif create mode 100644 skins/subPurple/images/delete.gif create mode 100644 skins/subPurple/images/delete_small.gif create mode 100644 skins/subPurple/images/delete_small_active.gif create mode 100644 skins/subPurple/images/dsf_logo.gif create mode 100644 skins/subPurple/images/email.gif create mode 100644 skins/subPurple/images/email_active.gif create mode 100644 skins/subPurple/images/favicon.ico create mode 100644 skins/subPurple/images/folder_new_posts.gif create mode 100644 skins/subPurple/images/folder_no_new_posts.gif create mode 100644 skins/subPurple/images/gg.gif create mode 100644 skins/subPurple/images/gg_active.gif create mode 100644 skins/subPurple/images/gg_small.gif create mode 100644 skins/subPurple/images/gg_small_active.gif create mode 100644 skins/subPurple/images/index.html create mode 100644 skins/subPurple/images/lng_Polish/Thumbs.db create mode 100644 skins/subPurple/images/lng_Polish/edit_small.gif create mode 100644 skins/subPurple/images/lng_Polish/edit_small_active.gif create mode 100644 skins/subPurple/images/lng_Polish/inbox.gif create mode 100644 skins/subPurple/images/lng_Polish/inbox_active.gif create mode 100644 skins/subPurple/images/lng_Polish/index.html create mode 100644 skins/subPurple/images/lng_Polish/lock.gif create mode 100644 skins/subPurple/images/lng_Polish/newmsg.gif create mode 100644 skins/subPurple/images/lng_Polish/newmsg_active.gif create mode 100644 skins/subPurple/images/lng_Polish/pm.gif create mode 100644 skins/subPurple/images/lng_Polish/pm_active.gif create mode 100644 skins/subPurple/images/lng_Polish/pm_small.gif create mode 100644 skins/subPurple/images/lng_Polish/pm_small_active.gif create mode 100644 skins/subPurple/images/lng_Polish/quote_small.gif create mode 100644 skins/subPurple/images/lng_Polish/quote_small_active.gif create mode 100644 skins/subPurple/images/lng_Polish/reply.gif create mode 100644 skins/subPurple/images/lng_Polish/reply_active.gif create mode 100644 skins/subPurple/images/lng_Polish/sentbox.gif create mode 100644 skins/subPurple/images/lng_Polish/sentbox_active.gif create mode 100644 skins/subPurple/images/lng_Polish/topic.gif create mode 100644 skins/subPurple/images/lng_Polish/topic_active.gif create mode 100644 skins/subPurple/images/lock.gif create mode 100644 skins/subPurple/images/move.gif create mode 100644 skins/subPurple/images/stick.gif create mode 100644 skins/subPurple/images/td_beam.jpg create mode 100644 skins/subPurple/images/td_beam_left.gif create mode 100644 skins/subPurple/images/td_beam_right.gif create mode 100644 skins/subPurple/images/td_beam_top.gif create mode 100644 skins/subPurple/images/td_category.jpg create mode 100644 skins/subPurple/images/td_category_left.gif create mode 100644 skins/subPurple/images/td_category_right.gif create mode 100644 skins/subPurple/images/td_editor.jpg create mode 100644 skins/subPurple/images/unlock.gif create mode 100644 skins/subPurple/images/unstick.gif create mode 100644 skins/subPurple/images/wyzz/Thumbs.db create mode 100644 skins/subPurple/images/wyzz/backcolor.gif create mode 100644 skins/subPurple/images/wyzz/bold.gif create mode 100644 skins/subPurple/images/wyzz/close.gif create mode 100644 skins/subPurple/images/wyzz/copy.gif create mode 100644 skins/subPurple/images/wyzz/cut.gif create mode 100644 skins/subPurple/images/wyzz/downsize.gif create mode 100644 skins/subPurple/images/wyzz/font.gif create mode 100644 skins/subPurple/images/wyzz/forecolor.gif create mode 100644 skins/subPurple/images/wyzz/headers.gif create mode 100644 skins/subPurple/images/wyzz/help.gif create mode 100644 skins/subPurple/images/wyzz/htmlmode.gif create mode 100644 skins/subPurple/images/wyzz/indent.gif create mode 100644 skins/subPurple/images/wyzz/index.html create mode 100644 skins/subPurple/images/wyzz/inserthorizontalrule.gif create mode 100644 skins/subPurple/images/wyzz/insertimage.gif create mode 100644 skins/subPurple/images/wyzz/insertorderedlist.gif create mode 100644 skins/subPurple/images/wyzz/insertunorderedlist.gif create mode 100644 skins/subPurple/images/wyzz/italic.gif create mode 100644 skins/subPurple/images/wyzz/justifycenter.gif create mode 100644 skins/subPurple/images/wyzz/justifyfull.gif create mode 100644 skins/subPurple/images/wyzz/justifyleft.gif create mode 100644 skins/subPurple/images/wyzz/justifyright.gif create mode 100644 skins/subPurple/images/wyzz/link.gif create mode 100644 skins/subPurple/images/wyzz/outdent.gif create mode 100644 skins/subPurple/images/wyzz/paste.gif create mode 100644 skins/subPurple/images/wyzz/redo.gif create mode 100644 skins/subPurple/images/wyzz/removeformat.gif create mode 100644 skins/subPurple/images/wyzz/specialchar.gif create mode 100644 skins/subPurple/images/wyzz/strikethrough.gif create mode 100644 skins/subPurple/images/wyzz/subscript.gif create mode 100644 skins/subPurple/images/wyzz/superscript.gif create mode 100644 skins/subPurple/images/wyzz/underline.gif create mode 100644 skins/subPurple/images/wyzz/undo.gif create mode 100644 skins/subPurple/images/wyzz/upsize.gif create mode 100644 skins/subPurple/index.html create mode 100644 skins/subPurple/index_body.tpl create mode 100644 skins/subPurple/index_body_end.tpl create mode 100644 skins/subPurple/index_category_add.tpl create mode 100644 skins/subPurple/index_forum_add.tpl create mode 100644 skins/subPurple/login_body.tpl create mode 100644 skins/subPurple/message_body.tpl create mode 100644 skins/subPurple/move_topic_body.tpl create mode 100644 skins/subPurple/msgs_is_body.tpl create mode 100644 skins/subPurple/msgs_is_end_body.tpl create mode 100644 skins/subPurple/msgs_is_item_body.tpl create mode 100644 skins/subPurple/msgs_msg_body.tpl create mode 100644 skins/subPurple/msgs_new_body.tpl create mode 100644 skins/subPurple/newpass_body.tpl create mode 100644 skins/subPurple/ntopic_body.tpl create mode 100644 skins/subPurple/overall_footer.tpl create mode 100644 skins/subPurple/overall_header.tpl create mode 100644 skins/subPurple/post_add_body.tpl create mode 100644 skins/subPurple/post_error_body.tpl create mode 100644 skins/subPurple/posting_body.tpl create mode 100644 skins/subPurple/quick_reply_body.tpl create mode 100644 skins/subPurple/register_body.tpl create mode 100644 skins/subPurple/search_body.tpl create mode 100644 skins/subPurple/search_end_body.tpl create mode 100644 skins/subPurple/shoutbox_body.tpl create mode 100644 skins/subPurple/skin.css create mode 100644 skins/subPurple/topic_body.tpl create mode 100644 skins/subPurple/topic_end_body.tpl create mode 100644 skins/subPurple/topic_mod_body.tpl create mode 100644 skins/subPurple/topic_post_body.tpl create mode 100644 skins/subPurple/user_body.tpl create mode 100644 skins/subPurple/users_body.tpl create mode 100644 skins/subPurple/users_end_body.tpl create mode 100644 skins/subPurple/users_item_add_body.tpl create mode 100644 skins/subPurple/warns_add_body.tpl create mode 100644 skins/subPurple/warns_view_body.tpl create mode 100644 skins/subPurple/warns_view_end_body.tpl create mode 100644 skins/subPurple/warns_view_item_body.tpl create mode 100644 skins/subPurple/wyzz_editarea.css create mode 100644 skins/subPurple/wyzz_style.css create mode 100644 tmp/index.html create mode 100644 topic.php create mode 100644 user.php create mode 100644 users.php create mode 100644 warns.php diff --git a/admin/admin_forums.php b/admin/admin_forums.php new file mode 100644 index 0000000..27125c8 --- /dev/null +++ b/admin/admin_forums.php @@ -0,0 +1,587 @@ + +* @link http://pioder.gim2przemysl.int.pl/ +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./../config.php'); +include('./../includes/constants.php'); +include('./../includes/class_db.php'); +include('./../includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./../includes/sessions.php'); +include('./../includes/class_user.php'); +include('./../common.php'); +include('./../includes/admin/class_main.php'); +include('./../includes/class_forum.php'); +include('./../includes/admin/class_forum.php'); +include('./../lngs/'.Admin_Over::DefaultLang().'/admin.php'); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +//$default_skin = Admin_Over::ViewSkinName(); +if (User::UserInformation($_SESSION['uid'],'rank')!=2) +{ + admin_message_forum($lng['yournotadmin'],'../index.php'); +} +function GenerateDefaultDisplay() +{ + //cache forums --don't modify!!! + $cache_id=1; + $sql = "SELECT * FROM ".FORUMS_TABLE." ORDER BY `c_id`, `sort`"; + $query = DataBase::sql_query($sql,'CRITICAL','Could not obtain forum information.'); + while($result = @mysql_fetch_array($query)) + { + $forum[$cache_id]['f_id'] = $result['f_id']; + $forum[$cache_id]['name'] = $result['name']; + $forum[$cache_id]['desc'] = $result['desc']; + $forum[$cache_id]['c_id'] = $result['c_id']; + $forum[$cache_id]['sort'] = $result['sort']; + $cache_id+=1; + } + global $lng; + global $default_skin; + global $forum_config; + //add skin variables + $skin = array( + 'forums&cats'=>$lng['forums_and_cats'], + 'here_write_name_forum'=>$lng['here_write_name_forum'], + 'new_forum_submit'=>$lng['new_forum_submit'], + ); + Admin_Over::GenerateHeader(); + include('./template/forums_beam_body.tpl'); + //add forums and categories + $sql = "SELECT * FROM `".CATS_TABLE."` ORDER BY `sort`"; + $query = DataBase::sql_query($sql,'CRITICAL','Could not obtain categories information.'); + while($result = mysql_fetch_array($query)) + { + $skin = array( + 'category' => $result['name'], + 'c_id'=>$result['c_id'], + 'edit_cat'=>$lng['edit_cat'], + 'move_up'=>$lng['moveup'], + 'move_down'=>$lng['movedown'], + 'delete'=>$lng['delete'], + 'del_cat'=>$lng['c_del_cat'] + ); + include('./template/forum_category_add.tpl'); + for ($i=1; $i<=count($forum); $i++) + { + if ($forum[$i]['c_id']==$result['c_id']) + { + $skin = array( + 'forum_name' => $forum[$i]['name'], + 'forum_id' => $forum[$i]['f_id'], + 'description' => $forum[$i]['desc'], + 'move_up'=>$lng['moveup'], + 'edit_forum'=>$lng['edit_forum'], + 'del_forum'=>$lng['c_del_forum'], + 'move_down'=>$lng['movedown'], + 'delete'=>$lng['delete'] + ); + include('./template/forum_forum_add.tpl'); + } + } + echo ' 
'; + } + $skin = array( + 'here_write_name_cat'=>$lng['here_write_name_cat'], + 'new_cat_submit'=>$lng['new_cat_submit'] + ); + include('./template/forums_view_end_body.tpl'); + include('./template/overall_footer.tpl'); +} +if (!isset($_GET['mode'])) +{ + header('Location: admin_forums.php?mode=view'); +} +switch($_GET['mode']) +{ + case 'new': + { + switch($_GET['submode']) + { + case 'cat': + { + if (isset($_POST['cat_name'])) + { + if (strlen($_POST['cat_name'])>=5) + { + $cat_name = strip_tags($_POST['cat_name']); + $sql = "SELECT `sort` FROM `".CATS_TABLE."` ORDER BY `sort` DESC LIMIT 1"; + $last = @mysql_fetch_array(DataBase::sql_query($sql,'GENERAL','Could not obtain last category sort id')); + $sort = $last ['sort']; + $sort = $sort+1; + $sql = "SELECT `c_id` FROM `".CATS_TABLE."` ORDER BY `c_id` DESC LIMIT 1"; + $last = @mysql_fetch_array(DataBase::sql_query($sql,'GENERAL','Could not obtain last category id')); + $last = $last['c_id']; + $last = $last +1; + $sql = "INSERT INTO `".CATS_TABLE."` VALUES ('$last','$cat_name','$sort')"; + DataBase::sql_query($sql,'GENERAL','Could not add category'); + $msg='./template/blank.tpl'; + admin_message_forum($lng['cat_saved'],'admin_forums.php'); + } + else + { + $msg = './../skins/'.$default_skin.'/post_error_body.tpl'; + $message = $lng['to_short_cat_name']; + } + } + else + { + $_POST['cat_name'] = ''; + $msg='./../skins/'.$default_skin.'/blank.tpl'; + } + $skin = array( + 'here_write_name_forum'=>$lng['here_write_name_forum'], + 'here_write_name_cat'=>$lng['here_write_name_cat'], + 'new_forum_submit'=>$lng['new_forum_submit'], + 'new_cat_submit'=>$lng['new_cat_submit'], + 'L.save'=>$lng['submit'], + 'L.reset'=>$lng['reset'], + 'L.cat_name'=>$lng['cat_name'], + 'forums&cats'=>$lng['forums_and_cats'], + 'L.main_beam'=>$lng['new_cat'], + 'action'=>'admin_forums.php?mode=new&submode=cat' + ); + Admin_Over::GenerateHeader(); + include('./template/cat_new_edit_body.tpl'); + include('./template/overall_footer.tpl'); + break; + } + case 'forum': + { + if (isset($_POST['forum_name'], $_POST['forum_desc'])) + { + if (strlen($_POST['forum_name'])>=5) + { + if (strlen($_POST['forum_desc'])>=5) + { + $forum_name = strip_tags($_POST['forum_name']); + $forum_desc = strip_tags($_POST['forum_desc']); + $forum_cat = $_POST['forum_cat']; + $forum_lock = (isset($_POST['forum_locked'])) ? 1 : 0; + $allow_moderate = (isset($_POST['allow_moderate'])) ? 1 : 0; + $sql = "SELECT `sort`, `c_id` FROM `".FORUMS_TABLE."` WHERE `c_id`='$forum_cat' ORDER BY `sort` DESC LIMIT 1"; + $last = @mysql_fetch_array(DataBase::sql_query($sql,'GENERAL','Could not obtain last forum sort id')); + $sort = $last ['sort']; + $sort = $sort+1; + $sql = "SELECT `f_id` FROM `".FORUMS_TABLE."` ORDER BY `f_id` DESC LIMIT 1"; + $last = @mysql_fetch_array(DataBase::sql_query($sql,'GENERAL','Could not obtain last forum id')); + $last = $last['f_id']; + $last = $last +1; + $sql = "INSERT INTO `".FORUMS_TABLE."` VALUES ('$last','$forum_lock','$allow_moderate', '$forum_name', '$forum_desc','$forum_cat','$sort')"; + DataBase::sql_query($sql,'GENERAL','Could not add forum'); + $msg='./../skins/'.$default_skin.'/blank.tpl'; + admin_message_forum($lng['forum_saved'],'admin_forums.php'); + } + else + { + $msg = './../skins/'.$default_skin.'/post_error_body.tpl'; + $message = $lng['to_short_forum_desc']; + } + } + else + { + $msg = './../skins/'.$default_skin.'/post_error_body.tpl'; + $message = $lng['to_short_forum_name']; + } + } + else + { + if (!isset($_POST['forum_name'])) { $_POST['forum_name'] = ''; } + if (!isset($_POST['forum_desc'])) { $_POST['forum_desc'] = ''; } + $msg='./../skins/'.$default_skin.'/blank.tpl'; + } + $skin = array( + 'here_write_name_forum'=>$lng['here_write_name_forum'], + 'here_write_name_cat'=>$lng['here_write_name_cat'], + 'new_forum_submit'=>$lng['new_forum_submit'], + 'new_cat_submit'=>$lng['new_cat_submit'], + 'L.save'=>$lng['submit'], + 'L.reset'=>$lng['reset'], + 'L.forum_name'=>$lng['forum_name'], + 'L.change_cat'=>$lng['change_cat'], + 'L.forum_locked'=>$lng['forum_locked'], + 'on'=>$lng['allow'], + 'OPTION.forum_locked'=> '', + 'L.allow_moderate'=>$lng['moderate_posts'], + 'forums&cats'=>$lng['forums_and_cats'], + 'OPTION.allow_moderate'=>'', + 'OPTIONS.forum_cat'=>Admin_Forum::AddCats(0), + 'L.forum_desc'=>$lng['forum_desc'], + 'L.main_beam'=>$lng['new_forum'], + 'action'=>'admin_forums.php?mode=new&submode=forum' + ); + Admin_Over::GenerateHeader(); + include('./template/forum_new_edit_body.tpl'); + include('./template/overall_footer.tpl'); + break; + } + } + break; + } + case 'moveup': + { + //temp variables + $i1 = 0; + $i2 = 0; + $r1 = 0; + $r2 = 0; + //BEGIN switch - submode + switch($_GET['submode']) + { + case 'cat': + { + if (isset($_GET['c'])) + { + $i1 = $_GET['c']; + $sql = "SELECT `sort`, `c_id` FROM ".CATS_TABLE." WHERE `c_id`='$i1'"; + $s1 = @mysql_fetch_array(DataBase::sql_query($sql,'CRITICAL','Could not obtain category information.')); + $s1 = $s1['sort']; + $s2 = $s1 -1; + if ($s1>1) + { + $sql = "SELECT `sort`, `c_id` FROM ".CATS_TABLE." WHERE `sort`='$s2'"; + $s2 = @mysql_fetch_array(DataBase::sql_query($sql,'CRITICAL','Could not obtain category information.')); + $i2 = $s2['c_id']; + $s2 = $s2['sort']; + $sql = "UPDATE ".CATS_TABLE." SET `sort`='$s2' WHERE `c_id`='$i1'"; + DataBase::sql_query($sql,'GENERAL','Could not update category position'); + $sql = "UPDATE ".CATS_TABLE." SET `sort`='$s1' WHERE `c_id`='$i2'"; + DataBase::sql_query($sql,'GENERAL','Could not update category position'); + } + } + break; + } + case 'forum': + { + if (isset($_GET['f'])) + { + $i1 = $_GET['f']; + $sql = "SELECT `sort`, `c_id`, `f_id` FROM ".FORUMS_TABLE." WHERE `f_id`='$i1'"; + $s1 = @mysql_fetch_array(DataBase::sql_query($sql,'CRITICAL','Could not obtain forum information.')); + $cid = $s1['c_id']; + $s1 = $s1['sort']; + $s2 = $s1 -1; + if ($s1>1) + { + $sql = "SELECT `sort`, `c_id`, `f_id` FROM ".FORUMS_TABLE." WHERE `sort`='$s2' AND `c_id`='$cid'"; + $s2 = @mysql_fetch_array(DataBase::sql_query($sql,'CRITICAL','Could not forum forum information.')); + $i2 = $s2['f_id']; + $s2 = $s2['sort']; + $sql = "UPDATE ".FORUMS_TABLE." SET `sort`='$s2' WHERE `f_id`='$i1'"; + DataBase::sql_query($sql,'GENERAL','Could not update forum position'); + $sql = "UPDATE ".FORUMS_TABLE." SET `sort`='$s1' WHERE `f_id`='$i2'"; + DataBase::sql_query($sql,'GENERAL','Could not update forum position'); + } + } + break; + } + } + //END switch - submode + GenerateDefaultDisplay(); + break; + } + case 'movedown': + { + //temp variables + $i1 = 0; + $i2 = 0; + $r1 = 0; + $r2 = 0; + //BEGIN switch - submode + switch($_GET['submode']) + { + case 'cat': + { + if (isset($_GET['c'])) + { + $i1 = $_GET['c']; + $i2 = $i1 +1; + $sql = "SELECT `sort`, `c_id` FROM ".CATS_TABLE." WHERE `c_id`='$i1'"; + $s1 = @mysql_fetch_array(DataBase::sql_query($sql,'CRITICAL','Could not obtain category information.')); + $s1 = $s1['sort']; + $s2 = $s1 +1; + $sql = "SELECT `c_id` FROM ".CATS_TABLE; + $count = @mysql_num_rows(DataBase::sql_query($sql,'CRITICAL','Could not obtain category information.')); + if ($s1<$count) + { + $sql = "SELECT `sort`, `c_id` FROM ".CATS_TABLE." WHERE `sort`='$s2'"; + $s2 = @mysql_fetch_array(DataBase::sql_query($sql,'CRITICAL','Could not obtain category information.')); + $i2 = $s2['c_id']; + $s2 = $s2['sort']; + $sql = "UPDATE ".CATS_TABLE." SET `sort`='$s2' WHERE `c_id`='$i1'"; + DataBase::sql_query($sql,'GENERAL','Could not update category position'); + $sql = "UPDATE ".CATS_TABLE." SET `sort`='$s1' WHERE `c_id`='$i2'"; + DataBase::sql_query($sql,'GENERAL','Could not update category position'); + } + } + break; + } + case 'forum': + { + if (isset($_GET['f'])) + { + $i1 = $_GET['f']; + $i2 = $i1 +1; + $sql = "SELECT `sort`, `c_id`, `f_id` FROM ".FORUMS_TABLE." WHERE `f_id`='$i1'"; + $s1 = @mysql_fetch_array(DataBase::sql_query($sql,'CRITICAL','Could not obtain forum information.')); + $cid = $s1['c_id']; + $s1 = $s1['sort']; + $s2 = $s1 +1; + $sql = "SELECT `f_id` FROM ".FORUMS_TABLE." WHERE `c_id`='$cid'"; + $count = @mysql_num_rows(DataBase::sql_query($sql,'CRITICAL','Could not obtain forum information.')); + if ($s1<$count) + { + $sql = "SELECT `sort`, `f_id` FROM ".FORUMS_TABLE." WHERE `sort`='$s2'"; + $s2 = @mysql_fetch_array(DataBase::sql_query($sql,'CRITICAL','Could not obtain forum information.')); + $i2 = $s2['f_id']; + $s2 = $s2['sort']; + $sql = "UPDATE ".FORUMS_TABLE." SET `sort`='$s2' WHERE `f_id`='$i1'"; + DataBase::sql_query($sql,'GENERAL','Could not update forum position'); + $sql = "UPDATE ".FORUMS_TABLE." SET `sort`='$s1' WHERE `f_id`='$i2'"; + DataBase::sql_query($sql,'GENERAL','Could not update forum position'); + } + } + break; + } + } + //END switch - submode + GenerateDefaultDisplay(); + break; + } + case 'delete': + { + //BEGIN switch - submode + switch($_GET['submode']) + { + case 'cat': + { + if (isset($_GET['c'])) + { + $cid = intval($_GET['c']); + $sql = "SELECT * FROM `".CATS_TABLE."` WHERE `c_id`='$cid'"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain category information'); + $result = @mysql_fetch_array($query); + $sort = $result['sort']; + $sql = "SELECT * FROM `".CATS_TABLE."` WHERE `sort`>'$sort'"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain categories information'); + while($item = @mysql_fetch_array($query)) + { + $new_sort = $item['sort']-1; + $cid2 = $item['c_id']; + $sql2 = "UPDATE `".CATS_TABLE."` SET `sort`='$new_sort' WHERE `c_id`='$cid2'"; + DataBase::sql_query($sql,'GENERAL','Could not update category'); + } + $sql = "SELECT `f_id` FROM `".FORUMS_TABLE."` WHERE `c_id`='$cid'"; + $query = DataBase::sql_query($sql, 'GENERAL','Could not obtain forum information.'); + while($item = @mysql_fetch_array($query)) + { + $fid = $item['f_id']; + $sql="DELETE FROM `".POSTS_TABLE."` WHERE `f_id`='$fid'"; + DataBase::sql_query($sql, 'GENERAL','Could not delete post.'); + $sql = "DELETE FROM `".TOPICS_TABLE."` WHERE `f_id`='$fid'"; + DataBase::sql_query($sql, 'GENERAL','Could not delete topic'); + } + $sql = "DELETE FROM `".FORUMS_TABLE."` WHERE `c_id`='$cid'"; + DataBase::sql_query($sql, 'GENERAL','Could not delete topic'); + $sql = "DELETE FROM `".CATS_TABLE."` WHERE `c_id`='$cid'"; + DataBase::sql_query($sql,'GENERAL','Could not delete category.'); + } + } + case 'forum': + { + if (isset($_GET['f'])) + { + $fid = intval($_GET['f']); + $sql = "SELECT * FROM `".FORUMS_TABLE."` WHERE `f_id`='$fid'"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain forum information'); + $result = @mysql_fetch_array($query); + $sort = $result['sort']; + $sql = "SELECT * FROM `".FORUMS_TABLE."` WHERE `sort`>'$sort'"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain forums information'); + while($item = @mysql_fetch_array($query)) + { + $new_sort = $item['sort']-1; + $fid1 = $item['f_id']; + $sql2 = "UPDATE `".FORUMS_TABLE."` SET `sort`='$new_sort' WHERE `f_id`='$fid1'"; + DataBase::sql_query($sql,'GENERAL','Could not update forum'); + } + $sql="DELETE FROM `".POSTS_TABLE."` WHERE `f_id`='$fid'"; + DataBase::sql_query($sql, 'GENERAL','Could not delete post.'); + $sql = "DELETE FROM `".TOPICS_TABLE."` WHERE `f_id`='$fid'"; + DataBase::sql_query($sql, 'GENERAL','Could not delete topic'); + $sql = "DELETE FROM `".FORUMS_TABLE."` WHERE `f_id`='$fid'"; + DataBase::sql_query($sql, 'GENERAL','Could not delete forum'); + } + } + } + GenerateDefaultDisplay(); + break; + } + case 'edit': + { + switch($_GET['submode']) + { + case 'cat': + { + $cid = intval($_GET['c']); + if (isset($_POST['cat_name'])) + { + if (strlen($_POST['cat_name'])>=5) + { + $cat_name = strip_tags($_POST['cat_name']); + $sql = "SELECT `sort`, `c_id` FROM `".FORUMS_TABLE."` WHERE `c_id`='$cat_name' ORDER BY `sort` DESC LIMIT 1"; + $last = @mysql_fetch_array(DataBase::sql_query($sql,'GENERAL','Could not obtain last forum sort id')); + $sort = $last ['sort']; + $sort = $sort+1; + $sql = "UPDATE `".CATS_TABLE."` SET `name`='$cat_name', `sort`='$sort' WHERE `c_id`='$cid'"; + DataBase::sql_query($sql,'GENERAL','Could not update category'); + $msg='./../skins/'.$default_skin.'/blank.tpl'; + admin_message_forum($lng['cat_saved'],'admin_forums.php'); + } + else + { + $msg = './../skins/'.$default_skin.'/post_error_body.tpl'; + $message = $lng['to_short_cat_name']; + } + } + else + { + $tmp = mysql_fetch_array(DataBase::sql_query("SELECT `name` FROM `".CATS_TABLE."` WHERE `c_id`='$cid'",'GENERAL','Could not obtain category information')); + $tmp = $tmp['name']; + $_POST['cat_name'] = $tmp; + if($tmp['name']=='') + { + admin_message_forum($lng['no_category'],'admin_forums.php?mode=view'); + } + unset($tmp); + $msg='./../skins/'.$default_skin.'/blank.tpl'; + } + $skin = array( + 'here_write_name_forum'=>$lng['here_write_name_forum'], + 'here_write_name_cat'=>$lng['here_write_name_cat'], + 'new_forum_submit'=>$lng['new_forum_submit'], + 'new_cat_submit'=>$lng['new_cat_submit'], + 'L.save'=>$lng['submit'], + 'forums&cats'=>$lng['forums_and_cats'], + 'L.reset'=>$lng['reset'], + 'L.cat_name'=>$lng['cat_name'], + 'L.main_beam'=>$lng['edit_cat'], + 'action'=>'admin_forums.php?mode=edit&submode=cat&c='.$cid + ); + Admin_Over::GenerateHeader(); + include('./template/cat_new_edit_body.tpl'); + include('./template/overall_footer.tpl'); + break; + } + case 'forum': + { + $fid = intval($_GET['f']); + if (isset($_POST['forum_name'],$_POST['forum_desc'])) + { + if (strlen($_POST['forum_name'])>=5) + { + if (strlen($_POST['forum_desc'])>=5) + { + $forum_name = strip_tags($_POST['forum_name']); + $forum_desc = strip_tags($_POST['forum_desc']); + $forum_cat = $_POST['forum_cat']; + $sql = "SELECT * FROM `".FORUMS_TABLE."` WHERE `f_id`='$fid'"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain forum information'); + $result = @mysql_fetch_array($query); + $actual_cid = $result['c_id']; + $sort = $result['sort']; + if ($actual_cid != $forum_cat) + { + $sql = "SELECT * FROM `".FORUMS_TABLE."` WHERE `c_id`='$forum_cat' ORDER BY `sort` DESC LIMIT 1"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain forums information'); + $result = @mysql_fetch_array($query); + $sort = $result['sort']+1; + } + + $forum_lock = (isset($_POST['forum_locked'])) ? 1 : 0; + $forum_moderate = (isset($_POST['allow_moderate'])) ? 1 : 0; + $sql = "UPDATE `".FORUMS_TABLE."` SET + `name`='$forum_name', + `desc`='$forum_desc', + `lock`='$forum_lock', + `moderate`='$forum_moderate', + `c_id`='$forum_cat', + `sort`='$sort' + WHERE `f_id`='$fid'"; + DataBase::sql_query($sql,'GENERAL','Could not update forum'); + $msg='./../skins/'.$default_skin.'/blank.tpl'; + admin_message_forum($lng['forum_saved'],'admin_forums.php'); + } + else + { + $msg = './../skins/'.$default_skin.'/post_error_body.tpl'; + $message = $lng['to_short_forum_desc']; + } + } + else + { + $msg = './../skins/'.$default_skin.'/post_error_body.tpl'; + $message = $lng['to_short_forum_name']; + } + } + else + { + $tmp = mysql_fetch_array(DataBase::sql_query("SELECT `name`, `desc` FROM `".FORUMS_TABLE."` WHERE `f_id`='$fid'",'GENERAL','Could not obtain forum information')); + $_POST['forum_name'] = $tmp['name']; + $msg='./../skins/'.$default_skin.'/blank.tpl'; + $_POST['forum_desc'] = $tmp['desc']; + if($tmp['name']=='') + { + admin_message_forum($lng['no_forum'],'admin_forums.php?mode=view'); + } + unset($tmp); + } + $skin = array( + 'here_write_name_forum'=>$lng['here_write_name_forum'], + 'here_write_name_cat'=>$lng['here_write_name_cat'], + 'new_forum_submit'=>$lng['new_forum_submit'], + 'new_cat_submit'=>$lng['new_cat_submit'], + 'L.save'=>$lng['submit'], + 'forums&cats'=>$lng['forums_and_cats'], + 'L.reset'=>$lng['reset'], + 'L.forum_name'=>$lng['forum_name'], + 'L.change_cat'=>$lng['change_cat'], + 'L.forum_locked'=>$lng['forum_locked'], + 'on'=>$lng['allow'], + 'OPTION.forum_locked'=>(Forum::ForumInformation($fid,'lock')==1) ? 'checked="checked"' : '', + 'OPTIONS.forum_cat'=>Admin_Forum::AddCats($fid), + 'L.allow_moderate'=>$lng['moderate_posts'], + 'OPTION.allow_moderate'=>(Forum::ForumInformation($fid,'moderate')==1) ? 'checked="checked"' : '', + 'L.forum_desc'=>$lng['forum_desc'], + 'L.main_beam'=>$lng['edit_forum'], + 'action'=>'admin_forums.php?mode=edit&submode=forum&f='.$fid + ); + Admin_Over::GenerateHeader(); + include('./template/forum_new_edit_body.tpl'); + include('./template/overall_footer.tpl'); + break; + } + } + break; + } + case 'view': + { + GenerateDefaultDisplay(); + break; + } + default: + { + header('Location: admin_forums.php?mode=view'); + break; + } +} +?> diff --git a/admin/admin_groups.php b/admin/admin_groups.php new file mode 100644 index 0000000..5164f12 --- /dev/null +++ b/admin/admin_groups.php @@ -0,0 +1,248 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./../config.php'); +include('./../includes/constants.php'); +include('./../includes/class_db.php'); +include('./../includes/class_error.php'); +include('./../includes/classes/class_pms.php'); +//connect to database +DataBase::db_connect(); +include('./../includes/sessions.php'); +include('./../includes/class_user.php'); +include('./../common.php'); +include('./../includes/admin/class_main.php'); +include('./../includes/class_forum.php'); +include('./../includes/admin/class_forum.php'); +include('./../includes/classes/secure.php'); +include('./../lngs/'.Admin_Over::DefaultLang().'/admin.php'); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +if (User::UserInformation($_SESSION['uid'],'rank')!=2) +{ + admin_message_forum($lng['yournotadmin'],'../index.php'); +} +function GenerateDefaultDisplay() +{ + global $lng; + global $default_skin; + global $forum_config; + $skin['L.groups'] = $lng['admin_groups']; + $skin['L.new_group'] = $lng['new_group']; + Admin_Over::GenerateHeader(); + include('./template/groups_beam_body.tpl'); + $sql = "SELECT `g_id`, `name`, `desc` FROM `".GROUPS_TABLE."` ORDER BY `sort`"; + $query = DataBase::sql_query($sql, 'GENERAL', 'Could not obtain groups information.'); + while($item = mysql_fetch_array($query)) + { + $skin = array( + 'g_id'=>$item['g_id'], + 'name'=>$item['name'], + 'desc'=>$item['desc'], + 'move_up'=>$lng['moveup'], + 'move_down'=>$lng['movedown'], + 'delete'=>$lng['delete'], + 'c_delete'=>$lng['c_delete_group'] + ); + include('./template/group_add_body.tpl'); + } + echo ''; + include('./template/overall_footer.tpl'); +} +if (!isset($_GET['mode'])) +{ + header('Location: admin_groups.php?mode=view'); +} +switch($_GET['mode']) +{ + case 'delete': + { + $gid = $_GET['id']; + Secure::group_exists($gid); + $sql = "DELETE FROM ".GROUPS_TABLE." WHERE `g_id`='$gid'"; + DataBase::sql_query($sql,'GENERAL','Could not delete group.'); + $sql = "DELETE FROM ".USERS_GROUP_TABLE." WHERE `g_id`='$gid'"; + DataBase::sql_query($sql,'GENERAL','Could users in group.'); + GenerateDefaultDisplay(); + break; + } + case 'add': + { + global $lng; + global $forum_config; + global $_POST; + if (isset($_POST['group_name'])) + { + if (strlen(trim($_POST['group_name']))>=5) + { + $group_name = htmlspecialchars($_POST['group_name']); + $group_desc = htmlspecialchars($_POST['group_desc']); + $group_mod = User::UserIdByNick(htmlspecialchars($_POST['group_mod'])); + $result = @mysql_fetch_array(DataBase::sql_query("SELECT `sort` FROM `".GROUPS_TABLE."` + ORDER BY `sort` DESC LIMIT 1",'GENERAL','Could not obtain last category sort id')); + $group_sort = $result['sort']; + $group_sort = $group_sort+1; + $result = @mysql_fetch_array(DataBase::sql_query("SELECT + `g_id` FROM ".GROUPS_TABLE." ORDER BY `g_id` DESC LIMIT 1",'GENERAL','Could not obtain last group id.')); + $group_id = $result['g_id']; + $group_id = $group_id+1; + $sql = "INSERT INTO ".GROUPS_TABLE." VALUES ('$group_id', '$group_name', '$group_desc', '$group_mod', '$group_sort')"; + DataBase::sql_query($sql, 'GENERAL', 'Could not add group'); + unset($group_name, $group_desc, $group_mod, $group_id); + admin_message_forum($lng['group_saved'],'admin_groups.php'); + } + else + { + $msg = './template/post_error_body.tpl'; + $message = $lng['to_short_group_name']; + } + } + else + { + $_POST['group_name'] = ''; + $_POST['group_desc'] = ''; + $_POST['group_mod'] = ''; + $msg='./template/blank.tpl'; + } + $skin = array( + 'L.save'=>$lng['submit'], + 'L.reset'=>$lng['reset'], + 'L.group_name'=>$lng['group_name'], + 'L.group_desc'=>$lng['group_desc'], + 'L.group_mod'=>$lng['group_mod'], + 'L.main_beam'=>$lng['new_group'], + 'action'=>'admin_groups.php?mode=add', + 'L.groups' => $lng['admin_groups'] + ); + Admin_Over::GenerateHeader(); + include('./template/group_new_edit_body.tpl'); + include('./template/overall_footer.tpl'); + break; + } + case 'edit': + { + global $lng; + $gid = $_GET['id']; + global $forum_config; + global $_POST; + Secure::group_exists($gid); + if (isset($_POST['group_name'])) + { + if (strlen(trim($_POST['group_name']))>=5) + { + $group_name = htmlspecialchars($_POST['group_name']); + $group_desc = htmlspecialchars($_POST['group_desc']); + $group_mod = User::UserIdByNick(htmlspecialchars($_POST['group_mod'])); + $group_id = htmlspecialchars($gid); + $sql = "UPDATE ".GROUPS_TABLE." SET + `name` = '$group_name', + `desc` = '$group_desc', + `m_id` = '$group_mod' + WHERE `g_id` = '$group_id'"; + DataBase::sql_query($sql, 'GENERAL', 'Could not update group'); + unset($group_name, $group_desc, $group_mod, $group_id); + admin_message_forum($lng['group_saved'],'admin_groups.php'); + } + else + { + $msg = './template/post_error_body.tpl'; + $message = $lng['to_short_group_name']; + } + } + else + { + $sql = "SELECT * FROM `".GROUPS_TABLE."` WHERE `g_id`='$gid'"; + $g = @mysql_fetch_array(DataBase::sql_query($sql, 'GENERAL','Could not obtain group information.')); + $_POST['group_name'] = $g['name']; + $_POST['group_desc'] = $g['desc']; + $_POST['group_mod'] = User::UserInformation($g['m_id'],'nick'); + $msg='./../skins/'.$default_skin.'/blank.tpl'; + } + $skin = array( + 'L.save'=>$lng['submit'], + 'L.reset'=>$lng['reset'], + 'L.group_name'=>$lng['group_name'], + 'L.group_desc'=>$lng['group_desc'], + 'L.group_mod'=>$lng['group_mod'], + 'L.main_beam'=>$lng['edit_group'], + 'action'=>'admin_groups.php?mode=edit&id='.$gid, + 'L.groups' => $lng['admin_groups'] + ); + Admin_Over::GenerateHeader(); + include('./template/group_new_edit_body.tpl'); + include('./template/overall_footer.tpl'); + break; + } + case 'moveup': + { + if (isset($_GET['id'])) + { + $i1 = intval($_GET['id']); + $sql = "SELECT `sort`, `g_id` FROM ".GROUPS_TABLE." WHERE `g_id`='$i1'"; + $s1 = @mysql_fetch_array(DataBase::sql_query($sql,'CRITICAL','Could not obtain group information.')); + $s1 = $s1['sort']; + $s2 = $s1 -1; + if ($s1>1) + { + $sql = "SELECT `sort`, `g_id` FROM ".GROUPS_TABLE." WHERE `sort`='$s2'"; + $s2 = @mysql_fetch_array(DataBase::sql_query($sql,'CRITICAL','Could not obtain group information.')); + $i2 = $s2['g_id']; + $s2 = $s2['sort']; + $sql = "UPDATE ".GROUPS_TABLE." SET `sort`='$s2' WHERE `g_id`='$i1'"; + DataBase::sql_query($sql,'GENERAL','Could not update group position'); + $sql = "UPDATE ".GROUPS_TABLE." SET `sort`='$s1' WHERE `g_id`='$i2'"; + DataBase::sql_query($sql,'GENERAL','Could not update group position'); + } + } + GenerateDefaultDisplay(); + break; + } + case 'movedown': + { + if (isset($_GET['id'])) + { + $i1 = intval($_GET['id']); + $i2 = $i1 +1; + $sql = "SELECT `sort`, `g_id` FROM ".GROUPS_TABLE." WHERE `g_id`='$i1'"; + $s1 = @mysql_fetch_array(DataBase::sql_query($sql,'CRITICAL','Could not obtain group information.')); + $s1 = $s1['sort']; + $s2 = $s1 +1; + $sql = "SELECT `g_id` FROM ".GROUPS_TABLE; + $count = @mysql_num_rows(DataBase::sql_query($sql,'CRITICAL','Could not obtain group information.')); + if ($s1<$count) + { + $sql = "SELECT `sort`, `g_id` FROM ".GROUPS_TABLE." WHERE `sort`='$s2'"; + $s2 = @mysql_fetch_array(DataBase::sql_query($sql,'CRITICAL','Could not obtain group information.')); + $i2 = $s2['g_id']; + $s2 = $s2['sort']; + $sql = "UPDATE ".GROUPS_TABLE." SET `sort`='$s2' WHERE `g_id`='$i1'"; + DataBase::sql_query($sql,'GENERAL','Could not update group position'); + $sql = "UPDATE ".GROUPS_TABLE." SET `sort`='$s1' WHERE `g_id`='$i2'"; + DataBase::sql_query($sql,'GENERAL','Could not update group position'); + } + } + GenerateDefaultDisplay(); + break; + } + case 'view': + { + GenerateDefaultDisplay(); + break; + } + default: + { + header('Location: admin_groups.php?mode=view'); + break; + } +} +@ini_set('display_errors', '1'); +?> diff --git a/admin/admin_script.php b/admin/admin_script.php new file mode 100644 index 0000000..87bdaa7 --- /dev/null +++ b/admin/admin_script.php @@ -0,0 +1,415 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./../config.php'); +include('./../includes/constants.php'); +include('./../includes/class_db.php'); +include('./../includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./../includes/sessions.php'); +include('./../includes/class_user.php'); +include('./../common.php'); +include('./../includes/admin/class_main.php'); +include('./../includes/class_forum.php'); +include('./../lngs/'.Admin_Over::DefaultLang().'/admin.php'); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +if (User::UserInformation($_SESSION['uid'],'rank')!=2) +{ + admin_message_forum($lng['yournotadmin'],'../index.php'); +} + +function AddSkins() +{ + global $forum_config; + $all=''; + $query = DataBase::sql_query("SELECT `name`, `s_id` FROM `".SKINS_TABLE."`",'GENERAL','Could not obtain skins information'); + while($t = @mysql_fetch_array($query)) + { + + if ($t['s_id']==$forum_config['defaultskin']) + { + $all .= ''; + } + else + { + $all .= ''; + } + } + return $all; + unset($t, $all); +} +function AddPages2($page)//for admin script, not used in limit! +{ + $content = ''; + for ($i=1;$i<=50;$i++) + { + if ($i==$page) + { + $content .= ''; + } + else + { + $content .= ''; + } + } + return $content; + unset($content); +} +function AddLangs() +{ + global $forum_config; + $result=''; + $rep=opendir('./../lngs'); + while ($file = readdir($rep)) + { + if($file != '..' && $file !='.' && $file !='') + { + if (is_dir('./../lngs/'.$file)){ + if ($file==$forum_config['defaultlang']) + { + $result .=''; + } + else + { + $result .=''; + } + } + } + } + return $result; + unset($rep, $file, $result); +} +$errors = true; +if (isset($_POST['forum_path'])) +{ + if (!$_POST['forum_path']) + { + $message = $lng['no_path']; + $ERROR = './template/in_error_body.tpl'; + } + else + { + if ((strlen(trim($_POST['forum_name']))<3) or (strlen(trim($_POST['forum_name']))>30)) + { + $message = $lng['invalid_forum_name']; + $ERROR = './template/in_error_body.tpl'; + } + else + { + if ($_POST['default_skin']!='-1') + { + if ($_POST['default_lang']!='-1') + { + if($_POST['limit_tpid']!='-1') + { + if($_POST['limit_ftid']!='-1') + { + if($_POST['limit_users']!='-1') + { + if((strlen($_POST['forum_desc'])>3) or (strlen($_POST['forum_desc'])<30)) + { + $errors = false; + } + else + { + $message = $lng['invalid_forum_desc']; + $ERROR = './template/in_error_body.tpl'; + } + } + else + { + $message = $lng['no_limit_users']; + $ERROR = './template/in_error_body.tpl'; + } + } + else + { + $message = $lng['no_limit_ftid']; + $ERROR = './template/in_error_body.tpl'; + } + } + else + { + $message = $lng['no_limit_tpid']; + $ERROR = './template/in_error_body.tpl'; + } + } + else + { + $message = $lng['no_lang']; + $ERROR = './template/in_error_body.tpl'; + } + } + else + { + $message = $lng['no_skin']; + $ERROR = './template/in_error_body.tpl'; + } + } + } + if (!$errors) + { + $name = array(); + $value = array(); + /* forum name */ + $name[] = 'forumname'; + $value[] = strip_tags($_POST['forum_name']); + + /* forum description */ + $name[] = 'forumdesc'; + $value[] = strip_tags($_POST['forum_desc']); + + /* forum path */ + $name[] = 'forumpatch'; + $value[] = strip_tags($_POST['forum_path']); + + /* forum disabled */ + $name[] = 'disable_forum'; + $value[] = strip_tags($_POST['forum_disabled']); + + /* default_skin */ + $name[] = 'defaultskin'; + $value[] = $_POST['default_skin']; + + /* default lang */ + $name[] = 'defaultlang'; + $value[] = $_POST['default_lang']; + + /* limit users */ + $name[] = 'limit_users'; + $value[] = $_POST['limit_users']; + + /* limit posts in topic */ + $name[] = 'limit_tpid'; + $value[] = $_POST['limit_tpid']; + + /* limit topics in forum*/ + $name[] = 'limit_ftid'; + $value[] = $_POST['limit_ftid']; + + /* meta keywords */ + $name[] = 'meta_keywords'; + $value[] = strip_tags($_POST['meta_keywords']); + + /* meta description */ + $name[] = 'meta_description'; + $value[] = strip_tags($_POST['meta_description']); + + /* show queries */ + $name[] = 'show_time_generation'; + $value[] = (!isset($_POST['allow_time_generation'])) ? 0 : 1; + + /* enable_confirms */ + $name[] = 'enable_confirms'; + $value[] = (!isset($_POST['enable_confirms'])) ? 0 : 1; + + /* enable_confirms */ + $name[] = 'ip_post_for_mod'; + $value[] = (!isset($_POST['allow_ip_for_mods'])) ? 0 : 1; + + /* use censorlist */ + $name[] = 'use_censorlist'; + $value[] = (!isset($_POST['enable_censorlist'])) ? 0 : 1; + + /* enable warns */ + $name[] = 'allow_warns'; + $value[] = (!isset($_POST['enable_warnings'])) ? 0 : 1; + + /* warns in topic */ + $name[] = 'warns_in_topic'; + $value[] = (!isset($_POST['warnings_in_topic'])) ? 0 : 1; + + //allow_email + $name[] = 'allow_send_email'; + $value[] = (!isset($_POST['enable_send_email'])) ? 0 : 1; + + //allow_upload_avatars + $name[] = 'allow_upload_avatars'; + $value[] = (!isset($_POST['allow_upload_avatars'])) ? 0 : 1; + + /* allow shoutbox */ + $name[] = 'view_shoutbox'; + $value[] = (!isset($_POST['allow_shoutbox'])) ? 0 : 1; + + /* shoutbox max time*/ + $name[] = 'shoutbox_max_time'; + $value[] = (!is_numeric($_POST['shoutbox_max_time'])) ? '14400' : $_POST['shoutbox_max_time']; + + /* color mod */ + $name[] = 'color_mod'; + $value[] = ($_POST['color_mod']=='') ? 'green' : strip_tags($_POST['color_mod']); + + /* color admin */ + $name[] = 'color_admin'; + $value[] = ($_POST['color_admin']=='') ? 'red' : strip_tags($_POST['color_admin']); + + /* av max x */ + $name[] = 'max_av_x'; + $value[] = (!is_numeric($_POST['max_av_x'])) ? '150' : $_POST['max_av_x']; + + /* av max y */ + $name[] = 'max_av_y'; + $value[] = (!is_numeric($_POST['max_av_y'])) ? '150' : $_POST['max_av_y']; + + /* av max filesize */ + $name[] = 'max_av_filesize'; + $value[] = (!is_numeric($_POST['max_av_filesize'])) ? '102400' : ($_POST['max_av_filesize'] * 1024); + + /* sig len */ + $name[] = 'sig_len'; + $value[] = (!is_numeric($_POST['sig_len'])) ? '200' : $_POST['sig_len']; + + /* antiflood time */ + $name[] = 'time_antiflood'; + $value[] = (!is_numeric($_POST['time_antiflood'])) ? '30' : $_POST['time_antiflood']; + + /* tables width */ + $name[] = 'tables_width'; + $value[] = (!is_numeric($_POST['tables_width'])) ? '900' : $_POST['tables_width']; + + /* sig len */ + $name[] = 'sig_len'; + $value[] = (!is_numeric($_POST['sig_len'])) ? '200' : $_POST['sig_len']; + + /* new password len */ + $name[] = 'newpasswd_len'; + $value[] = (!is_numeric($_POST['newpasswd_len'])) ? '6' : $_POST['newpasswd_len']; + + /* shoutbox_max_msgs */ + $name[] = 'shoutbox_max'; + $value[] = (!is_numeric($_POST['shoutbox_limit'])) ? '50' : $_POST['shoutbox_limit']; + + $count_o = count($name); + for($i=0;$i<$count_o;$i++) + { + $sql = "UPDATE `".CONFIG_TABLE."` SET `value`='".$value[$i]."' WHERE `name`='".$name[$i]."'"; + DataBase::sql_query($sql, 'GENERAL', 'Could not update script config'); + } + //end... + unset($name, $value, $count_o, $sql); + admin_message_forum($lng['forum_config_modernized'],'admin_script.php'); + } +} +else +{ + $ERROR='./template/blank.tpl'; +} +//add skin variables +$skin = array( +'main_beam'=>$lng['scriptconfig'], +'L.submit'=>$lng['submit'], +'L.reset'=>$lng['reset'], +'L.general_preferences'=>$lng['general_preferences'], +'L.positioning'=>$lng['positioning_preferences'], +'L.other'=>$lng['other'], +'L.users'=>$lng['users_preferences'], +'L.forum_path'=>$lng['forum_path'], +'L.forum_path.D'=>$lng['t_forum_path'], +'forum_path'=>$forum_config['forumpatch'], +'L.forum_name'=>$lng['forum_name'], +'L.forum_desc'=>$lng['forum_description'], +'forum_desc'=>$forum_config['forumdesc'], +'forum_name'=>$forum_config['forumname'], +'L.forum_disabled'=>$lng['forum_disabled'], +'L.forum_disabled.D'=>$lng['t_forum_disabled'], +'forum_disabled'=>$forum_config['disable_forum'], +'L.default_skin'=>$lng['default_skin'], +'L2.default_skin'=>$lng['select_skin'], +'OPTIONS.default_skin'=>AddSkins(), +'L.default_lang'=>$lng['default_lang'], +'L2.default_lang'=>$lng['select_lang'], +'OPTIONS.default_lang'=>AddLangs(), +'L.meta_keywords'=>$lng['meta_keywords'], +'meta_keywords'=>$forum_config['meta_keywords'], +'L.meta_description'=>$lng['meta_description'], +'meta_description'=>$forum_config['meta_description'], +'L.allow'=>$lng['allow'], +'L.time_generation'=>$lng['show_time_generation'], +'OPTION.time_generation'=>($forum_config['show_time_generation']) ? 'checked="checked"' : '', +'L.enable_censorlist'=>$lng['enable_censorlist'], +'OPTION.enable_censorlist'=>($forum_config['use_censorlist']) ? 'checked="checked"' : '', +'L.enable_warnings'=>$lng['warns_enabled'], +'OPTION.enable_warnings'=>($forum_config['allow_warns']) ? 'checked="checked"' : '', +'L.allow_ip_for_mods'=>$lng['allow_ip_for_mods'], +'OPTION.allow_ip_for_mods'=>($forum_config['ip_post_for_mod']) ? 'checked="checked"' : '', +'L.warnings_in_topic'=>$lng['warns_in_topic'], +'OPTION.warnings_in_topic'=>($forum_config['warns_in_topic']) ? 'checked="checked"' : '', +'L.enable_confirms'=>$lng['enable_confirms'], +'OPTION.enable_confirms'=>($forum_config['enable_confirms']) ? 'checked="checked"' : '', +'L.enable_send_email'=>$lng['enable_send_email'], +'OPTION.enable_send_email'=>($forum_config['allow_send_email']) ? 'checked="checked"' : '', +'L.allow_upload_avatars'=>$lng['allow_upload_avatars'], +'OPTION.allow_upload_avatars'=>($forum_config['allow_upload_avatars']) ? 'checked="checked"' : '', +'L.select_value'=>$lng['select_value'], +'L.limit_users'=>$lng['limit_users'], +'OPTIONS.limit_users'=>AddPages2($forum_config['limit_users']), +'L.posts_in_topic'=>$lng['limit_posts'], +'L.scriptoptions'=>$lng['scriptconfig'], +'OPTIONS.limit_tpid'=>AddPages2($forum_config['limit_tpid']), +'L.topics_in_forum'=>$lng['limit_topics'], +'OPTIONS.limit_ftid'=>AddPages2($forum_config['limit_ftid']), +'L.admin_mod'=>$lng['admin_mod_preferences'], +'L.shoutbox'=>$lng['shoutbox_preferences'], +'L.allow_shoutbox'=>$lng['allow_shoutbox'], +'OPTION.allow_shoutbox'=>($forum_config['view_shoutbox']) ? 'checked="checked"' : '', +'L.shoutbox_max_time'=>$lng['shoutbox_time_clear'], +'OPTION.shoutbox_max_time'=>$forum_config['shoutbox_max_time'], +'L.shoutbox_limit'=>$lng['shoutbox_max_view'], +'OPTION.shoutbox_limit'=>$forum_config['shoutbox_max'], + +/* color mod */ +'L.color_mod'=>$lng['color_mod'], +'OPTION.color_mod' => $forum_config['color_mod'], + +/* color admin */ +'L.color_admin'=>$lng['color_admin'], +'OPTION.color_admin' => $forum_config['color_admin'], + +/* max avatar x */ +'L.max_av_x'=>$lng['max_av_x'], +'OPTION.max_av_x' => $forum_config['max_av_x'], + +/* max avatar y */ +'L.max_av_y'=>$lng['max_av_y'], +'OPTION.max_av_y' => $forum_config['max_av_y'], + +/* max avatar filesize */ +'L.max_av_filesize'=>$lng['max_av_filesize'], +'OPTION.max_av_filesize' => ($forum_config['max_av_filesize'] / 1024), + +/* signature len */ +'L.sig_len'=>$lng['sig_len'], +'OPTION.sig_len' => $forum_config['sig_len'], + +/* antiflood time */ +'L.time_antiflood'=>$lng['time_antiflood'], +'OPTION.time_antiflood' => $forum_config['time_antiflood'], + +/* tables width */ +'L.tables_width'=>$lng['tables_width'], +'OPTION.tables_width' => $forum_config['tables_width'], + +/* new password len */ +'L.newpasswd_len'=>$lng['newpasswd_len'], +'OPTION.newpasswd_len' => $forum_config['newpasswd_len'], + +/* sig len */ +'L.sig_len'=>$lng['sig_len'], +'OPTION.sig_len'=>$forum_config['sig_len'] +); +//do it! +Admin_Over::GenerateHeader(); +include('./template/admin_script.tpl'); +include('./template/overall_footer.tpl'); +?> diff --git a/admin/admin_users.php b/admin/admin_users.php new file mode 100644 index 0000000..13461d2 --- /dev/null +++ b/admin/admin_users.php @@ -0,0 +1,458 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./../config.php'); +include('./../includes/constants.php'); +include('./../includes/class_db.php'); +include('./../includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./../includes/sessions.php'); +include('./../includes/class_user.php'); +include('./../common.php'); +include('./../includes/admin/class_main.php'); +include('./../includes/class_topic.php'); +include('./../includes/classes/secure.php'); +$default_lang = Admin_Over::DefaultLang(); +include('./../lngs/'.$default_lang.'/admin.php'); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +if (User::UserInformation($_SESSION['uid'],'rank')!=2) +{ + admin_message_forum($lng['yournotadmin'],'../index.php'); +} + +if (!isset($_GET['mode'])) +{ + header('Location: admin_users.php?mode=view'); +} +switch($_GET['mode']) +{ + case 'delete': + { + $uid = intval($_GET['id']); + + //delete from users table + $sql = "DELETE FROM ".USERS_TABLE." WHERE `u_id`='$uid'"; + DataBase::sql_query($sql,'GENERAL','Could not delete user.'); + + //delete from PM SentBox table + $sql = "DELETE FROM ".PM_SENTBOX_TABLE." WHERE `u_n_id`='$uid'"; + DataBase::sql_query($sql,'GENERAL','Could not delete user sentbox messages.'); + + //update PM InBox table -> change u_n_id to Anonymous + $sql = "UPDATE ".PM_INBOX_TABLE." SET `u_n_id`='-1' WHERE `u_n_id`='$uid'"; + DataBase::sql_query($sql,'GENERAL','Could not update user inbox messages.'); + + //update user posts -> change u_id to Anonymous + $sql = "UPDATE ".POSTS_TABLE." SET `u_id`='-1' WHERE `u_id`='$uid'"; + DataBase::sql_query($sql,'GENERAL','Could edit post.'); + + //update shoutbox messages -> change u_id to Anonymous + $sql = "UPDATE ".SHOUTBOX_TABLE." SET `u_id`='-1' WHERE `u_id`='$uid'"; + DataBase::sql_query($sql,'GENERAL','Could edit shoutbox messages.'); + + //update user topics -> change u_id to Anonymous + $sql = "UPDATE ".TOPICS_TABLE." SET `author`='-1' WHERE `author`='$uid'"; + DataBase::sql_query($sql,'GENERAL','Could edit post.'); + + //back to admin users + admin_message_forum($lng['user_deleted'],'admin_users.php'); + break; + } + case 'edit': + { + $uid = intval($_GET['id']); + $msg=''; + $errors = true; + if (isset($_POST['email'])) + { + if ( ereg ("^.+@.+\..+$", $_POST['email'])) + { + //if user changing password... + if ($_POST['password']!='') + { + if (md5($_POST['password'])==User::UserInformation($_SESSION['uid'],'pass')) + { + if ($_POST['newpassword']==$_POST['confirmpassword']) + { + User::UpdatePassword($_SESSION['uid'], md5(strip_tags($_POST['newpassword']))); + $errors = false; + } + else + { + $message=$lng['incorrect_password2']; + $msg = './template/post_error_body.tpl'; + } + } + else + { + $message=$lng['incorrect_password']; + $msg = './template/post_error_body.tpl'; + } + } + else + { + if ($_POST['default_skin']!='-1') + { + if ($_POST['default_lang']!='-1') + { + if ($_POST['limit_tpid']!='-1') + { + if ($_POST['limit_ftid']!='-1') + { + if ($_POST['limit_users']!='-1') + { + if (strlen(trim($_POST['sig']))<$forum_config['sig_len']) + { + $errors = false; + } + else + { + $message = $lng['signature_too_long']; + $msg = './template/post_error_body.tpl'; + } + } + else + { + $message = $lng['no_limit_users']; + $msg = './template/post_error_body.tpl'; + } + } + else + { + $message = $lng['no_limit_ftid']; + $msg = './template/post_error_body.tpl'; + } + } + else + { + $message = $lng['no_limit_tpid']; + $msg = './template/post_error_body.tpl'; + } + } + else + { + $message=$lng['invalid_lang']; + $msg = './template/post_error_body.tpl'; + } + } + else + { + $message=$lng['invalid_skin']; + $msg = './template/post_error_body.tpl'; + } + } + if (!$errors) + { + $_POST['ggnumber']=strip_tags($_POST['ggnumber']); + $_POST['interests']=strip_tags($_POST['interests']); + $_POST['sig']=Secure::TagsReplace($_POST['sig']); + $allow_shoutbox = (isset($_POST['allow_shoutbox'])) ? '1' : 0; + if (isset($_FILES['avatar_file']['tmp_name'])) + { + $extension = substr($_FILES['avatar_file']['name'],(strlen($_FILES['avatar_file']['name'])-3)); + if (($extension == 'jpg') or ($extension == 'gif')) + { + if (file_exists(AV_CATALOG.'av-'.$_SESSION['uid'].'.jpg')) + { + unlink(AV_CATALOG.'av-'.$_SESSION['uid'].'.jpg'); + } + if (file_exists(AV_CATALOG.'av-'.$_SESSION['uid'].'.gif')) + { + unlink(AV_CATALOG.'av-'.$_SESSION['uid'].'.gif'); + } + move_uploaded_file($_FILES['avatar_file']['tmp_name'], AV_CATALOG.'av-'.$_SESSION['uid'].'.'.$extension); + $_POST['avatar'] = AV_CATALOG.'av-'.$_SESSION['uid'].'.'.$extension; + } + else + { + $_POST['avatar'] = strip_tags($_POST['avatar']); + } + } + else + { + $_POST['avatar'] = strip_tags($_POST['avatar']); + } + User::UpdateAdminPools($uid,strip_tags($_POST['posts']),$_POST['user_rank'],$_POST['user_active'], strip_tags($_POST['nick'])); + User::UpdateProfile($uid,$_POST['ggnumber'],$_POST['email'],$_POST['interests'], $_POST['sig'],$_POST['avatar'],$_POST['allow_qr'],$_POST['allow_email'],$_POST['allow_gg'],$_POST['default_skin'],$_POST['default_lang'], $_POST['limit_tpid'],$_POST['limit_ftid'], $_POST['limit_users'], $allow_shoutbox); + admin_message_forum($lng['profile_modernized'],'admin_users.php?mode=edit&id='.$uid); + } + } + else + { + $message=$lng['invalid_email']; + $msg = './template/post_error_body.tpl'; + } + } + $sql = "SELECT * FROM ".USERS_TABLE." WHERE `u_id`='$uid'"; + $userinfo = @mysql_fetch_array(DataBase::sql_query($sql,'GENERAL','Could not obtain user information')); + if ($userinfo['rank']=='') + { + admin_message_forum($lng['no_user'],'admin_users.php?mode=view'); + } + //add skin variables + $skin = array( + //labels profile + 'L.admin_users'=>$lng['admin_users'], + 'lnick'=>$lng['user_name'], + 'lpass'=>$lng['lpassw'], + 'lnewpass'=>$lng['new_password'], + 'lcpass'=>$lng['confirm_password'], + 'lemail'=>'E-mail', + 'lgg'=>$lng['gg_number'], + 'lallow_gg'=>$lng['allow_gg'], + 'lallow_email'=>$lng['allow_email'], + 'lallow_qr'=>$lng['allow_qr'], + 'linterests'=>$lng['luinterests'], + 'lsig'=>$lng['sig'], + 'lavaddr'=>$lng['picture_adress'], + 'lovpr'=>$lng['general_settings'], + 'L.select_value'=>$lng['select_value'], + 'L.limit_users'=>$lng['limit_users'], + 'OPTIONS.limit_users'=>Admin_Over::AddPages2($userinfo['limit_users']), + 'L.posts_in_topic'=>$lng['limit_posts'], + 'OPTIONS.limit_tpid'=>Admin_Over::AddPages2($userinfo['limit_tpid']), + 'L.topics_in_forum'=>$lng['limit_topics'], + 'OPTIONS.limit_ftid'=>Admin_Over::AddPages2($userinfo['limit_ftid']), + 'lupr'=>$lng['profile_settings'], + 'lspr'=>$lng['signature_settings'], + 'ladmpr'=>$lng['admin_settings'], + 'luser_rank'=>$lng['user_rank'], + 'luser_actived'=>$lng['user_actived'], + 'lposts'=>$lng['posts'], + 'posts'=>$userinfo['posts'], + 'ldefault_lang'=>$lng['default_lang'], + 'default_lang'=>Admin_Over::AddLangs(), + 'l2default_lang'=>$lng['select_lang'], + 'ldefault_skin'=>$lng['default_skin2'], + 'default_skin'=>Admin_Over::AddSkins(), + 'l2default_skin'=>$lng['select_skin'], + 'lapr'=>$lng['avatar_settings'], + 'lsubmit'=>$lng['save'], + 'allow'=>$lng['allow'], + 'lreset'=>$lng['reset'], + 'nick'=>$userinfo['nick'], + 'user'=>$lng['user'], + 'lallow_shoutbox'=>$lng['allow_shoutbox'], + 'allow_shoutbox'=>($userinfo['view_shoutbox']==1) ? 'checked="checked"' : '', + //options profile + 'sig'=>$userinfo['sig'], + 'avatar'=>$userinfo['avatar'], + 'interests'=>$userinfo['interests'], + 'email'=>$userinfo['email'], + 'gg'=>$userinfo['gg'], + //options values + 'option_no_gg'=>($userinfo['allow_gg']==0) ? 'checked="checked"' : '', + 'option_no_email'=>($userinfo['allow_email']==0) ? 'checked="checked"' : '', + 'option_no_qr'=>($userinfo['allow_qr']==0) ? 'checked="checked"' : '', + 'option_yes_gg'=>($userinfo['allow_gg']==1) ? 'checked="checked"' : '', + 'option_yes_email'=>($userinfo['allow_email']==1) ? 'checked="checked"' : '', + 'option_yes_qr'=>($userinfo['allow_qr']==1) ? 'checked="checked"' : '', + 'option_no_ua'=>($userinfo['active']==0) ? 'checked="checked"' : '', + 'option_yes_ua'=>($userinfo['active']==1) ? 'checked="checked"' : '', + //user rank + 'option_0_rank'=>($userinfo['rank']==0) ? 'checked="checked"' : '', + 'option_1_rank'=>($userinfo['rank']==1) ? 'checked="checked"' : '', + 'option_2_rank'=>($userinfo['rank']==2) ? 'checked="checked"' : '', + 'no'=>$lng['no'], + 'lavfile'=>$lng['avatar_file'], + 'yes'=>$lng['yes'] + ); + if ($msg=='') + { + $msg = './template/blank.tpl'; + } + Admin_Over::GenerateHeader(); + include('./template/user_edit_body.tpl'); + include('./template/overall_footer.tpl');; + break; + } + case 'view': + { + if (isset($_GET['page'])&&($_GET['page']!=1)) + { + if (!is_numeric($_GET['page'])) + { + die('Hacking attempt'); + } + $value = ($_GET['page']-1)*30; + $limit = 'LIMIT '.$value . ', 30'; + $page = $_GET['page']; + } + else + { + $limit = 'LIMIT 0, 30'; + $page=1; + } + $count = @mysql_fetch_array(DataBase::sql_query("SELECT COUNT(`u_id`) as `u_id` + FROM ".USERS_TABLE,'GENERAL','Could not obtain count amout of users')); + $count = $count['u_id']; + $count = ceil($count /30); + if(isset($_GET['page']) && ($_GET['page']>$count)) + { + message_forum($lng['invalidpage'],'admin_users.php'); + } + if (isset($_COOKIE['users_desc'], $_POST['desc'])) + { + unset($_COOKIE['users_desc']); + } + if (isset($_POST['sort'],$_COOKIE['users_sort'])) + { + unset($_COOKIE['users_sort']); + } + if (!isset($_COOKIE['users_desc'])) + { + if (isset($_POST['desc'])) + { + switch($_POST['desc']) + { + case 'yes': + { + @setcookie('users_desc','desc',time()+3600); + $_COOKIE['users_desc'] = 'desc'; + $desc = 'DESC'; + break; + } + case 'no': + { + @setcookie('users_desc','no',time()+3600); + $_COOKIE['users_desc'] = 'no'; + $desc = ''; + break; + } + } + } + else + { + @setcookie('users_desc','no',time()+3600); + $_COOKIE['users_desc'] = 'no'; + $desc = ''; + } + } + else + { + $desc = ($_COOKIE['users_desc']=='desc') ? 'DESC' : ''; + } + if (!isset($_COOKIE['users_sort'])) + { + if (isset($_POST['sort'])) + { + switch($_POST['sort']) + { + case 'regdate': + { + @setcookie('users_sort','regdate',time()+3600); + $_COOKIE['users_sort'] = 'regdate'; + break; + } + case 'lastvisit': + { + @setcookie('users_sort','lastvisit',time()+3600); + $_COOKIE['users_sort'] = 'lastvisit'; + break; + } + case 'uname': + { + @setcookie('users_sort','uname',time()+3600); + $_COOKIE['users_sort'] = 'uname'; + break; + } + case 'posts': + { + @setcookie('users_sort','posts',time()+3600); + $_COOKIE['users_sort'] = 'posts'; + break; + } + } + } + else + { + @setcookie('users_sort','regdate',time()+3600); + $_COOKIE['users_sort'] = 'regdate'; + } + } + //add skin variables + $skin = array( + 'ldesc' => $lng['desc'], + 'lselectusers'=>$lng['sort_u_by'], + 'ltitle'=>$lng['admin_users'], + 'lregdate'=>$lng['luregister'], + 'llastvisit'=>$lng['lulastvisit'], + 'lposts'=>$lng['posts'], + 'luname'=>$lng['user_name'], + 'lgo'=>$lng['lgo'], + 'desc_yes_option'=>(($_COOKIE['users_desc']=='desc') || ((isset ($_POST['desc'])) && ($_POST['desc']=='yes'))) ? 'selected="selected"' : '', + 'desc_no_option'=>(($_COOKIE['users_desc']=='no') || ((isset ($_POST['desc'])) && ($_POST['desc']=='no'))) ? 'selected="selected"' : '', + 'regdate_option'=>(($_COOKIE['users_sort']=='regdate') || ((isset ($_POST['sort'])) && ($_POST['sort']=='posts'))) ? 'selected="selected"' : '', + 'lastvisit_option'=>(($_COOKIE['users_sort']=='lastvisit') || ((isset ($_POST['sort'])) && ($_POST['sort']=='lastvisit'))) ? 'selected="selected"' : '', + 'posts_option'=>(($_COOKIE['users_sort']=='posts') || ((isset ($_POST['sort'])) && ($_POST['sort']=='posts'))) ? 'selected="selected"' : '', + 'uname_option'=>(($_COOKIE['users_sort']=='uname') || ((isset ($_POST['sort'])) && ($_POST['sort']=='uname'))) ? 'selected="selected"' : '', + 'lyes'=>$lng['yes'], + 'lno'=>$lng['no'] + ); + //do it! + Admin_Over::GenerateHeader(); + include('./template/users_beam_body.tpl'); + switch($_COOKIE['users_sort']) + { + case 'regdate': + { + $sql = "SELECT `u_id`,`nick`, `rank`, `regdate`, `lastvisit`, `posts` FROM `".USERS_TABLE."` WHERE `u_id`>0 ORDER BY `regdate` $desc $limit;"; + break; + } + case 'lastvisit': + { + $sql = "SELECT `u_id`,`nick`, `rank`, `regdate`, `lastvisit`, `posts` FROM `".USERS_TABLE."` WHERE `u_id`>0 ORDER BY `lastvisit` $desc $limit;"; + break; + } + case 'uname': + { + $sql = "SELECT `u_id`,`nick`, `rank`, `regdate`, `lastvisit`, `posts` FROM `".USERS_TABLE."` WHERE `u_id`>0 ORDER BY `nick` $desc $limit;"; + break; + } + case 'posts': + { + $sql = "SELECT `u_id`,`nick`, `rank`, `regdate`, `lastvisit`, `posts` FROM `".USERS_TABLE."` WHERE `u_id`>0 ORDER BY `posts` $desc $limit;"; + break; + } + } + $query = DataBase::sql_query($sql,'CRITICAL','Could not obtain user information.'); + while($result = mysql_fetch_array($query)) + { + $skin = array( + 'id'=>$result['u_id'], + 'uname'=>Topic::UserName($result['nick'], $result['rank']), + 'regdate'=>date('d-m-Y, G:i',$result['regdate']), + 'lastvisit'=>($result['lastvisit']!='0') ? date('d-m-Y, G:i',$result['lastvisit']) : $lng['never'], + 'posts'=>$result['posts'], + 'c_del_user'=>$lng['c_delete_user'] + ); + include('./template/user_item_add_body.tpl'); + } + $skin = array( + 'option_pages'=>Admin_Over::AddPages(), + 'lwith'=>$lng['with'], + 'lpage'=>$lng['page'], + 'lpages'=>$count + ); + include('./template/users_end_body.tpl'); + include('./template/overall_footer.tpl'); + break; + } + default: + { + header('Location: admin_users.php?mode=view'); + break; + } +} +?> diff --git a/admin/banlist.php b/admin/banlist.php new file mode 100644 index 0000000..95f114b --- /dev/null +++ b/admin/banlist.php @@ -0,0 +1,377 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./../config.php'); +include('./../includes/constants.php'); +include('./../includes/class_db.php'); +include('./../includes/class_error.php'); +include('./../includes/classes/class_pms.php'); +//connect to database +DataBase::db_connect(); +include('./../includes/sessions.php'); +include('./../includes/class_user.php'); +include('./../common.php'); +include('./../includes/admin/class_main.php'); +include('./../includes/class_forum.php'); +include('./../includes/admin/class_forum.php'); +include('./../includes/classes/secure.php'); +include('./../lngs/'.Admin_Over::DefaultLang().'/admin.php'); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +if (User::UserInformation($_SESSION['uid'],'rank')!=2) +{ + admin_message_forum($lng['yournotadmin'],'../index.php'); +} +if (!isset($_GET['mode'])) +{ + header('Location: banlist.php?mode=view'); +} + +switch($_GET['mode']) +{ + case 'add': + { + switch($_GET['submode']) + { + //ban for user id only + case 'user': + { + if (isset($_POST['u_id'],$_POST['motive'])) + { + $ban_ip = '0.0.0.0'; + $ban_uid = (($_POST['u_id']=='') || ($_POST['u_id']=='No profile') || ($_POST['u_id']=='Guest')) ? '-2' + : strip_tags(User::UserIdByNick(strip_tags($_POST['u_id']))); + if ($ban_uid==$_SESSION['uid']) + { + admin_message_forum($lng['no_ban_me'],'banlist.php?mode=view'); + } + else + { + if (User::UserInformation($ban_uid,'rank')==2) + { + admin_message_forum($lng['no_ban_admin'],'banlist.php?mode=view'); + } + } + if (($ban_ip=='127.0.0.1') || ($ban_ip==$_SERVER['REQUEST_URI'])) + { + message_forum($lng['no_ban_me'],'banlist.php?mode=view'); + } + $ban_motive = strip_tags($_POST['motive']); + $sql = "INSERT INTO ".BANLIST_TABLE." VALUES ('', '$ban_uid', '$ban_ip', '$ban_motive')"; + DataBase::sql_query($sql,'GENERAL','Could not update add ban.'); + admin_message_forum($lng['ban_added'],'banlist.php?mode=view'); + } + else + { + $_POST['motive'] = ''; + $_POST['u_id'] = 'No profile'; + $skin = array( + 'L.banlist'=>$lng['admin_banlist'], + 'action'=>'banlist.php?mode=add&submode=user', + 'L.edit_ban'=>$lng['banlist_add_user'], + 'L.user_name'=>$lng['user_name'], + 'L.motive' => $lng['motive'], + 'L.save'=>$lng['submit'], + 'L.reset'=>$lng['reset'], + 'L.user_name.HELP' => $lng['banlist_info_1'] + ); + Admin_Over::GenerateHeader(); + include('./template/banlist_add_user_body.tpl'); + include('./template/overall_footer.tpl'); + } + break; + } + //ban for ip only + case 'ip': + { + if (isset($_POST['ip'],$_POST['motive'])) + { + $ban_ip = strip_tags($_POST['ip']); + $ban_uid = '-2'; + $ban_motive = strip_tags($_POST['motive']); + if ($ban_uid==$_SESSION['uid']) + { + admin_message_forum($lng['no_ban_me'],'banlist.php?mode=view'); + } + else + { + if (User::UserInformation($ban_uid,'rank')==2) + { + admin_message_forum($lng['no_ban_admin'],'banlist.php?mode=view'); + } + } + if (($ban_ip=='127.0.0.1') || ($ban_ip==$_SERVER['REQUEST_URI'])) + { + message_forum($lng['no_ban_me'],'banlist.php?mode=view'); + } + $bid =$bid = @mysql_fetch_array(DataBase::sql_query("SELECT + `b_id` FROM ".BANLIST_TABLE." ORDER BY `b_id` DESC",'GENERAL', + 'Could not obtain last ban id')); + $bid = $bid['b_id']; + $bid = $bid +1; + $sql = "INSERT INTO ".BANLIST_TABLE." VALUES ('$bid', '$ban_uid', '$ban_ip', '$ban_motive')"; + DataBase::sql_query($sql,'GENERAL','Could not update add ban.'); + admin_message_forum($lng['ban_added'],'banlist.php?mode=view'); + } + else + { + $_POST['ip']='0.0.0.0'; + $_POST['motive'] = ''; + $skin = array( + 'L.banlist'=>$lng['admin_banlist'], + 'action'=>'banlist.php?mode=add&submode=ip', + 'L.edit_ban'=>$lng['banlist_add_ip'], + 'L.user_name'=>$lng['user_name'], + 'L.motive' => $lng['motive'], + 'L.save'=>$lng['submit'], + 'L.reset'=>$lng['reset'], + 'L.ip.HELP' => $lng['banlist_info_2'], + 'L.user_name.HELP' => $lng['banlist_info_1'] + ); + Admin_Over::GenerateHeader(); + include('./template/banlist_add_ip_body.tpl'); + include('./template/overall_footer.tpl'); + } + break; + } + //ban for ip & user id + case 'all': + { + if (isset($_POST['ip'],$_POST['u_id'],$_POST['motive'])) + { + $ban_ip = strip_tags($_POST['ip']); + $ban_uid = (($_POST['u_id']=='') || ($_POST['u_id']=='No profile') || ($_POST['u_id']=='Guest')) ? '-2' + : User::UserIdByNick(strip_tags($_POST['u_id'])); + $ban_motive = strip_tags($_POST['motive']); + if ($ban_uid==$_SESSION['uid']) + { + admin_message_forum($lng['no_ban_me'],'banlist.php?mode=view'); + } + else + { + if (User::UserInformation($ban_uid,'rank')==2) + { + admin_message_forum($lng['no_ban_admin'],'banlist.php?mode=view'); + } + } + if (($ban_ip=='127.0.0.1') || ($ban_ip==$_SERVER['REQUEST_URI'])) + { + message_forum($lng['no_ban_me'],'banlist.php?mode=view'); + } + $bid =$bid = @mysql_fetch_array(DataBase::sql_query("SELECT + `b_id` FROM ".BANLIST_TABLE." ORDER BY `b_id` DESC",'GENERAL', + 'Could not obtain last ban id')); + $bid = $bid['b_id']; + $bid = $bid +1; + $sql = "INSERT INTO ".BANLIST_TABLE." VALUES ('$bid', '$ban_uid', '$ban_ip', '$ban_motive')"; + DataBase::sql_query($sql,'GENERAL','Could not update add ban.'); + admin_message_forum($lng['ban_added'],'banlist.php?mode=view'); + } + else + { + $_POST['ip']= (isset($_GET['ip'])) ? strip_tags($_GET['ip']) : '0.0.0.0'; + $_POST['motive'] = ''; + $_POST['u_id'] = (isset($_GET['uid'])) ? User::UserInformation(intval($_GET['uid']),'nick') : 'No profile'; + $skin = array( + 'L.banlist'=>$lng['admin_banlist'], + 'action'=>'banlist.php?mode=add&submode=all', + 'L.main_beam'=>$lng['edit_word'], + 'L.edit_ban'=>$lng['banlist_add_all'], + 'L.user_name'=>$lng['user_name'], + 'L.motive' => $lng['motive'], + 'L.save'=>$lng['submit'], + 'L.reset'=>$lng['reset'], + 'L.ip.HELP' => $lng['banlist_info_2'], + 'L.user_name.HELP' => $lng['banlist_info_1'] + ); + Admin_Over::GenerateHeader(); + include('./template/banlist_edit_body.tpl'); + include('./template/overall_footer.tpl'); + } + break; + } + //ban with file + case 'file': + { + if (isset($_FILES['file'],$_POST['motive'])) + { + $ban_uid = '-2'; + $ban_motive = strip_tags($_POST['motive']); + $catalog = '../tmp/'; + if(!move_uploaded_file($_FILES['file']['tmp_name'], $catalog.$_FILES['file']['name'])) + { + message_die('GENERAL','Could not upload file.',''); + } + $open = fopen($catalog.$_FILES['file']['name'],'r'); + $file = fread($open, filesize($catalog.$_FILES['file']['name'])); + $item = @explode("\n",$file); + $bid = $bid = @mysql_fetch_array(DataBase::sql_query("SELECT + `b_id` FROM ".BANLIST_TABLE." ORDER BY `b_id` DESC",'GENERAL', + 'Could not obtain last ban id')); + $bid = $bid['b_id']; + $bid = $bid +1; + for($i=0;$i$lng['admin_banlist'], + 'action'=>'banlist.php?mode=add&submode=file', + 'L.main_beam'=>$lng['edit_word'], + 'L.edit_ban'=>$lng['banlist_add_from_file'], + 'L.file_name'=>$lng['file_name'], + 'L.motive' => $lng['motive'], + 'L.save'=>$lng['submit'], + 'L.reset'=>$lng['reset'], + 'L.file.HELP' => $lng['banlist_info_3'] + ); + Admin_Over::GenerateHeader(); + include('./template/banlist_add_file_body.tpl'); + include('./template/overall_footer.tpl'); + } + break; + } + } + break; + } + case 'delete': + { + $bid = $_GET['id']; + $sql = "DELETE FROM ".BANLIST_TABLE." WHERE `b_id`='$bid'"; + DataBase::sql_query($sql,'GENERAL','Could not delete banlist item.'); + admin_message_forum($lng['ban_deleted'],'banlist.php?mode=view'); + break; + } + case 'edit': + { + if (isset($_POST['ip'],$_POST['u_id'],$_POST['motive'],$_GET['id'])) + { + $ban_ip = strip_tags($_POST['ip']); + $ban_uid = (($_POST['u_id']=='') || ($_POST['u_id']!='No profile') || ($_POST['u_id']!='Guest')) ? '-2' + : User::UserIdByNick(strip_tags($_POST['u_id'])); + $ban_motive = $_POST['motive']; + if ($ban_uid==$_SESSION['uid']) + { + admin_message_forum($lng['no_ban_me'],'banlist.php?mode=view'); + } + else + { + if (User::UserInformation($ban_uid,'rank')==2) + { + admin_message_forum($lng['no_ban_admin'],'banlist.php?mode=view'); + } + } + if (($ban_ip=='127.0.0.1') || ($ban_ip==$_SERVER['REQUEST_URI'])) + { + message_forum($lng['no_ban_me'],'banlist.php?mode=view'); + } + $bid = intval($_GET['id']); + $sql = "UPDATE ".BANLIST_TABLE." SET + `IP`='$ban_ip', + `u_id`='$ban_uid', + `motive`='$ban_motive' + WHERE `b_id`='$bid'"; + DataBase::sql_query($sql,'GENERAL','Could not update ban.'); + admin_message_forum($lng['ban_edited'],'banlist.php?mode=view'); + } + else + { + $bid = $_GET['id']; + $sql = "SELECT * FROM ".BANLIST_TABLE." WHERE `b_id`='$bid'"; + $query = DataBase::sql_query($sql,'CRITICAL','Could not obtain banlist item information'); + $result = @mysql_fetch_array($query); + $_POST['ip']=$result['IP']; + $_POST['motive'] = $result['motive']; + $_POST['u_id'] = ($result['u_id']>0) ? User::UserInformation($result['u_id'],'nick') : 'No profile'; + $skin = array( + 'L.banlist'=>$lng['admin_banlist'], + 'action'=>'banlist.php?mode=edit&id='.$bid, + 'L.main_beam'=>$lng['edit_word'], + 'L.edit_ban'=>$lng['banlist_edit_ban'], + 'L.user_name'=>$lng['user_name'], + 'L.motive' => $lng['motive'], + 'L.reset'=>$lng['reset'], + 'L.save'=>$lng['submit'], + 'L.ip.HELP' => $lng['banlist_info_2'], + 'L.user_name.HELP' => $lng['banlist_info_1'] + ); + Admin_Over::GenerateHeader(); + include('./template/banlist_edit_body.tpl'); + include('./template/overall_footer.tpl'); + } + break; + } + case 'clear': + { + $sql = "TRUNCATE `".BANLIST_TABLE."`"; + DataBase::sql_query($sql, 'GENERAL','Could not empty banlist'); + admin_message_forum($lng['banlist_cleanout'],'banlist.php?mode=view'); + } + case 'view': + { + $query = DataBase::sql_query("SELECT `u_id`, `nick` FROM ".USERS_TABLE,'GENERAL','Could not obtain user information'); + while($result = @mysql_fetch_array($query)) + { + $user[$result['u_id']]['nick'] = $result['nick']; + } + $sql = "SELECT * FROM ".BANLIST_TABLE.""; + $query = DataBase::sql_query($sql,'CRITICAL','Could not obtain banlist items'); + $skin=array( + 'L.banlist'=>$lng['admin_banlist'], + 'L.select_mode'=>$lng['what_do_you_want'], + 'L.add_user'=>$lng['banlist_add_user'], + 'L.add_ip'=>$lng['banlist_add_ip'], + 'L.add_all'=>$lng['banlist_add_all'], + 'L.add_file'=>$lng['banlist_add_from_file'], + 'L.clean_banlist' => $lng['banlist_clean'] + ); + Admin_Over::GenerateHeader(); + include('./template/banlist_view_body.tpl'); + if (@mysql_num_rows($query)<1) + { + echo '

'.$lng['banlist_no_items'].'!

'; + } + else + { + while($item = @mysql_fetch_array($query)) + { + $skin = array( + 'user_name'=>($item['u_id']>-1) ? $user[$item['u_id']]['nick'] : 'No profile', + 'ip'=> $item['IP'], + 'motive' => $item['motive'], + 'b_id'=>$item['b_id'], + 'L.delete'=>$lng['delete'], + 'L.edit'=>$lng['edit'] + ); + include('./template/banlist_item_add.tpl'); + } + } + echo ''; + include('./template/overall_footer.tpl'); + break; + } + default: + { + header('Location: banlist.php?mode=view'); + break; + } +} +?> diff --git a/admin/censorlist.php b/admin/censorlist.php new file mode 100644 index 0000000..bfa7189 --- /dev/null +++ b/admin/censorlist.php @@ -0,0 +1,205 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./../config.php'); +include('./../includes/constants.php'); +include('./../includes/class_db.php'); +include('./../includes/class_error.php'); +include('./../includes/classes/class_pms.php'); +//connect to database +DataBase::db_connect(); +include('./../includes/sessions.php'); +include('./../includes/class_user.php'); +include('./../common.php'); +include('./../includes/admin/class_main.php'); +include('./../includes/class_forum.php'); +include('./../includes/admin/class_forum.php'); +include('./../includes/classes/secure.php'); +include('./../lngs/'.Admin_Over::DefaultLang().'/admin.php'); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +if (User::UserInformation($_SESSION['uid'],'rank')!=2) +{ + admin_message_forum($lng['yournotadmin'],'../index.php'); +} + +if (!isset($_GET['mode'])) +{ + header('Location: censorlist.php?mode=main'); +} +switch($_GET['mode']) +{ + case 'addfile': + { + if (isset($_FILES['file'])) + { + $catalog = '../tmp/'; + if(!move_uploaded_file($_FILES['file']['tmp_name'], $catalog.$_FILES['file']['name'])) + { + message_die('GENERAL','Could not upload file.',''); + } + $open = fopen($catalog.$_FILES['file']['name'],'r'); + $file = fread($open, filesize($catalog.$_FILES['file']['name'])); + $item = @explode(',',$file); + $sql = "SELECT `w_id` FROM ".CENSORLIST_TABLE." ORDER BY `w_id` DESC"; + $last = @mysql_fetch_array(DataBase::sql_query($sql,'GENERAL','Could not obtain last word id')); + $last = $last['w_id']; + $last= $last +1; + for($i=0;$i$lng['add_from_file'], + 'L.file_name'=>$lng['file_name'], + 'L.save'=>$lng['submit'], + 'L.reset'=>$lng['reset'], + 'L.censorlist'=>$lng['admin_censorlist'] + ); + Admin_Over::GenerateHeader(); + include('./template/censorlist_upload_body.tpl'); + include('./template/overall_footer.tpl'); + } + break; + } + case 'delete': + { + $wid = intval($_GET['w']); + $sql = "DELETE FROM ".CENSORLIST_TABLE." WHERE `w_id`='$wid'"; + DataBase::sql_query($sql,'GENERAL','Could not delete word.'); + admin_message_forum($lng['word_deleted'],'censorlist.php?mode=view'); + break; + } + case 'addword': + { + if (isset($_POST['word'])) + { + $word = strip_tags($_POST['word']); + $sql = "SELECT `w_id` FROM ".CENSORLIST_TABLE." ORDER BY `w_id` DESC"; + $last = @mysql_fetch_array(DataBase::sql_query($sql,'GENERAL','Could not obtain last word id')); + $last = $last['w_id']; + $last= $last +1; + DataBase::sql_query("INSERT INTO ".CENSORLIST_TABLE." VALUES ('$last','$word')",'GENERAL','Could not add censored word.'); + admin_message_forum($lng['word_added'],'censorlist.php'); + } + else + { + $_POST['word']=''; + $skin = array( + 'action'=>'censorlist.php?mode=addword', + 'L.main_beam'=>$lng['add_word'], + 'L.word_name'=>$lng['word_name'], + 'L.save'=>$lng['submit'], + 'L.reset'=>$lng['reset'], + 'L.censorlist'=>$lng['admin_censorlist'] + ); + Admin_Over::GenerateHeader(); + include('./template/censorlist_add_edit_body.tpl'); + include('./template/overall_footer.tpl'); + } + break; + } + case 'edit': + { + if (isset($_POST['word'],$_GET['w'])) + { + $word = strip_tags(trim($_POST['word'])); + $wid = intval($_GET['w']); + DataBase::sql_query("UPDATE ".CENSORLIST_TABLE." SET `word`='$word' WHERE `w_id`='$wid'",'GENERAL','Could not update censored word.'); + admin_message_forum($lng['word_edited'],'censorlist.php?mode=view'); + } + else + { + $wid = intval($_GET['w']); + $sql = "SELECT * FROM ".CENSORLIST_TABLE." WHERE `w_id`='$wid'"; + $query = DataBase::sql_query($sql,'CRITICAL','Could not obtain censorlist words'); + $result = @mysql_fetch_array($query); + $_POST['word']=$result['word']; + $skin = array( + 'action'=>'censorlist.php?mode=edit&w='.$wid, + 'L.main_beam'=>$lng['edit_word'], + 'L.word_name'=>$lng['word_name'], + 'L.save'=>$lng['submit'], + 'L.reset'=>$lng['reset'], + 'L.censorlist'=>$lng['admin_censorlist'] + ); + Admin_Over::GenerateHeader(); + include('./template/censorlist_add_edit_body.tpl'); + include('./template/overall_footer.tpl'); + } + break; + } + case 'deleteall': + { + DataBase::sql_query("TRUNCATE TABLE ".CENSORLIST_TABLE,'GENERAL','Could not empty censorlist table.'); + admin_message_forum($lng['table_cleanout'],'censorlist.php'); + break; + } + case 'view': + { + $sql = "SELECT * FROM ".CENSORLIST_TABLE." ORDER BY `word`"; + $query = DataBase::sql_query($sql,'CRITICAL','Could not obtain censorlist words'); + $skin = array( + 'L.censorlist'=>$lng['admin_censorlist'], + 'L.view_all_words'=>$lng['view_all_words'] + ); + Admin_Over::GenerateHeader(); + include('./template/censorlist_view_body.tpl'); + if (@mysql_num_rows($query)<1) + { + echo '

'.$lng['no_words'].'!

'; + } + else + { + while($item = @mysql_fetch_array($query)) + { + $skin = array( + 'L.word_name'=>$item['word'], + 'w_id'=>$item['w_id'], + 'L.delete'=>$lng['delete'], + 'L.edit'=>$lng['edit'], + ); + include('./template/censorlist_word_add.tpl'); + } + } + include('./template/overall_footer.tpl'); + break; + } + case 'main': + { + $skin = array( + 'L.show_all_words' => $lng['show_all_words'], + 'L.what_do_you_want'=> $lng['what_do_you_want'], + 'L.delete_all_words' => $lng['delete_all_words'], + 'L.add_from_file' => $lng['add_from_file'], + 'L.add_word' => $lng['add_word'], + 'L.censorlist'=>$lng['admin_censorlist'] + ); + Admin_Over::GenerateHeader(); + include('./template/censorlist_main_body.tpl'); + include('./template/overall_footer.tpl'); + break; + } + default: + { + header('Location: censorlist.php?mode=main'); + break; + } +} +?> diff --git a/admin/check_script.php b/admin/check_script.php new file mode 100644 index 0000000..a77e0b9 --- /dev/null +++ b/admin/check_script.php @@ -0,0 +1,197 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./../config.php'); +include('./../includes/constants.php'); +include('./../includes/class_db.php'); +include('./../includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./../includes/sessions.php'); +include('./../includes/class_user.php'); +include('./../common.php'); +include('./../includes/admin/class_main.php'); +include('./../includes/class_forum.php'); +include('./../lngs/'.Admin_Over::DefaultLang().'/admin.php'); +include('./../admin/check_script_data.php'); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); + +if (User::UserInformation($_SESSION['uid'],'rank')!=2) +{ + admin_message_forum($lng['yournotadmin'],'../index.php'); +} +$ERROR = './template/blank.tpl'; +//functions .. in this script +function check_size_md5($file) +{ + if ( file_exists($file) ) + { + $result = @filesize($file); + return md5($result); + } + else + { + return false; + } +} +function mysqlversion() +{ + $temp = ''; + $result = mysql_fetch_array(DataBase::sql_query("SELECT VERSION() AS mysql_version",'GENERAL','Could not read mysql version.')); + $result = $result['mysql_version']; + for($i=0;$i<5;$i++) + { + $temp .= $result[$i]; + } + $result = $temp; + unset($temp); + return($result); +} + +function db_size() +{ + $sql = "SHOW TABLE STATUS"; + $db_size = 0; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain database size'); + while ($result = @mysql_fetch_array($query)) + { + $db_size += $result['Index_length']; + } + $db_size = $db_size / 1024; + if ($db_size >=1024) + { + $db_size = $db_size / 1024; + $db_size = round($db_size,2); + $db_size = $db_size.' MB'; + } + else + { + $db_size = round($db_size,2); + $db_size = $db_size.' KB'; + } + return $db_size; +} + +function forum_size($path = './../') +{ + $size = 0; + if (is_dir($path)) + { + if ($dh = opendir($path)) + { + while (($file = readdir($dh)) !== false) + { + if ($file != '.' && $file != '..') + { + if (is_dir($path.$file)) + { + $size+= forum_size($path.$file.'/'); + } + else + { + $size+= filesize($path.$file); + } + } + } + closedir($dh); + } + return $size; + } + else + { + return filesize($path); + } +} +$forum_size = forum_size(); +$forum_size = $forum_size / 1024; +if ($forum_size >=1024) +{ + $forum_size = $forum_size / 1024; + $forum_size = round($forum_size,2); + $forum_size = $forum_size.' MB'; +} +else +{ + $forum_size = round($forum_size,2); + $forum_size = $forum_size.' KB'; +} + +$count =0; + +for($i=0; $i$lng['scriptstat'], +'L.name'=>$lng['name'], +'L.value'=>$lng['value'], + +//php version +'L.php_version'=>$lng['php_version'], +'PHP.version'=>phpversion(), +'PHP.value' => (phpversion()>='4.3.10') ? 'OK' : ' Error - No OK', + +//mysql version +'mySQL.version'=>$sql_version, +'L.mySQL_version'=>$lng['mysql_version'], +'mySQL.value'=>($sql_version>='4.1') ? 'OK' : ' Error - No OK', + +//database size +'L.db_size' => $lng['db_size'], +'db_size' => db_size(), + +//forum size +'L.forum_size' => $lng['forum_size'], +'forum_size' => $forum_size, + +//catalogs writable +'L.cat_name'=>$lng['catalog'], +'cat1.name'=> $folders[0], +'cat1.value'=> (@is_writable($folders[0])) ? ''.$lng['is_writable'].' - OK' : ''.$lng['not_writable'].' Error - No OK', +'cat2.name'=> $folders[1], +'cat2.value'=> (@is_writable($folders[1])) ? ''.$lng['is_writable'].' - OK' : ''.$lng['not_writable'].' Error - No OK', +'cat3.name'=> $folders[2], +'cat3.value'=> (!@is_writable($folders[2])) ? ''.$lng['not_writable'].' - OK' : ''.$lng['is_writable'].' Error - No OK', +'successfully' => ($count <1) ? ''.$lng['files_is_good'].' ('.count($script_files).')' : ''.$lng['files_not_good'].$count.'' +); +Admin_Over::GenerateHeader(); +include('./template/check_script.tpl'); +for($i=0; $i$lng['original_sum'], + 'L.sum_actual'=>$lng['actual_sum'], + 'sum_rule'=>$rule, + 'sum_actual'=>$actual, + 'L.invalid_md5sum'=>$lng['invalid_md5sum'].' ('.substr($script_files[$i], strrpos($script_files[$i], '/') + 1, strlen($script_files[$i])).')' + ); + include('./template/invalidfile_body.tpl'); + } + } +} +include('./template/overall_footer.tpl'); + +?> diff --git a/admin/check_script_data.php b/admin/check_script_data.php new file mode 100644 index 0000000..76210c7 --- /dev/null +++ b/admin/check_script_data.php @@ -0,0 +1,64 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if ( !defined('IN_uF') ) +{ + die('Hacking attempt'); +} +//size files in md5 +$size_md5['../common.php'] = '426f990b332ef8193a61cc90516c1245'; +$size_md5['../eprofile.php'] = '1868f17c2c15b5eafdc3cce2f5ac97d5'; +$size_md5['../forum.php'] = 'acf666483bc8723fae7feda6f6a9cb7a'; +$size_md5['../groups.php'] = '6b493230205f780e1bc26945df7481e5'; +$size_md5['../index.php'] = 'd71f5142463efcf6dc7be216cf4644b5'; +$size_md5['../login.php'] = 'e275193bc089e9b3ca1aeef3c44be496'; +$size_md5['../moderate.php'] = '6562c5c1f33db6e05a082a88cddab5ea'; +$size_md5['../pms.php'] = 'f22e4747da1aa27e363d86d40ff442fe'; +$size_md5['../posting.php'] = 'f5dffc111454b227fbcdf36178dfe6ac'; +$size_md5['../search.php'] = '3016a447172f3045b65f5fc83e04b554'; +$size_md5['../shoutbox.php'] = '102f0bb6efb3a6128a3c750dd16729be'; +$size_md5['../quick_reply.php'] = '7a53928fa4dd31e82c6ef826f341daec'; +$size_md5['../register.php'] = '14f2ebeab937ca128186e7ba876faef9'; +$size_md5['../topic.php'] = 'b0bf8b3daf61246d13276dc8dcdfb87d'; +$size_md5['../user.php'] = 'bf56a1b37b94243486b2034f8479c475'; +$size_md5['../users.php'] = '7990ec44fcf3d7a0e5a2add28362213c'; +$size_md5['../warns.php'] = '9570efef719d705326f0ff817ef084e6'; + +$size_md5['../includes/class_db.php'] = 'a376033f78e144f494bfc743c0be3330'; +$size_md5['../includes/class_email.php'] = 'e37b08dd3015330dcbb5d6663667b8b8'; +$size_md5['../includes/class_error.php'] = '8232e119d8f59aa83050a741631803a6'; +$size_md5['../includes/class_forum.php'] = '87f7ee4fdb57bdfd52179947211b7ebb'; +$size_md5['../includes/class_mod.php'] = '4764f37856fc727f70b666b8d0c4ab7a'; +$size_md5['../includes/classes/class_pms.php'] = '850af92f8d9903e7a4e0559a98ecc857'; +$size_md5['../includes/class_overall.php'] = '92c3d054835eff3d5a7f7ed731d2a3db'; +$size_md5['../includes/class_posting.php'] = '9c72e0c8882794b79d65f14776a0a974'; +$size_md5['../includes/class_shoutbox.php'] = 'cd14821dab219ea06e2fd1a2df2e3582'; +$size_md5['../includes/class_topic.php'] = '48f7d3043bc03e6c48a6f0ebc0f258a8'; +$size_md5['../includes/class_user.php'] = '2d5951d1e3b31dfb7fd2dcc172df17fd'; +$size_md5['../includes/constants.php'] = 'fc79250f8c5b804390e8da280b4cf06e'; +$size_md5['../includes/msgs_delete.php'] = '571e0f7e2d992e738adff8b1bd43a521'; +$size_md5['../includes/msgs_folder.php'] = 'd756d3d2b9dac72449a6a6926534558a'; +$size_md5['../includes/msgs_view.php'] = '291d43c696d8c3704cdbe0a72ade5f6c'; +$size_md5['../includes/msgs_write.php'] = 'b0b79da57b95837f14be95aaa4d54cf8'; +$size_md5['../includes/classes/secure.php'] = 'a084f26f690dbc23a52e67027693f2b2'; +$size_md5['../includes/sessions.php'] = 'e91068fff3d7fa1594dfdf3b4308433a'; +$size_md5['../includes/sql_parse.php'] = '4a1590df1d5968d41b855005bb8b67bf'; + +$size_md5['../includes/admin/class_forum.php'] = 'e205ee2a5de471a70c1fd1b46033a75f'; +$size_md5['../includes/admin/class_main.php'] = '65ae450c5536606c266f49f1c08321f2'; + +$size_md5['../includes/cache/cache_index.php'] = '88a839f2f6f1427879fc33ee4acf4f66'; +$size_md5['../includes/cache/cache_forums.php'] = '6ef80bb237adf4b6f77d0700e1255907'; +$size_md5['../includes/cache/cache_topic.php'] = '9a11883317fde3aef2e2432a58c86779'; + +$script_files = array_keys($size_md5); + +//name folders for writing... +$folders = array('../images/avatars','../tmp','../config.php'); +?> diff --git a/admin/forum_info.php b/admin/forum_info.php new file mode 100644 index 0000000..e5605b1 --- /dev/null +++ b/admin/forum_info.php @@ -0,0 +1,107 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./../config.php'); +include('./../includes/constants.php'); +include('./../includes/class_db.php'); +include('./../includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./../includes/sessions.php'); +include('./../includes/class_user.php'); +include('./../common.php'); +include('./../includes/admin/class_main.php'); +include('./../includes/class_forum.php'); +include('./../lngs/'.Admin_Over::DefaultLang().'/admin.php'); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +if (User::UserInformation($_SESSION['uid'],'rank')!=2) +{ + admin_message_forum($lng['yournotadmin'],'../index.php'); +} + +//check script version... +$errno = 0; +$errstr = ''; +$version = ''; +if ($open = @fsockopen('pioder.gim2przemysl.int.pl', 80, $errno, $errstr, 10)) +{ + @fputs($open, "GET /updates.php?app=dsf HTTP/1.1\r\n"); + @fputs($open, "HOST: pioder.gim2przemysl.int.pl\r\n"); + @fputs($open, "Connection: close\r\n\r\n"); + $get_info = false; + while (!@feof($open)) + { + if ($get_info) + { + $version .= @fread($open, 1024); + } + else + { + if (@fgets($open, 1024) == "\r\n") + { + $get_info = true; + } + } + } + @fclose($open); + if ($version==VERSION) + { + $result = $lng['noupdates']; + } + else + { + $result = $lng['updatenow']; + } +} +else +{ + echo ' + + + + +
+ Could not connect to script server. Server is unavailable. +
'; + $result = $lng['noupdates']; +} +unset($addr,$open, $version, $get_info, $errstr, $errno); +//add skin variables +$skin = array( +'dsf_pa'=>$lng['dsf_pa'], +'index'=>$lng['index'], +'gotoforum'=>$lng['go_to_forum'], +'scriptstat'=>$lng['scriptstat'], +'scriptoptions'=>$lng['scriptconfig'], +'admin_forums'=>$lng['admin_forums'], +'admin_groups'=>$lng['admin_groups'], +'admin_users'=>$lng['admin_users'], +'admin_banlist'=>$lng['admin_banlist'], +'main_beam'=>$lng['pa_mainpage'], +'L.forum_stats'=>$lng['forum_stats'], +'L.install_date'=>$lng['forum_installed'], +'L.topics'=>$lng['topics'], +'L.posts'=>$lng['posts'], +'L.script_version'=>$lng['scriptversion'], +'L.updates'=>$lng['updates'], +'install_date'=>date('d-m-Y, G:i',$forum_config['date_install']), +'topics'=>Admin_Over::TotalTopics(), +'posts'=>Admin_Over::TotalPosts(), +'updates'=>$result, +'L.welcome_pa'=>$lng['pa_welcome'] +); +//do it! +Admin_Over::GenerateHeader(); +include('./template/index_body.tpl'); +include('./template/overall_footer.tpl'); +?> diff --git a/admin/header.php b/admin/header.php new file mode 100644 index 0000000..4155208 --- /dev/null +++ b/admin/header.php @@ -0,0 +1,46 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +include('./../config.php'); +include('./../includes/constants.php'); +include('./../includes/class_db.php'); +include('./../includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./../includes/sessions.php'); +include('./../includes/class_user.php'); +include('./../common.php'); +include('./../includes/admin/class_main.php'); +include('./../lngs/'.Admin_Over::DefaultLang().'/admin.php'); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +if (User::UserInformation($_SESSION['uid'],'rank')!=2) +{ + admin_message_forum($lng['yournotadmin'],'../index.php'); +} +$skin = array( + 'uf_pa'=>$lng['uf_pa_nav'], + 'index'=>$lng['index'], + 'gotoforum'=>$lng['go_to_forum'], + 'scriptstat'=>$lng['scriptstat'], + 'scriptoptions'=>$lng['scriptconfig'], + 'admin_forums'=>$lng['admin_forums'], + 'admin_groups'=>$lng['admin_groups'], + 'admin_users'=>$lng['admin_users'], + 'admin_banlist'=>$lng['admin_banlist'], + 'admin_censorlist'=>$lng['admin_censorlist'], + 'admin_smilelist'=>$lng['admin_smilelist'], + 'mass_email' => $lng['mass_email'], + 'admin_styles' => $lng['styles'], + 'main_beam'=>$lng['pa_mainpage'] + ); + include('./template/overall_header.tpl'); +?> diff --git a/admin/index.php b/admin/index.php new file mode 100644 index 0000000..a6dc79b --- /dev/null +++ b/admin/index.php @@ -0,0 +1,66 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./../config.php'); +include('./../includes/constants.php'); +include('./../includes/class_db.php'); +include('./../includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./../includes/sessions.php'); +include('./../includes/class_user.php'); +include('./../common.php'); +include('./../includes/admin/class_main.php'); +include('./../includes/class_forum.php'); +include('./../lngs/'.Admin_Over::DefaultLang().'/admin.php'); +$default_skin = Admin_Over::ViewSkinName(); +sess_del_invalid(); +sess_register($_SESSION['uid']); +sess_delete_old(); +if (User::UserInformation($_SESSION['uid'],'rank')!=2) +{ + admin_message_forum($lng['yournotadmin'],'../index.php'); +} +/*echo ' + + + + + +DSF Administration + + + + + + +Sorry, you browser doesn\'t support frames. + + +';*/ +echo ' + + + + + +µForum Administration + + + + + + +Sorry, you browser doesn\'t support frames. + + +'; +?> diff --git a/admin/info.php b/admin/info.php new file mode 100644 index 0000000..99b6f2f --- /dev/null +++ b/admin/info.php @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin/mass_email.php b/admin/mass_email.php new file mode 100644 index 0000000..565b103 --- /dev/null +++ b/admin/mass_email.php @@ -0,0 +1,67 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./../config.php'); +include('./../includes/constants.php'); +include('./../includes/class_db.php'); +include('./../includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./../includes/sessions.php'); +include('./../includes/class_user.php'); +include('./../common.php'); +include('./../includes/admin/class_main.php'); +include('./../includes/class_email.php'); +include('./../includes/class_forum.php'); +include('./../includes/admin/class_forum.php'); +include('./../lngs/'.Admin_Over::DefaultLang().'/admin.php'); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +if (User::UserInformation($_SESSION['uid'],'rank')!=2) +{ + admin_message_forum($lng['yournotadmin'],'../index.php'); +} +if (!$forum_config['allow_send_email']) +{ + admin_message_forum($lng['mass_email_disabled'],'forum_info.php'); +} + +if (isset($_POST['msg_content'])) +{ + if (strlen($_POST['msg_content'])>=5) + { + Email::SendMassEmail(str_replace('%email%',$forum_config['forumname'],$lng['mass']),Post::TagsReplace($_POST['msg_content'])); + $msg='./template/blank.tpl'; + admin_message_forum($lng['mass_email_sended'],'forum_info.php'); + } + else + { + $msg = './template/post_error_body.tpl'; + $message = $lng['to_short_msg_content']; + } +} +else +{ + $_POST['msg_content'] = ''; + $msg='./template/blank.tpl'; +} +$skin = array( +'L.save'=>$lng['submit'], +'mass_email'=>$lng['mass_email'], +'L.reset'=>$lng['reset'], +'L.msg_content'=>$lng['msg_content'], +'L.main_beam'=>$lng['mass_email2'] +); +Admin_Over::GenerateHeader(); +include('./template/mass_email.tpl'); +include('./template/overall_footer.tpl'); +?> diff --git a/admin/smilelist.php b/admin/smilelist.php new file mode 100644 index 0000000..5bb6e2e --- /dev/null +++ b/admin/smilelist.php @@ -0,0 +1,230 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./../config.php'); +include('./../includes/constants.php'); +include('./../includes/class_db.php'); +include('./../includes/class_error.php'); +include('./../includes/classes/class_pms.php'); +//connect to database +DataBase::db_connect(); +include('./../includes/sessions.php'); +include('./../includes/class_user.php'); +include('./../common.php'); +include('./../includes/admin/class_main.php'); +include('./../includes/class_forum.php'); +include('./../includes/admin/class_forum.php'); +include('./../includes/classes/secure.php'); +include('./../lngs/'.Admin_Over::DefaultLang().'/admin.php'); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +if (User::UserInformation($_SESSION['uid'],'rank')!=2) +{ + admin_message_forum($lng['yournotadmin'],'../index.php'); +} + +if (!isset($_GET['mode'])) +{ + header('Location: smilelist.php?mode=view'); +} +switch($_GET['mode']) +{ + case 'add': + { + switch($_GET['submode']) + { + //add one smile + case 'one': + { + if (isset($_POST['word'],$_POST['url'])) + { + $sql = "SELECT * FROM ".SMILES_TABLE." ORDER BY `s_id` DESC LIMIT 1"; + $query = DataBase::sql_query($sql,'CRITICAL','Could not obtain smilelist item information'); + $result = @mysql_fetch_array($query); + $smile_id = $result['s_id']; + $smile_id = $smile_id +1; + $smile_word = strip_tags($_POST['word']); + $smile_url = strip_tags($_POST['url']); + $sql = "INSERT INTO ".SMILES_TABLE." VALUES('$smile_id','$smile_word','$smile_url')"; + DataBase::sql_query($sql,'GENERAL','Could not add smile.'); + admin_message_forum($lng['smile_added'],'smilelist.php?mode=view'); + } + else + { + $_POST['word']=''; + $_POST['url'] = ''; + $skin = array( + 'L.smilelist'=>$lng['admin_smilelist'], + 'action'=>'smilelist.php?mode=add&submode=one', + 'L.edit_smile'=>$lng['smilelist_add'], + 'L.smile'=>$lng['smile'], + 'L.url' => $lng['url'], + 'L.save'=>$lng['submit'], + 'L.clear'=>$lng['reset'] + ); + Admin_Over::GenerateHeader(); + include('./template/smilelist_edit_body.tpl'); + include('./template/overall_footer.tpl'); + } + break; + } + //add smiles with file + case 'file': + { + if (isset($_FILES['file'],$_POST['motive'])) + { + $ban_uid = '-2'; + $ban_motive = strip_tags($_POST['motive']); + $catalog = '../tmp/'; + if(!move_uploaded_file($_FILES['file']['tmp_name'], $catalog.$_FILES['file']['name'])) + { + message_die('GENERAL','Could not upload file.',''); + } + $open = @fopen($catalog.$_FILES['file']['name'],'r'); + $file = @fread($open, filesize($catalog.$_FILES['file']['name'])); + $item = @explode("\n",$file); + $bid = $bid = @mysql_fetch_array(DataBase::sql_query("SELECT + `s_id` FROM ".SMILES_TABLE." ORDER BY `s_id` DESC",'GENERAL', + 'Could not obtain last smile id')); + $sid = $sid['s_id']; + $sid = $sid +1; + for($i=0;$i$lng['admin_smilelist'], + 'action'=>'smilelist.php?mode=add&submode=file', + 'L.add_file'=>$lng['smilelist_add_from_file'], + 'L.file_name'=>$lng['file_name'], + 'L.save'=>$lng['submit'], + 'L.clear'=>$lng['reset'], + 'L.file.HELP' => $lng['smilelist_info_1'] + ); + Admin_Over::GenerateHeader(); + include('./template/smilelist_add_file_body.tpl'); + include('./template/overall_footer.tpl'); + } + break; + } + } + break; + } + case 'delete': + { + $sid = $_GET['id']; + $sql = "DELETE FROM ".SMILES_TABLE." WHERE `s_id`='$sid'"; + DataBase::sql_query($sql,'GENERAL','Could not delete smilelist item.'); + admin_message_forum($lng['smile_deleted'],'smilelist.php?mode=view'); + break; + } + case 'edit': + { + if (isset($_POST['word'],$_POST['url'],$_GET['id'])) + { + $smile_id = strip_tags($_GET['id']); + $smile_word = strip_tags($_POST['word']); + $smile_url = strip_tags($_POST['url']); + $bid = $_GET['id']; + $sql = "UPDATE ".SMILES_TABLE." SET + `smile`='$smile_word', + `url`='$smile_url' + WHERE `s_id`='$smile_id'"; + DataBase::sql_query($sql,'GENERAL','Could not update smile.'); + admin_message_forum($lng['smile_edited'],'smilelist.php?mode=view'); + } + else + { + $sid = intval($_GET['id']); + $sql = "SELECT * FROM ".SMILES_TABLE." WHERE `s_id`='$sid'"; + $query = DataBase::sql_query($sql,'CRITICAL','Could not obtain smilelist item information'); + $result = @mysql_fetch_array($query); + if ($result['s_id']=='') + { + admin_message_forum($lng['no_smile'],'smilelist.php?mode=view'); + } + $_POST['word']=$result['smile']; + $_POST['url'] = $result['url']; + $skin = array( + 'L.smilelist'=>$lng['admin_smilelist'], + 'action'=>'smilelist.php?mode=edit&id='.$sid, + 'L.edit_smile'=>$lng['smilelist_edit'], + 'L.smile'=>$lng['smile'], + 'L.url' => $lng['url'], + 'L.save'=>$lng['submit'], + 'L.clear'=>$lng['reset'] + ); + Admin_Over::GenerateHeader(); + include('./template/smilelist_edit_body.tpl'); + include('./template/overall_footer.tpl'); + } + break; + } + case 'clear': + { + $sql = "TRUNCATE `".SMILES_TABLE."`"; + DataBase::sql_query($sql, 'GENERAL','Could not empty smilelist'); + admin_message_forum($lng['smilelist_cleanout'],'smilelist.php?mode=view'); + } + case 'view': + { + $sql = "SELECT * FROM ".SMILES_TABLE.""; + $query = DataBase::sql_query($sql,'CRITICAL','Could not obtain smilelist items'); + $skin=array( + 'L.smilelist'=>$lng['admin_smilelist'], + 'L.select_mode'=>$lng['what_do_you_want'], + 'L.add'=>$lng['smilelist_add'], + 'L.add_file'=>$lng['smilelist_add_from_file'], + 'L.clean_smilelist' => $lng['smilelist_clean'] + ); + Admin_Over::GenerateHeader(); + include('./template/smilelist_view_body.tpl'); + if (@mysql_num_rows($query)<1) + { + echo '

'.$lng['smilelist_no_items'].'!

'; + } + else + { + while($item = @mysql_fetch_array($query)) + { + $skin = array( + 'smile_word'=>$item['smile'], + 'addr'=> $item['url'], + 'visual_smile' => $item['url'], + 's_id'=>$item['s_id'], + 'L.delete'=>$lng['delete'], + 'L.edit'=>$lng['edit'] + ); + include('./template/smilelist_item_add.tpl'); + } + } + include('./template/overall_footer.tpl'); + break; + } + default: + { + header('Location: smilelist.php?mode=view'); + break; + } +} +?> diff --git a/admin/styles.php b/admin/styles.php new file mode 100644 index 0000000..22a4917 --- /dev/null +++ b/admin/styles.php @@ -0,0 +1,112 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./../config.php'); +include('./../includes/constants.php'); +include('./../includes/class_db.php'); +include('./../includes/class_error.php'); +include('./../includes/classes/class_pms.php'); +//connect to database +DataBase::db_connect(); +include('./../includes/sessions.php'); +include('./../includes/class_user.php'); +include('./../common.php'); +include('./../includes/admin/class_main.php'); +include('./../includes/class_forum.php'); +include('./../includes/admin/class_forum.php'); +include('./../includes/classes/secure.php'); +include('./../lngs/'.Admin_Over::DefaultLang().'/admin.php'); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); + +if (User::UserInformation($_SESSION['uid'],'rank')!=2) +{ + admin_message_forum($lng['yournotadmin'],'../index.php'); +} +if (!isset($_GET['mode'])) +{ + header('Location: styles.php?mode=view'); +} +switch($_GET['mode']) +{ + case 'delete': + { + $sid = intval($_GET['id']); + if ($sid!=$forum_config['defaultskin']) + { + $sql = "DELETE FROM ".SKINS_TABLE." WHERE `s_id`='$sid'"; + DataBase::sql_query($sql,'GENERAL','Could not delete skin'); + $sql = "UPDATE ".USERS_TABLE." SET `skin`='".$forum_config['defaultskin']."' WHERE `skin`='$sid'"; + DataBase::sql_query($sql,'GENERAL','Could not update user'); + admin_message_forum($lng['skins_deleted'],'styles.php?mode=view'); + } + else + { + admin_message_forum($lng['styles_info_1'],'styles.php?mode=view'); + } + break; + } + case 'view': + { + if (isset($_POST['skin'])) + { + if(strlen(trim($_POST['skin']))>3) + { + if (is_dir('./../skins/'.$_POST['skin'])) + { + $last = DataBase::new_id(SKINS_TABLE); + DataBase::sql_query("INSERT INTO ".SKINS_TABLE." VALUES ('$last','".strip_tags($_POST['skin'])."')",'GENERAL','Could not add skin'); + $_POST['skin']=''; + admin_message_forum($lng['skins_added'],'styles.php?mode=view'); + } + else + { + $_POST['skin']=''; + admin_message_forum($lng['invalid_skin'],'styles.php?mode=view'); + } + } + } + else + { + $_POST['skin']=''; + } + $skin = array( + 'L.main_beam'=>$lng['admin_styles'], + 'L.install'=>$lng['install'], + 'L.new_skin'=>$lng['new_skin'], + 'L.delete'=>$lng['delete'], + 'L.actual_skins'=>$lng['actual_skins'] + ); + Admin_Over::GenerateHeader(); + include('./template/skins_beam_body.tpl'); + $sql = "SELECT * FROM ".SKINS_TABLE; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain skins information'); + while ($item = @mysql_fetch_array($query)) + { + $skin=array( + 'L.delete' => $lng['delete'], + 'skin_name' => $item['name'], + 's_id' => $item['s_id'] + ); + include('./template/skins_item_add.tpl'); + } + echo ''; + include('./template/overall_footer.tpl'); + break; + } + default: + { + header('Location: styles.php?mode=view'); + break; + } +} +?> diff --git a/admin/template/admin_script.tpl b/admin/template/admin_script.tpl new file mode 100644 index 0000000..538afd5 --- /dev/null +++ b/admin/template/admin_script.tpl @@ -0,0 +1,382 @@ +
+
+
+

+
+ +
+ + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ :  
+    +
+ +
+ :   + + +
+ :   + + +
+ :  
+    +
+ +
+ :   + + +
+ :   + + +
+ :   + + +
+ :   + + value="1"> +
+ :   + + value="1"> +
+ :   + + +
+ :   + + +
+ :   + + +
+ :   + + +
+ :   + + +
+ :   + + +
+  + + + + + + + +
+ +
+ + + + + + + + + + + +
+ :   + + +
+ :   + + +
+  + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + +
+ :   + + value="1"> +
+ :   + + +
+ :   + + +
+ :   + + +
+  + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ :   + + value="1"> +
+ :   + + +
+ :   + + +
+  + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ :   + + +
+ :   + + +
+ :   + + value="1"> +
+ :   + + value="1"> +
+ :   + + value="1"> +
+ :   + + value="1"> +
+ :   + + value="1"> +
+ + +
diff --git a/admin/template/banlist_add_file_body.tpl b/admin/template/banlist_add_file_body.tpl new file mode 100644 index 0000000..d0b8529 --- /dev/null +++ b/admin/template/banlist_add_file_body.tpl @@ -0,0 +1,52 @@ + +
+
+
+
+
+ +
+
+ + + + + + +
+

+
+ + + + + + + + + + + + + + + + +
+ : + + + + + +
+ : + + + +   +
+   +   +
+
diff --git a/admin/template/banlist_add_ip_body.tpl b/admin/template/banlist_add_ip_body.tpl new file mode 100644 index 0000000..2df832d --- /dev/null +++ b/admin/template/banlist_add_ip_body.tpl @@ -0,0 +1,50 @@ +
+
+
+
+
+ +
+
+ + + + + + +
+

+
+ + + + + + + + + + + + + + + + +
+ IP: + + + + +
+ : + + + +   +
+   +   +
+
diff --git a/admin/template/banlist_add_user_body.tpl b/admin/template/banlist_add_user_body.tpl new file mode 100644 index 0000000..2636242 --- /dev/null +++ b/admin/template/banlist_add_user_body.tpl @@ -0,0 +1,50 @@ +
+
+
+
+
+ +
+
+ + + + + + +
+

+
+ + + + + + + + + + + + + + + + +
+ : + + + + +
+ : + + + +   +
+   +   +
+
diff --git a/admin/template/banlist_edit_body.tpl b/admin/template/banlist_edit_body.tpl new file mode 100644 index 0000000..a47cf92 --- /dev/null +++ b/admin/template/banlist_edit_body.tpl @@ -0,0 +1,62 @@ +
+
+
+
+
+ +
+
+ + + + + + +
+

+
+ + + + + + + + + + + + + + + + + + + + + + +
+ IP: + + + + +
+ : + + + + +
+ : + + + +   +
+   +   +
+
diff --git a/admin/template/banlist_item_add.tpl b/admin/template/banlist_item_add.tpl new file mode 100644 index 0000000..03fb9c3 --- /dev/null +++ b/admin/template/banlist_item_add.tpl @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/admin/template/banlist_view_body.tpl b/admin/template/banlist_view_body.tpl new file mode 100644 index 0000000..db34f75 --- /dev/null +++ b/admin/template/banlist_view_body.tpl @@ -0,0 +1,25 @@ +
+
+
+
+
+ +
+ + + + + + +
+

?

+
+ + + diff --git a/admin/template/blank.tpl b/admin/template/blank.tpl new file mode 100644 index 0000000..d3f5a12 --- /dev/null +++ b/admin/template/blank.tpl @@ -0,0 +1 @@ + diff --git a/admin/template/cat_new_edit_body.tpl b/admin/template/cat_new_edit_body.tpl new file mode 100644 index 0000000..0397274 --- /dev/null +++ b/admin/template/cat_new_edit_body.tpl @@ -0,0 +1,29 @@ +
+
+
+
+
+ +
+ +
+
+ + •  + •  + •  + •  +
+ + + + + +
+ + + + + + + +
: +
+   + +
+ diff --git a/admin/template/censorlist_add_edit_body.tpl b/admin/template/censorlist_add_edit_body.tpl new file mode 100644 index 0000000..2e04133 --- /dev/null +++ b/admin/template/censorlist_add_edit_body.tpl @@ -0,0 +1,35 @@ +
+
+
+
+
+ +
+
+ + + + + + +
+

+

+ + + + + + + + +
+ : + + +
+   +   + +
+
diff --git a/admin/template/censorlist_main_body.tpl b/admin/template/censorlist_main_body.tpl new file mode 100644 index 0000000..ec4bb75 --- /dev/null +++ b/admin/template/censorlist_main_body.tpl @@ -0,0 +1,30 @@ +
+
+
+
+
+ +
+ + + + + + +
+

?

+
+ + + + + + + + + + + + + +
diff --git a/admin/template/censorlist_upload_body.tpl b/admin/template/censorlist_upload_body.tpl new file mode 100644 index 0000000..25f013a --- /dev/null +++ b/admin/template/censorlist_upload_body.tpl @@ -0,0 +1,34 @@ +
+
+
+
+
+ +
+
+ + + + + + +
+

+

+ + + + + + + + +
: + + + 
+   +   + +
+
diff --git a/admin/template/censorlist_view_body.tpl b/admin/template/censorlist_view_body.tpl new file mode 100644 index 0000000..baa0b16 --- /dev/null +++ b/admin/template/censorlist_view_body.tpl @@ -0,0 +1,16 @@ +
+
+
+
+
+ +
+ + + + + + +
+

+

diff --git a/admin/template/censorlist_word_add.tpl b/admin/template/censorlist_word_add.tpl new file mode 100644 index 0000000..c7d0fe6 --- /dev/null +++ b/admin/template/censorlist_word_add.tpl @@ -0,0 +1,17 @@ + + + + + + +
+ + + + + + + + + +
diff --git a/admin/template/check_script.tpl b/admin/template/check_script.tpl new file mode 100644 index 0000000..9bba17f --- /dev/null +++ b/admin/template/check_script.tpl @@ -0,0 +1,77 @@ +
+
+
+
+
+ +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ ():   + + +
+ ():   + + +
+ :   + + +
+ :   + + +
+ ():   + + +
+ ():   + + +
+ ():   + + +
+ +
diff --git a/admin/template/forum_category_add.tpl b/admin/template/forum_category_add.tpl new file mode 100644 index 0000000..0ec4359 --- /dev/null +++ b/admin/template/forum_category_add.tpl @@ -0,0 +1,24 @@ + + + + + + + + +
+ + + + + + + + + + + || + + + +
diff --git a/admin/template/forum_forum_add.tpl b/admin/template/forum_forum_add.tpl new file mode 100644 index 0000000..748ff75 --- /dev/null +++ b/admin/template/forum_forum_add.tpl @@ -0,0 +1,22 @@ + + + + + + +
+
+ +
+ + + + + + + + || + + + +
\ No newline at end of file diff --git a/admin/template/forum_new_edit_body.tpl b/admin/template/forum_new_edit_body.tpl new file mode 100644 index 0000000..ea023bf --- /dev/null +++ b/admin/template/forum_new_edit_body.tpl @@ -0,0 +1,69 @@ +
+
+
+
+
+ +
+ +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ : + + +
+ : +
+
+ : + + +
+ : + + > + +
+ : + + > + +
+ +   + +
+
diff --git a/admin/template/forums_beam_body.tpl b/admin/template/forums_beam_body.tpl new file mode 100644 index 0000000..b77e15a --- /dev/null +++ b/admin/template/forums_beam_body.tpl @@ -0,0 +1,30 @@ + +
+
+
+
+
+ +
+   + +
+
diff --git a/admin/template/forums_view_end_body.tpl b/admin/template/forums_view_end_body.tpl new file mode 100644 index 0000000..f915abf --- /dev/null +++ b/admin/template/forums_view_end_body.tpl @@ -0,0 +1,5 @@ +
+
+  + +
\ No newline at end of file diff --git a/admin/template/group_add_body.tpl b/admin/template/group_add_body.tpl new file mode 100644 index 0000000..2b3e794 --- /dev/null +++ b/admin/template/group_add_body.tpl @@ -0,0 +1,21 @@ + + + +
+ + + + + + + + + + + + || + + + + + diff --git a/admin/template/group_new_edit_body.tpl b/admin/template/group_new_edit_body.tpl new file mode 100644 index 0000000..675b4ee --- /dev/null +++ b/admin/template/group_new_edit_body.tpl @@ -0,0 +1,48 @@ +
+
+
+
+
+ +
+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ : + + +
+ : +
+
: + +
+   + +
+
diff --git a/admin/template/groups_beam_body.tpl b/admin/template/groups_beam_body.tpl new file mode 100644 index 0000000..84d8eb0 --- /dev/null +++ b/admin/template/groups_beam_body.tpl @@ -0,0 +1,21 @@ + +
+
+
+
+
+ +
+ +
+
+ diff --git a/admin/template/images/Thumbs.db b/admin/template/images/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..b72e01ee667cb2e6069e6ece9d0b1a8dd245c136 GIT binary patch literal 38912 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 Yw-v4Q?7Lqz8>sU=`S@eb{zXUQKlo+%?EnA( literal 0 HcmV?d00001 diff --git a/admin/template/images/delete_small.gif b/admin/template/images/delete_small.gif new file mode 100644 index 0000000000000000000000000000000000000000..2676b022fd4a9d926282895cdf200d49c1038238 GIT binary patch literal 634 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 literal 0 HcmV?d00001 diff --git a/admin/template/images/favicon.ico b/admin/template/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0772662d730a1b8b104a724cf3ed6a9a0847fe3b GIT binary patch literal 1342 zcmb`H%W~675QfEqH=rmUfd#L9DArJHfOEJMq)13&iX3bRwq@OA$?}YB>pGedpX`K6 zkzz;NlB}NjyZ`=s+Lm>P&%JvV_XpO)yOwp|vaE+(xc1M%e{GNMSk`b|TYt;6*6a1! z_x(K2Z!Pxbw(Eum$TC?9A^adnlB8|h8;gJZX^bh0Vmh13T-J46RuvI~Ac&%kH;rp$K&a2Mt1V1X}Vgi!Z5ULn+;TSJIHRgn@lFI zxi*{4a&NBhEu2Lh$E5fT%bw|U8ik=0Vm6yi#^c3evE6Q)reO)`q?BaGek0Ew$Uu*< z2t{=;bR1`dou4mk8#t`WvLpg5e!<}nkk@SA7q&?utGb0+*LCD2DRF375QfVn-4&$} z^1z&=tP*pTWv=UzSIRu!K(!?-aPF;AWz))C?L_Ix=t~&I_^FyMpd@5ab3V6ur8Oi4 zo^RUD7zMV|MWfR~JF-3gJXv@_+bXb-Oj0V1;7k_?0#E#%Hp{F@bG2;@Ur`xvV=glF z{>ywa_sd3+7?KAmVD5X~cC%4R(ZWU>QJZf;{UcG{)_A#|3Voh*um2CuE`zjCrRqsU z$?!-2Fp7wyx{ek$x|dCFOMT`wr;)nI%xKvih24uw@$NGFmg%_Y$%5?Mqd2B;Xb=ai z(xy^PFDJTVqSXXtNHFI))PTx{o%mV(=5xt5{DL$9f@kCw~Y>^y724K zQhgHoU08ldn-42#(I_ranS(jh$r z1XrGO9}djWkHPP_evoAAN(cL)q&jxZ>8@=vtw?t@di&`^K#Z`cab@dut4%$etSf^m aOK>K`O(X2Va2{9;J94_52BOe`)~$ literal 0 HcmV?d00001 diff --git a/admin/template/images/folder_new_posts.gif b/admin/template/images/folder_new_posts.gif new file mode 100644 index 0000000000000000000000000000000000000000..75ed4d440ec9ade62bf60483ee0c60587a09b5b0 GIT binary patch literal 1811 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 O7$G`B&{2oO9sDnesTxE8 literal 0 HcmV?d00001 diff --git a/admin/template/images/gg_active.gif b/admin/template/images/gg_active.gif new file mode 100644 index 0000000000000000000000000000000000000000..620c66d2f1ecf2413c58c3353ae5ec4259bcaece GIT binary patch literal 2692 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 Fe*t@$X%PSb literal 0 HcmV?d00001 diff --git a/admin/template/images/gg_small_active.gif b/admin/template/images/gg_small_active.gif new file mode 100644 index 0000000000000000000000000000000000000000..c51dd574ac06cca9939e4e597a4fac7e0c428798 GIT binary patch literal 2017 zcmc)J=~t6i0>|+{Bw`K(bm-AXhl&gb;0A@%QFR>%OB9!bIK~@4g%pI6d|a9XnU|-1=>-EK>H9B4?zj)Fq8}f$uJa;zz*aQAVC;` zQq-GJdJ}e!Vm+f+FX|Z9i#CqQ#xXhC1lBi!$<Z#8_4Vd2Z#G}P+1%XR z+T7Yc@BdH7pc)}k;Lt?|}{xrN14u|u=b{LuC-sAj`aofKM&U6d+-fV-|+N#ba z;!SbZtnW1WR%XEgX|2IJJkgdCMN6ZE<=b2E{DN%+;YDV2H|7Mz2v6K)ACPgIawOMm zCpB2_6Jnf4z}rz{C%(&J2zEM8Fz#1&aLh^mv9-QrO`e65EY(oY$KTuK5|I59CGC8I z;^aQ2o^>!czlTE4E?Z^4BHDU=R^%Ax8OF2qX6&$c4Kgt&`EFfdHacjD)*pPvv1WU6 zSn7Ex``<+`wb$nw<=tsEp(YlNv@=SUO(?Oz~R2 zKlQbfp+qlX<0DI41JmB=)%eIu&kkp-8(wL+#ZG~#Tl(5^%~bKTA1*zSl@v#o?tXRc z-30K8vi1z&8r+xh)7GA0B(~N%lA6P@J-T--*ZRmhjbm+P9I}HGX1V5W8)g~Ev56#A zQVt!Z>cjRkf*yt0#ssWs3;w`(q_s;3vq>QzbLDevqxY_9ZKG*x+QJV$w$a%c7#?|c z@hrP=vLPYPgv7YOHz6k`u~+O9zfzkxe3ACZ#DSF^5>8HF?oTB%YtQA8lbGoyHA$>o zf@5N1&b<8@mS)P~OI1#>Ba7ohaLO&QAvk?i8^?7@rJ8dca<1B>I#zK#A{A#8|r z%YJ9`SNE%L)cNi?Pb^HwFan)7{truftox4HRpRK?4WlTE#YcyE6pU~<%7f%UH}&8; z#z#%LdbOE)UZ*U}Jqs>UV|6Zeed$v?*9*K`UX@*XPio+@-m7$J&UE4M?`^MB%hs3T zf`9WZ2X<_~WgoIoE8}bOYy6K_WOO9!a`5i)^~{bG5s$p*w326b$D2_{=O@+CMeQ|p zXLeCf#d{yC4f^8zePPF*#pvK%^Oq#0ojAHV$n2M)N}t%4@W4xNIi#Nxgss7uGtMvW zh+|orf}OuER-Wok{WS0Glm1S_*?Y2S9l`!p(y$;Z&o;c^?%ufU&&z#}&yb|?$wseD z8XVFdstruDh=VH9p_8H*{xMzVfoF@Yp@NUIYty9vZ2eR`X`;!$DQ}B{_un< zu|Ij`#qrlCd*jtH-iZU!WmWpak~wMhhp7{CqiZIGPF<^ad%wQt)|qwr;RO4qxW%!} zZ~d5tft1y;2cHa_RwRF45k7um-)Zod@BejewdV4v2lK|PEC2a1KiYrrZpCcY088=t zwGq~xha6H2Z#GZ0RKedz{yUQ&kk08Si!9SNSEHC&<}V%_NULRTXDUg z_AM9CCWBIng9$$u7LAe43CqXVjpsg6n^LLekTGA=f`^@jHfgI+?e^_X>kkB?eQLZ V(V_DUL9wrbLD%oiMc@3B{{c^Leq;au literal 0 HcmV?d00001 diff --git a/admin/template/images/index.html b/admin/template/images/index.html new file mode 100644 index 0000000..ff17433 --- /dev/null +++ b/admin/template/images/index.html @@ -0,0 +1,15 @@ + + + + + Untitled + + + + +

+ + +

+ + diff --git a/admin/template/images/lng_Polish/Thumbs.db b/admin/template/images/lng_Polish/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..b886c586e8419e1a2bb923030772bd0ee20d253d GIT binary patch literal 39936 zcmeI52V4|Ow(ti534#O(0tzZgK|m#E1qA^S5y?r30uD%$3`RgCNLD0B63G%rvWO%} zl4ZzQavm~#XS~~r$Z!YBN*-2!iGaBv~fySqQ7#QuJNCg36V;9&E|o)a7Y)^kl@A7Tj7h#OGq8;DzQ z7fgTJ^t=9&gA~N(`z`#IgR##e27AE}u+Q$F2~hsuoj>+HDF0coAtW90}|1}FlT0VUuHpbT6ERDf%MDxe0a16WxR0kIaK z4d?*6fF7U^TnBCd27n=81Q-J*0QOnD377%qfCYd(9};3qzzVnxSOYeIEno-O19t!i zz!AW{&CY-e;0m|_?f~{&cOfPLu+Km*ybrsdcLxyU@-lKV2pk+7xV-DIts7nu+&z1+ z{~_SPe|$oGd^|jSVgiD_ge1fyB>RZ>?IYb!Nlv<-V*kE<N7mmThC&I@kq9WZ#O7*+L?mGkpA@-thagHJOP~hNF;Ou_D>Jc1#xLWK5 z{~U1kz%}kAAS5E*2MO}v4aLF5-GhgVy=qA92Ky0s6!?@!PoLX+K=}s2F>9(b_X1-H znWeJIsjoKAv+x?&+$SQYp*=`P&&tMr`~(Ldzkr~Su!!{e3o^17<>Xbasj8`KXlfZ6 z8Jn2iG&8rgv%llu=;Zw1;UiBk@5eqt!6Bhx;m@8&#Kk8hzDjzXoRXcBo0pGzTTuAE z;zMOsbxrNZme#iRj?T|r=)s}kkz9)KL%ArR zTzl~FaPbJR<-*zH0N_&K;U7J{m-3u4!42yJ$Ijd%q>>7Z%_=8i=Dj*kZD7+(OvA!A z$hv?n+Sii(wu0UNLnZsAV1FwY8bN}K13w-v1t{QcriG>eu4Qq|sY!uCyWu@#bOK_SM9@<6RWaMhyx?oaqD=fgx^zg^%h6A|t6s;U< z!%w?({n)qo*x`KRXr(QBvzV=L-K2=V{!m6U%vNflr}gtsUdKM@cbq6Isqva-O-)+s zUc5N8ix`X*liWo}w0I1(UfM;B6iWW%h8eNenf0sdNp0?`&D$jr9!)E|h`T&H7j@ox ztgo)+`0OG)AI|S0wl?K<5f2o3cM(Bf{_Ccxyd|aATd%+V+39PL9N*YQyrbPkupIi; zvrHw-Cw(YkuMDa@gp;1|Ec-o6G?AK`a+s>4QJ@3P5|V`ymz+?o$}7UHjAJaXNJGhA zjMjeib%DjYff=IQm`43P?j#O7-Nf7B8c8f}AhDRHzKs}ejb5L0ON)PW`p^aM%Er(O_{70lt2S=_Cr!=> z>78%yR#=p6)Be)0f96YJfVaIx#Xbx4P)e*#M{8~xg88-C6~pMFGF+{2n!Y2CXCJzA zv>(19)h{;7aI8b~bJ7Q zmXxygM6oR5^V$QIkSf`F?oqlLf>*;+Q)rYsBpe{@W4i=HzTy*0IXOf&wfnMz6VE@FV`s#Uz3Ydpb&%vr9n2qA;h6$eARGMM$l zEoX7AYYZH?7d)eOON<@A&yVYa?~S)4=Z%_ZnDEc-Ip$hX&VHN0F+FiG?_lb-`%cI% zVl$SLFL)Obt{=; z2vbQvmz@{3{JrB9ni(u+NkKM?7spwjO|0St&nmiBIlX`4m2!Qmnqr1(@|>$!es28s zxNUQ}p+xRDErS+M`iA7OY4URpLssIu0_peVxE6d zE5BMPvp=qjr?0vc#eyCwlwrZ#tis9L;&VzuWNt`W?cCU(bi%b3&Ulz7rx=P*{ zER}OYh&jH>y5iJuTW6e8h*Ri$Fv$I6g+Pb*TY zNzRaF(kmTNqhrUzFQ4?_)$K`;%!Wd+m5^qeM7Hl>~L$pXlCLasdl?v1f?T!^P!rj zdUBLGB$PDo2lmJgYLyzB=#nvG_$aD|$93gY^?CcAcpWuu;B$JF>J+^kZCXOR zU#jWZ%_YaF@Ajsx+Vly|U*AO}t?we1eTH5wal{F@+72{zYGemWb@bGWkLB*p#6t*0o(kAy-a3sdTBE%uv%Oi@Ig z4-%dJ$*@)D+&9`6jOoZLN#y7Z_K9$$$y1Te1SutFT(ZAR>nNY{*`ljEylV-Wn1(7_ zr*HN*o-y1~(6wqX@bWIUNHuq7excMnifZAy)x1^rI54vGL%na0BqH_tv2lX=gH1z9 zH2ftWFcJ06Ay>pM&X`$5>+1M&en`JJ8X0LFI;G2`P|#N({ENs z13n}Rx}(NAhSEvu(DHpPoi4W8A1jGgGO4r8;~X8@tLr+D4U zU$%FgT6arf=*!M029-|gjbYzWfe9=?P z3*WxJB;wjb)>p7HV5`Q`!Y_=BW@|x8*WwAZG-jW2Vh%8AXRb#}wzJ8<7PDWORdv+j z5_prT*XCL_u(Ma^dHA;2E~3`gg6Gg$#77~1BFiIX`Mi9RCK0D%YgE};_XJjukh|E4 zZwq|fI4oPWLtKzAZ$RYZ=E%uP4Z>>@tJxa}hD-SOCRFXN~`<=B+bY5ovx z`$ADlk#7WTmS{NnX65zfLA?aECn?j#wJ3VQ2(L}v%CcqlevbiN5FAYLfB!XuEP2@D z3uDsGzL<4}O)aLSMaebFUBnsWm|s=wPW^(_HqmPT8m;LrqWa4}eBFo^+_^XDF;K9J zc)FcVw!Y4^Mda~ZU|449$}Ymh5w-Jhb8c&24oJmikH7!wro^y|IJ+V_ud|D&5&z?d z>UDT+Z3XP$mDRtner1*(Lk^Zktla>bn!kW;$(<@woodah!Epf#9UoXpq`|T$2$nhl zumE0wR=pI!1$)ke74Qsvl7hYGzV1B(HbkMX-%rDq^RO5D?cCRv?@x9_ti1yvpK*Ng zSPjm%_HQ28L;ecwUq*!1kM{4^cKu(z{ky?X<$khF%p$EvudnCQ0-f&5ydcF|ORs~f zxQN?Sl!(SNPHALEoOeQ#FgkZ6Lmi&3b?VN0dGYPjJ+^RbAgp;j^gKoBs^9@`Ib-&? z*IS$zr)!RmQc;8%wR&|Xn-aYNVG2Efr>A}~ujrSk*Q={mBBbz=99(y8Z}Jl$H;(>D_uM;9;} zDodk<5*htI_FnDmZS~+)y8dERNneR`RqW(hagWooPsKgtSJvX!{B{vUp!7Tjk8RQ% z8tUE=Ukz9z=<#??~Tr!0aMO>TKe7C^ID%kdgabpSix?7#^A9(brEDe6A%g=$QgS zFW93l|HalcTl{m?KnA;u+>>H zJ5^eQ8(X@Ia2U_m8lB|3l8UW~22?Ed%53mio0BIdbq(Xt2qm7rD>Z)K z#~G7O<2A&h#ee_HS#GcGs9S~z?duQr(2+GP*>oq1eN5nLjHg-YP*ZbvEn0VH#t_Xo zEbb!iJG%Kn6ZB5FfWy_Up6aOJv!jP?2!)P}$1*Qu-h8v2ILkGSj4Sx0I9hL=QfG~M z6Kw$&t2i-|=-VPD#op*e$K@$GjM_|VU!k?eB>{oHK3Y`DmUohxT`7T~`te@v@5#+Zn>1oFXju4EE3)^ri3^Co)eoz0@apZBD<;b1<3tRc6ASPvfFRi8Fb#MBSwBXsK~H1^HB0x(n0al zvVs1galWcsD_d6ULEXk(_TEMdYU#=AHcqr2$j=F+6^;HEbe8=0`7XK)^C$9GKeSi4 z$yTOl#!sE^LqIdebo|+{Mma-4Iht%-gYj%7<3(XyI>x;Hk-8B`zV!Gn{A`)Fg3~+i z+{8~@Kpp0c`y?hR>AiB3Z_3nPc&s-sk>&XNFySMN6)h!&O@p+avAOq!rzKiNj->@V zwIn@zXVWb`V6@~@LHoR=yz5$#6>9lOl9a0bikWAdVp#5ub@B45NCeq&+qgn zw%_#61Z@8sw!Q|{r{CQFrU_}E!1IC)*gl&-6aGm5*Dc8KTmIPoqCXR`<;RB;5CGUd zz~6E%4@l&XyV(KiG&EoO9<~d!ka*&VK@lL^jXHdCJOM zB(J3>Y;~!6FvopaW~QVzMP-diK1X3T+Tbp67AVU!qP0VN~qI8 z_wGM^A#fiTb;LAcTP@1$ExTvXwdu6*kK0Vom$H47R-fo4Dp+~$ozvcF3{c6Ve3i@= zb1Fz<*iO|*nIm3^r-*AYQ<9Ch!L)15RN+O%(j;YnpDf=Q79L_vX0}yIDxCV4!xWKG z#ip_8-HI;CxrJe4f+&k*Q$a3ku7or4EbOcgvMGy~$`6Wjiql-n3Hv0#H5$lj_ii-g zluC3lfmPFlc2x$mnNog#fYMvf*k%u1VwJU1=b+}b?ALGHIy1M6Xdm`?G2$BKSRK__ z+V?>0LgEBUfZlbZA!?+$T@)(@A;qmL!w>A-y0*4E@<8 zji0#0QGZU`bU4L8dta%S+5o@ZRg*>QLa|z7t7OC*xXYG@L$!lc)rIg2qsM|XRnKk8 zq_?k|xkuSA@7L(>73n5JvyJst^>Id#%{ZK(PeU8EZPv#T@Ov<-{KiZ2$HkRMIy8hJ0cMy8CQJc>Nl1=pj4{JFb#WdEQh{Gq>o^nd=# zj@|#6{?8xs>xcaMx5=;jf6#t)59$KncmdwPW55S^0{8-cfIkobJOu)Q zARrhB0YZT=ARKrGJO{92OSOcKojr@Xa-sUY@Tfpw*wtOC-51-w$IQ&H_!w00)0R~FaQh!L%=XF0*nG< zz&P*)m;fe$DPS6y0cHVge)AA70E@s9unepK7+@7x1J;2JU=!E^wt*dB7r+ku`QIMD z^TU4mZCuiSg8fpDv&|Km*5u+Q)<6-6-lraHqa9mCErU3Ok9U{XH`-#~^iF#s#>0H> z=t5P|z%F9{7n;HgLtW+k@lD6PncZeBO>}}jDqT=sQ=e{mJwNX!LZKT}64romD`Mgf z7qxjIRx!QPR%VLHywTyRp1Q^%E+bC)MWb4v?6sHbqeJASmp=)fs5;}U78cgWR$SD{ zQ!Mb>KGl1E4dE1i9@9^pdO&(*svIS@?? zSErxTnRz~j0*2fOJ%753sFcMV65d6~>>>i(hIepQv*xtu+ZaVRJv@yIu866b7HgYU zmR>q`{H@TsXkBNtdq|(L+3`O5)Gc=y&A^SeT6*I`%FsCrgKo+Kha^oCHpN}^eYm!e z)(M*I-fF`9(kb1fr%s_*vNRpY!hJ0lbBg>!*&n}L=qV-dlpH*%YJqoO;9;Ou=!+Q& zglu?IFSqy!S>7_9id0nfSSgc(?#k!Gq^p}{;&x)v)5~r#=#rRg3$OA#hLk8Aom~># z=!I4e#^-H{UFWE#dUc9WXI|L_lg>=`;bN{f^`~oWkG5ajG9>0Is3$a%6l_?1a@8qh z*wX$WDkD1^mC3!Mw(j-jG6uO-HV}RIhP8cSZ(@7shYp9+<3^t@Dt8`va9{Wkr6fJ( z1sPgxsILmm8HLx|Q~h)0{Vjq9&HS#m_T5CpB2&)hRk${=QtJH8N_iD)rBs1uqC-Px zO>OmJ>tIKGd&g{}z(a-uv|%+yPJ10}BMX=w-Q1F%KQZt5ic!!n&9YAh^^27faVT30+r3EU95k-^DNU`T`{EO2fxt?af=t((qd|^% z(hQDhf#j8u4uX*5i;unELU@W)&m}%fuMI_w5{t!Z$(;7v>fJ>!>=+=kmkTS4)-u)G z_b80$xuNQ=?j0PLJ(l5AjbG)oGNpC3XHD{2{(XzJmE1P9j^l^4oh0OLf?<+w9Pc=P z)4Egu%Qg8BFiC1^%YHIfN`CS6>G%0kEIBw)ESp-Mq|Ik0)}5c5@aW*xY9YL3f;<L+T|CoBJ8Z~T`2*R7Roa3DVR=mv@MF*y2f7S8W&njDZ|FF*o-8bl!B z%U{8M`9pvH|ENDZ=hJ;vCT-KQPNtl+I>h<<$f^90eV$aapZZtK|IMO2W=x9WH1 znYO&7CkXWr+n-6{d(=mT;u--nUhKg`)~(d_OZ3)q4d_kXxwt!e&S9@>ryW}ay3m(r(2tDF|M=n{s(64a9pg>^Buct=7M zskaSIZ?5~&mtJw<8C{7Sw;?jJNnZ1adkP+u6)#hZ`*bczGtA$6gL7%!h`1#~{C#G2 z0H<3)UeRoN+*0SKXU)YK%Sex006W-Mluj+^xSRzn;5PX1fzV2bGp431`zxs@QOCsu+@8R?q#do;Dk)}Q)Td_LU z=_HDr=?PD)?M6)tMZ|5@=es95D-;xU=Q7e`b9&uI2|JG0pLc7t^$u~jYqlNe~723h{R!sT4xU?V<@Y+$FPl+NwRWS4p`=jaNvOt=n^hx!OOfGlD zmpTeOjw_E6vwA)39qHZdx45%eu9zMepQdxu8f=jw9FvTfTD9x7w%7)0a`tXUl{r4! z5X|G&ZsY=+z?qKQ>!TvnLd2f#4 zjlD5ePSh0@hfvWTfw_X=VnnocF+&U*OV#q3L;E~PwxfBbPp3Lb5;;>Z5tPDjYocw&ulMD$%u zrd7_G^x!k(5q}r5+(z$ImOi`Gu~Ucgaj_kDW0hmq-XJ-`kr=*2DOL9azo^P@`e*C^ zNdE|e?)x(V+y8;p)kFX^NxwEL|JC{OAps%5PpO3dRpNiKADcfm-*4exB>%d*75;w4 zDt`#VKSh7|FE)QdIGO^$Uc+xW(Htat`n7_C?OQ$lTMqfvG<$z8KQ*NIt@-bP3eUIv zfBQ6?-LLa+e$+qyljIEJVf5zKvwm(%Q@qiT=(}nwkIMXKR;(zJ9^MU5(A63_lhS>c$>H3XtzVI| z^+tzEbz71HD^*^OO@1SKvrw`)QJ%Y_3>rsx3lxZztx87hIHxXtq=UwMUca~fKDpui z4n|!OhU6fj{&9g8zIV6PpVLMA6&c2K%7nmN32}#sCVHE28wB~zv z#sqsNpE}|Yzn;tHk9XjnqG9Q<+ z=zi<)14)&uu2SHA9Qq}@Ao@o0k2Ffv%#ydDm z8{!x*VthCJyd)o8+mvveJL|Fp%Rn@g)64s+Ja84k5yj-Ns< zCr2G`ysTJOmeILFA1q%pIlHC!@?5gCLsE5$97|!YNN9JjciFwj!94@EV}knUG&=+( zXi8i7*6c$%Xck-8yaXiF!#)~0;j9-l>IA&cD)uq+Jy9+;EJplDibzw?eYH~|vo;{A z|C+f*&rQm1Y2()!aVKL73Z9d`38+8%;V5sBe_*}`i9>oi&xakx{I&SkBboLOUYU}Pi;ZF}+;j$ZHh}MZ*?h>m6w=Bu5 z3tw_S3%V7VYYQG9TF0VH zhr?=HduOh%%rIGV@OrEiajiHHlD2jip{w*v8RNfX>I-JnaIl$95)Jp0J1SK~AI@pX z+^M^Tv5{|HKV7QP(@0czLL8AkBSFTfJ=w<+@Lry|rBl6tB!%l8rR9kGQcO`!5_QPJ z%F*xiraLQ#+;sm}wMm9G7eto?t9Pz=5cfKIUCE8$L>ecyUM~zi=C@;uJo;=u@zOC{ z|Do)a?&q!wiM1)_Qle2(ibO_c_3}xMZRc-zLe~_7ji`#JgpIW&XK0sII$FsBnX$S~ z)GWU->EzKhA(AeJeyxA-(W7Z09 zW{!GfVAoHIvP!gl`%Xq?s8&N#{RUsucCRD_D9Y4LFoLW8iKhLqJGT)ssToz33VrMkFy~P2|018=a4s z3tH_JUh_Xl?W(p~Ja4c_H+VsHYU%nk-A07R2gyA#gyuJf9nn=YBNld7y8~tRcQm~k zz^QHIt+a8!l5yGGvCulgvcaxZMmOpNUxUTIfc<@1pD(0yzm}-A7|Hy6-Zd*iUAVV< zf0@5|=41Y6dAUy$lo(1A|6WO|EIwkql1?p@ywuyjwaWe+4KwISb-pxf=xbP5_cNG{ z`WU(Fc~SB5>Gio`yo(+jZ9C}s@otIg5%ZYO9$o!6dY|pI#^gF}mKCkO-B1_Cnh{h) zlp`ZwczEdTz+_X6Def($!8Lv%%jLBdO_p#qFO_1Ka#~TkT0&Y}_Ik_G`#EWruAD9j zW}l{%r}jCR9ym+t6*`(t$9UG=(suK`B=HCA6~4Z9BsAC^1$wc~b*4l)8AcbcBV)7L z)UR%m2nzBtYk60DNFCKmZT|L;x|c4o*@Z zpP{RZE(*~B9EkPkBUWd zS?KG>SVeCuy$G>iT`etouFkmEjj`qZu$Ff3X-ks`UW%Ohl-F5L%XNcqvt6=3h<091 zwk)PKifFHTZslatimtY6-G0^1jQ&(Lmx~NtHHxJhKJ1i!`0~8DKv+jsm$pXt**T7C zOCw=Z;)6l6)p0!T?Z+m;t$|gqc@qhxqRkTDn>SWm4`Ux>;*p;kv2QBTO4qHL)#}3Z zCwbKCyeaK18;C3}Wu&;7U+B5DzIx!?=*(uR)`zYp*Y%RqRsHTKwari>0x^bZU3!WZ zwyYoKna@@U1{lc5?ceW285m%>o)P4B`9wzx&vfeX8Lp8aW%G1_YExn&10$}jea&7< z>6gPgB{;+CF1F@&Ti9ft%sOW|jmyh1%bH-jb=rS8QP3wUTms#P$;<1X$H#BAO@Ff; zXNjCf4i$Xb>9h&_dBPFS{qFOQbYcT`4b;t=Te!`owFKzdIrsJ~*M7EZU1dxHJ+G`I zhxycNK4vI5Y@&7%!5+^ijt|Y0jr@Uj+@IB7KjhaB|3kmxS?QOC>96=7+V~;Ae#ozX zm;9ppgZ1zKYx#Bh-_ZZG4~%pBe@FilHPkys=U91U$YZ_zn$&7{CWR; z{$G8flKqbI3qt4*Qkzoh@X4c;m}mhZ;jM(i{F z$MLs>8ZPQ_j{SoxO%L*9{LeRpWJ`9jaUU!sv9CIH_Bt7El(0?V?u0^lAOKS2S^605py~IoYTbrXzgFdaf9rg6C zYQbjt4rYhgdc-o%WChfpnGt2VBC`}79Ub~0-TTSd)zTuf{IcjrugfP4pLT4C@gc3Q zw1Nf3=xq=guVwG1Muv4GumAJcX`~(DcHsi*2efov-BH91v9BpFKjcru9yd16_jG^muC$Ha&KPA@4I7@hA=ZJ5pYJ_?#tDYDa>nJX5yZO%k>&OFZKoQn zmtIQFahE_ATpAXxx|!)4suMQ1Y6Tvsb`iYo%9Y(7HUG48<6Hgruc|+O$dA9Q|IHur z<3C7#SpG%opHv8$AO07<^S|&{o`26%rN`dpYLTV{^M9HsLjRlk2f?&^I|?Idu9UT@ zK67oH{>qj6*|HyVM`r7>TU6s*1$NM_M@x1Q51&+E7%k_PUApJEjVdUXxLbXPnLqo) z!m-N-^BN>8N{Q#^^IQ11RIa?3VX_d+uj5O8EOBYz{u!bw7aX6_N(1w%)7KmmCzkXnKf_ijH+Mx4dP%De(;bCYnw`_9X7+Lmn1PBSFc9T?BE_)m=n1CT4N( zPS57dPW)z>!`!CbYQ|iJJG%sXC%^uTu-!KM3_Vq$?rYpyQ~(Q7Pww4F$M*Cc5x3CF z`iQ*d=`*JKHc1Nz?wy2A~;giUE*=6F>muqIVy0=`{e=5D&_~-3piRu~s z3p4(VDzR%;3)0GK9xPdf4apPfjBQyievc2#_7>Qrqf(7XOz$Y2yI|XIh>0uqS$E%e zK)F5j@}fJ^{nErE=Qlc8&WxyqfcN<#Y)Mvb7Gp&GbZlWpCLcW+cK95}?UC5;s8&^d z-b-8QbY{k|D`3HjkhWx*k9UK2znZMs21o?~pTz;WHpa0kOm#BV6`Ew!v z+@JIRv3|v`uFUZ-`;UH?|4uzl)ABF{9$!AzK-Pey|ggR)yHo{XU{)8g`% zC9XEwbl$P?{M%T05i16ZQl9xaZ!UY6%HsQ+8smPKC^EY6>p7pQp8HZSvYOW2^stZp zO>1IVjJ)GaobShJ6W{DtXXLJQZF3$pyk_@-pVq}y`%84VLYYAn=M=vEm)iz7Q|mrr z_og<~&sh)F)oC!A-RP!w67?Uj9*Yf<@G89TR(Od1bE^dHT7YKI!pY^1=jm(~W@T>l zGl9;TCvmD#hdNp+TkelVw&+=H%*rRRO$S!|;+eCfFELKnjCM)0PwINXqkK6Ait-Jg zWe@zM4${*66I`1iq~?DtobOH$pY`p~=r5L0)`z2_QxBwu z73FJO$vi^Ar__{Bz9W3LPs-9Yn%Rp!EXiq!JAb_+zhU2O6%nr- zJLBiuk|MVsGRhumIVd$8opeZD%j|eY|EQt3y<0>7KJyLMS0P+^Mr~mlBX3Wac!ga{ zYd&dtP%?XAC9RA~#|+h~DV->57bXz4BgN2AYIuOTMy|VBlW>cJjM+ao`m(LBwWds@ zp$Zy|uS!$ut05!kQJAa5S=8>#CIR3Bw?qX>rc( zv>ggZbB2q|(G@eiaU8XRQ5;Ub1YEfidzFMTT=h&92#jHxdw&ae6p?BN`?tmq$lP!B zkJF$}{>b>d|Ly+2f1JN{4|KtO-~sRucm#L?UVu0781Mm}0KR}9;12`;Svi7|#F0e*f3C-~YDx z2U!OF1|_Jsiw18OjWorQJMF9`Z`6mc!#m$)H|*1PH)E&J7T$fkPMk+zk6`??in z->K2-MttrOE(wqiqB~~vsEh1bb;hW2lg?%vuZ8lOi|jc9FEMd@(li0WMLmu6;EPM$ zbP6=Rlj-X|l_qDbLZ#-~ovo%mWg4KY=Ea_Tb^DX4r;nEim7k-zEsR4|Ob2wed-zV# z5Fs4*q`o_kXaHgCfwXQ5wV=W! z4!%Q~CaxN;7cXjxdqENSc(opj(& zOh{NNqjYr2y~uZSEH|ui)`FMogDofL?9%8Jd6ZJ9%KB=WQqHCt|CbxKc!^qK9VKOh zt)E|CPNcnA#1Mf@%#H9%(G&J*PCUo^nkB`^l9{n9qprI7rpSljNgBOlw3O!`lV(KZ zQ_3Whzau`h@UC{Ewkcf_{EaI;bv~!0RvVIg`NcDX zaJzu*7kPIAV>sG}gHa|&Trf3hWmvBQubY$hM%ra7%sOo2jrEO7XRKu#ZR%qLlI@Y> zldC92j2R=>LRsi&Ru%86{(~A!gX+TG%)QAsTuCdG>_yEQH7jWD__w!Ql{+l`hHfs> zw?h`|)Q3F&G7U;;Nokotm{(;}rgf8Gy3cB^EZe;f1<)A{+lUin4y|dh|Q_A=w6gp1Et_`1Ryzi_qJmJxMK9;^F z!0DJ!=v1s^J(%?Vk%gnN?Wyr2AQn=^6QOy*{zSogQ-)3Ko6Mf7tZm_nsT zeEO8fpD1?ahRdQ-P=l-FQO^^HpQO6UES7Vv$mM0`Xsz?OiJZyx8@srDF!7ha%vNdNbiphDijs|+AZ&Usnal~h`92SgQP*(1 z-0rxs)?qyN-h;{veG9cpuOMqdJXtJa6bC-SWgn;Et88IjFUu|xd+VZGe6kwOdRGY3fIO*toZC#1b+RlYA;reB_K+-gQl551n4fKeev_#a(fu)+ zE*4X~2W#pHjwd8oc|6lR@5*8%n?}Z``}>jo9%Gx`g&nF3KB4?qxkXk(!~0FHomdj( z+mRpl+l~&%*;G%{pSW{iQm};4J+t6f@ROc&TWzg)gxBQol%Y!=OQbLhO& zNzD=CEBjDrQ#y$x1ldc*5S6NwuvU*X$q~xLI*%#TdgRQb%8u|m;cDs!G_h-BoI5J3 zbALbK$nA?;7U)}&X4+3&7;a|R9dNKcWS-sQmc|}2fY81ffXmJf)6;9fQHvZ@PJGp9 zN&Qf$M>CUUM_ZFc^l`J2VQbmol=pI!hhk}{W?X)Ok164q51jX{=PK>{$+w7Ik0yKh z4O=jv0@IrnEH4}s)s}d1mw;WUiMn=Os^F;BK_8uF^hFdck>;%DL^wrPm-(l{EQ=!5 zN5uX(2hOj5b=X$eAgw*0fNh^!?9b+RshK4R|NHiN=-0_=$(Q*LcYCy#)mR7nWVNxS z4~k1G_;X#b{}45te;_e4a5Sfa;xTd9_-yccyB}vIny9p(sBLBiKhj)~w&PX1!R=_v zreY@FjPeI_Iv!ZXWH8@`Hbbq#v{An06W4<1GG16T=uNuF7KZi7_GIflHMzC&bEDjQ z?$+`%WextsRH@OsWwL7ToaADl1N68~$kW^%4HVI;81Iee!j*DtGs^nf$|)tzX*UM2B>-UfyhB%?j-L zVkOE%{K6N$9#Y0vycGm z_Xd$(cMt2Q&Kg!<#;&Dq{B>oFf9->~J^retD0W?q|Ni*za}aA}sH$sVe_!nS?1pgh-=Fz7 z?8f@tK@9fBVAFhm=I_&CeGE}z(;fdJg)Ptb&&s#@$Lk;Uk014qUt8Gwf2jZZclICX zzwe;XF}F=?X8Gy_@Hn$gxBR(pP5>)^b^>TT;+hyanlU}(1g!enBiq2;UayDlI6>FO)5%;?Ac4BmZYH(Q=T@PHjBp}Sbi?wtiLR)Lqh3HUuoj3+YR0T z(Iu;D&FdCxRA212$yop9W#_`0wZ+g%(2f%EaY`Ke9)Y7QxJ8yEQEx4yBQY5<8YP{} zq%ugAD<`amG;*m;U(`MJ$topeKu|S>olQ-BCZvi{9<@RVpxoMX^_-W%Dd1(Xro~SS zJV!hN6~1~T3P0arpGni_=)U8i&|t>WHkALgg8p!wxgR+*j^iB`(~j)YW0k|neBH`J znGvlG+ch7UrcQZ`$B6TGcpHvPR)vJ9c=UDN$yMvLI$Ed@TB|?1weo4ng5gON#|-za z*~FZJ08zGkA4NvUZ=Y+Dk{#A-zOkv$qy4%2g6+!}b9$}2wv-$J1J12^~sp|2c zmiYp=fTzB>1!RlTY*{<(r=K(IYdED9O<$1T%5N8e5l+atIqIo;H-OhDFxM!{M-g78t7*T=mV z(Pu9AIg%*a?#S5SBrf8JmvPi8`vmatqB1slYN;E$OZ*>570kOo-EdoCD_~19H+=T; z)H<7Ld36TXNnrS;1%W`1LA++y^XP<9)lbnh*%Vu^v%K3S4Bu_`;LJtm)jP?bmFSvK z81codByy0yD6-t_+tfz&5hHH~#$tU1nt`vtGn0Eyyt;2=l}|%*|9S;XtNc*CwGaKw z-cd5Ew0g95%)`VjK#0L%JEy5h?}g(AX6{;XV9l_kywY);@?rjzhqr=}Qy$L+O``9m zb!n8}_?yE(zdoIL7JW9ynhHj@l+rS*!OWa0zH_N`t6Q*?FQZ!T+nJom@s5;dI8(AA z2dx7>TzMI?-fFSfTh_*t`1}RN{WI>w#97pEo}C`k{Bj?2d;0Q}sUKU6wc1z5fg^Wa z$mB7bk`MLhJzEH8PyW{xzrb;z-A|4KcLEbRC{xpvzUzDdmG;lp?ZVc4u>InQwGCCQ z-m?Q8dK*^mGW<^O3jg{3=dbfmz!d&<8~`@Ee-%D~?RoyIi(ah%J8UiJj|cF7_q)d* zeEBZ_Kc4g7js!FMFX3-n|Mx!qk~w_%y}5p?|BS%z@mK7>`q6*!pWc6gT|WQ}>iQ^^ z+llyuoGh*hnd}Y)&tYp`;+K}mji^Ll2G`BxAi~v1()xEKG0CYCvUw6@0v(QHkNW81 zuTQYtQVqOUbHx84L|+c7B`<`VWj0{U+cu+_5m=13S>lz;B= zT~2)P4(ZwvSFQS{>_DHi!6hkUidycO7pSUYSHGGj`BXd$d}#+LhGs!kw&SCw+@{tBm4sO4;$AqUjsWo=OBg>YVm-vrS49Ofw%P zA;mNC-aPAQnn{cGABefRC=e}y8QL#d)M#7D)%kE1$-`e{>gXFGGbffTbn8;q;Yiyh zA+cfKZBD6O#0Ra8BvOq`^lMRkT_RFX*%Z zm&F+*f3v(Wo7=N14BX*|-w*46xn#|2KxL5hl9&~PMsKm7rH{7F@p5$6au4F`>Z3{@ zsp}Ld=s&3*&EdFm+cm9mQ`}C1;;rK>TmC661=_9*)9vj@UV-I%UGAn*)}aJ+)%q%$ zJ6GaAQcY?l=xE6HI*2rpX_m&mbjuJG44YNxdibhN>i!ZjCD+T;>oRAw8DzyaRML=@ z35tb{xO_pAGSUvOq%xnSD-Sbjsu6jz%;*Vc$YNIlC^)H9dmwmyrvRdz^96C8bS+WS%#^UoSKh)(ibi z2CJxXHvQsuSn%)N4*#Mie#rkH>!1B!t$+60`mcY;{~z-Ihy4Gk_4x0X|JX4=d!X@# zjemsy|L(v)uJw)W`M{1PN02epO#GeA;CqYuFVzPG)0*f`ndvT~Mbrn@V|e26MF~ds zzAKX4kyPK}8H}OOU8_D{Qu=AE1!*^7{MO0R@`&5!%b+7E%z=&5HDpIfIBg?wyYH48 w>YaID#}*XHU`Z**%F>NYy=ADEhcArazs7{~F-sem9*YY_{jg(}Rc0mc$_WWt03j&Pc8EbKtlIdEp8Bb#%MfV7m3 z0xbnBrIyw{Jx~rUr*g~!0?G_CzzbzY6Pp;3;E83qF2^YB<{#K!uqWUA^0|}e)t%g_ z>4JlYgmJV0+M=9Rtp}MNs&9a7Gpr$NfSS#))&R9+DX68ej)FQ0YmFc$M988)^-V;eSD zp}~rcR%oL%23xN&PHf*s$iw!k4&=A|9#f};~XzY014%h9dCEHCxEvW~zJ=od->{?u2d-mM5^uo3L%C)|}zOk`Ee*VAzz5(9f9$S2A8?=2i@@>8e zn)f@9TVcMA@(y1 zYQ6jYZS43fkGaKXkN1AEKX1C=-3mz;H|~mjS@@F9hpub8A-27kvdmM=PU3;tCh!dbcU* z4)dwL?CzT>ep&kp-duA1ME7IczItd^v{m|t9!hvLHaD?7AoRXIAIBd_{Mqk(yFNpE zQIuQ4IehokV~^F;y6__jo;=3ssx{t(B#@UoS>@uVMJq&%Bi=kw0QmDf0+YQJx>D`) z)X6|WsPnh7biPx{$l#BQqB8kTQB+pLn@MJ5Zjktw6VVq$jAQXmDeJ@d@yYFxhn>kR zerBwgnW=K7Gf!mah@-NP3&kvLv0^G%`5SCCe|I^9&Z`3O#qI61+a${c+j% zQdUN;Bb}9BJeQ*UvSejy&)L!>pF*`P$t&cfd~S;M`MDuuu;}uNI9OPf^ep%!-`A`4 zv`W87olz+SyS}FMw~R#{;{x`1YUP&Y{95ng&QqEkfvMS4UfE6+>Q)5oqQTf@w&THJ zEBoTiiojMf7DNyGZdTY4R`O6N;kYf``6hI9KK5L9@k}h8b9pu=HEiL5FqLz;to=6U z$0yyA@Mm!0z;LO@`~hycA9Z`w`7-t;=gMDB$*-$kZr;PMz2c_FDm)^{75ZI$eY28# za++5eFY}HF^GUYfyc#XD^Tf<~JGrC!>B;Jt`LxJAZ(scLPECTFG;;qB%s|?E{{n0b BYRUir literal 0 HcmV?d00001 diff --git a/admin/template/images/lng_Polish/edit_small_active.gif b/admin/template/images/lng_Polish/edit_small_active.gif new file mode 100644 index 0000000000000000000000000000000000000000..e2c0a5bb50ca9565bf9cb2b4a5526e3ce8340b0a GIT binary patch literal 1999 zcmcJOX;%|g8h|7Fs)zwp5DA1z5fCDd(Rx~}EGm=+go;2ZP}^eLsbF!YF5^K7OJv^z zL`h7@!Wtlfu$quW5D*b71qEk_RPmr7R`2x!fw}yE`8e-+&U2pk>wE4EIOb115Jw?w zBD~NLvN#}{1F~*`>~&xcHW%cq19Q0`7n=uic`%O$@^~<}8sy`(8s=4lylR+_*J@aR z&Bwq3J}BVBLOv+OEdT`qSSSF60$3yfMYx5aPzZ~JphyUdg`gO>2o$daOGKbV1dD4x zaSbe~0VOrCv<8&ot_5W{YB8`3cP%Wf156xs7|6t32g`BP17*e#HQLju?m$dLe!1hS>z7H%ovNZ~EqQplA8F78&yZ3Wy`$ZG{W+--o{ z26=6O*9NO`$UyZvP|ybXGQgKXemmf|LqR(fVs}7c2M~5ZK_?X9?gT;{ov;SG3)XbO z`fk+FjT*6gP$T9x65mEm7&&T|qb3DvR-hK_UewZyB-lzMQ6i}lwJJYIRM<$0twL?s zYSgAiGVD7@hUr7?eW;@kbz=9UPRw1@br*GG51{S=)HR5@2T{);x{W=AZe#8t#SoI; zL-Jvy7)HI=_fhYCq{JRU$`Lg9XlZC{>E77#@c7cm#L^SZ@}y>E^4ap!ndO<6+UIjC z&*!u+=2m83X0yj@*KV#sDIQVn&D2o|v^%8X6MKHiCJAGNNbrNdFr zLKs3MaYb*`!{MqKudi!*-fQ0e z^1JDbo+SevqmDNQlzw@to+Cb?*|j&l=??Mzq;&6WBgY-azT)0%F4h#g>b8iQ74(TwQ-2X|m_@B?#MzsEHovn&hVvaJS*!7FT2vNNHs_xF?6;#nP zUZ&NqNJ+xoQ0Krh4^DJB#hG7P7PFCjD%ANnllpc109~}}evnV9$rLfUh#$oAHh$G! z^f9f19Nj)<1kKoswTS{bc|66Y1cm zj4khte}772`!KdU|MI&qRN&8ezuSa3PP?Tt_7A60TtfsVc?ZuAREkarT~hgW9o}ai zvi5K3vCZ*LNa84__PGZ?a(yB_84{zew5ko)L`%>4*_F743se3bd_L;H*`%&ZZ6?8! z;creh#4wZ%+7h^+iG9Yf*~5~7Qxl3yRZ{Kp?&#^hzC3l$SY4!M_I}~{ZzkO$;Uh|n zn>d*}7Wq(h&Srm$7>?~$YwPj-p@aG%2^X;YTVshUAWo%p1REBca8K9794e)Fx}Jh?roNj@Ah(XVb4l$ z;GXU<#-Dql|1sh08LRVGAX9F1g74XDHuGo2>2$_N%mkCYLo8+gF*7gaq-d9y`ptzO pyi(%H7B?;ox9?(K(Ww!7rPx24<*E-YB~S(&ehs2*)z>3@@?Xz|eun@6 literal 0 HcmV?d00001 diff --git a/admin/template/images/lng_Polish/inbox.gif b/admin/template/images/lng_Polish/inbox.gif new file mode 100644 index 0000000000000000000000000000000000000000..629623a75427f9399e8bc57908c32e7f0939fb2c GIT binary patch literal 2808 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 literal 0 HcmV?d00001 diff --git a/admin/template/images/lng_Polish/inbox_active.gif b/admin/template/images/lng_Polish/inbox_active.gif new file mode 100644 index 0000000000000000000000000000000000000000..9d1d3f1fbc4fbdabff735dc7bbdcb1e2c2049422 GIT binary patch literal 3500 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 literal 0 HcmV?d00001 diff --git a/admin/template/images/lng_Polish/index.html b/admin/template/images/lng_Polish/index.html new file mode 100644 index 0000000..ff17433 --- /dev/null +++ b/admin/template/images/lng_Polish/index.html @@ -0,0 +1,15 @@ + + + + + Untitled + + + + +

+ + +

+ + diff --git a/admin/template/images/lng_Polish/lock.gif b/admin/template/images/lng_Polish/lock.gif new file mode 100644 index 0000000000000000000000000000000000000000..127130b2e4085b8001d10b65ea85eb291e5f9bac GIT binary patch literal 2840 zcmdVZ_gmA~0>|-?FhcSr2_Q9=Vc3}&KRjs`Q!L1sD3DhFApD?nxi%&Guc6)?L3WTRGrEEUXFfov7bQGp!P zl_0wk=2U{5N|;*-a#2@-oGO@G1#+ukUKPkgeG}x~gn2hX-c6W)6Xc_=2KoO43#vgu zHO#*S3vPjeTkzT~a1GrWaIFSjuL0L<;Eft^<2D*BybTI(!y*)FP^gAQYEYzx#cEKD zx)v1G!s1#`TnkHTK?&+QP+SK~>Oe^yl+^(l>UvO84`ua0RuAR%K#sZr$Qq!$0mvJm zq5&vSHv)MhR5SubBUCm5CF&-iXoAWnplpJrO`sHYGf+0e(q>TF49l898R`~L+5*d) zXUkeZ8HyHA-U7>7VFl_|P>!M%RJ6kKJFwyoRNVn86nCNOE>PWtm3KiU>NZ%}2CLfO z?O$irn%TMz*r=Op>YQ!w)oXj_I{N0ceRH}#y{=#1^;m!ZiN5=({=tC0cSzqiq#t@U z|6+W8^sV9DN3?|xlM9od7ygDuIBSG+##uDIaZYd4qs<%V(F{fd+JbRm!HAy4#YObq z|GS*$Oic)wMT{o~J^%a(4Bm)Yv^1=e$=bzOJcWhF2--1-^|nGc*%&XyZ0TMeQxMrM z#96vB1*4j7tOd_0xb@TuVXpb!^ymZLZ$h%YPT$d89(}XDXyZ}i_JCc^Td%qABmGAz zFcF)Rzh<5p&S}S45Uc(8nugkO8>^=4Sm-7G6H+~v!`nGwe zT`(J)WI-`(qdK&&O(c+AP0J~VIfpDs4yHRj&x*wNZJa`j=>^y%0?CvMkZY%pb&I&) z^6B!9(P!#!zL`DR&PgUvy+hTkG0{onD|f?Rf6Q~tU+J!X>5X6qoU-b?amekWK@`(> z&v$o8F&j693^I(N%O2}2ze2#mUZS04aqxjz6YTU=<;TV?Xq3t$nJ$Se7wNWiz9M_uFrI_=d^>w2jgDQ7 z&Ga3aWoNk7up$Yos|6y0YgI%CVWo;+Zn;`2h$@V(60E%LCXK)n_;-Gbx*nSsDk4OG zJ}xRePYP67N~*SwTb>xM)Wi zqnAd8C3^H5x;61$vywV@sK;^Lv*ec ze1KWoW~wCK_ImRml&f8rb2p}SUB8A)@{f>kNuwPPuaE+!PEC0QOz|JKYhQ}QR@&(3 zQ!N4i6+G^aoGk8q$}(s=>0#oHf71`L7PRz8pB~&Y?My^Hg*|l8-$-Wj9UCcOU;faN z*%)inp$#*Xrl)MfR0Emoz~E7M2qV#&yPNcoUSxVW;0+JY(9v_r;sE#TjN&9)Un z$VyWi?e3uMUqTW}bo56VCokA+N%&Rw_jq<+Ld(1SNyB`Py)e<{FY)3=@NC^YmJZY*azZG_p9;!#df51;Crz#*ovwPG`+ozcH=3@H(CT?k=EnQ?N$m0<0v3G5GR z;^el+g3a6yIurI(M=p;GBYKC*345iYUJX;Smh_siSJpwV3N_35)FFwkR@fywC;45h zy{gr?*egSmJc7pvdqQ73*0!WwYX6Xaps>U4tJb77$ArXiekYwb-R-si6gBUW$gV-K zb!XIJqPAP~6{|JLBjQPB_z-v1H|LVVB5iVR={PM-vZU`~g~Y~3Z#-g-n}s~7BStFA z?2=oP=!quCzcFIQMrX-^I5u*Gilge#H@9;gqD_tRYnS%WF;5EyXGGq=ZryRx=}Yus zD%ZDjG>M-iBp#dDI*%U{$cHF#7M+-|lF@PLrig}i4j~Rt>c!{6%2A3scM|{_FtWSPlU+5@I^?o=_=(V_*E-+PN#(%#;JWRUH-k(>H8d9 JO-wNB{|EKy)baoT literal 0 HcmV?d00001 diff --git a/admin/template/images/lng_Polish/newmsg.gif b/admin/template/images/lng_Polish/newmsg.gif new file mode 100644 index 0000000000000000000000000000000000000000..b8b52ce1efe636352888a700ac5177fa13e24955 GIT binary patch literal 2859 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 aZN0Rhun&1R<|bXfZTmfdk|#i+eE$c)yWoTX literal 0 HcmV?d00001 diff --git a/admin/template/images/lng_Polish/newmsg_active.gif b/admin/template/images/lng_Polish/newmsg_active.gif new file mode 100644 index 0000000000000000000000000000000000000000..f2a6921a03527e48584ca15bf2d1e8dbffb64435 GIT binary patch literal 3555 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 wNB@Prkfc4xP~QaF9#^p|_$)ivdpl8*J+6fB*mh literal 0 HcmV?d00001 diff --git a/admin/template/images/lng_Polish/pm.gif b/admin/template/images/lng_Polish/pm.gif new file mode 100644 index 0000000000000000000000000000000000000000..25871f3dd0af1422f53b743c1f27951144c264f6 GIT binary patch literal 1910 zcmeH``%{xw8h}3_Kp+9W5C%dBkO%@*M6kGpWwell1huWO+bPsri4~<8+Qie07`hp|bp+fmy!bau~)k%m3}5Bdl6%rnnC?+@=U zXXX{|5ai^F1XvXIQx~StfeSjIAQ12Z0hEYd1iaV_F7`sD9$eIeOTPmf^`KD?FB!lk z18g*aMgvqKUqL|C6`(>k0+kV}jX-ULO-9g!+62@l*kl4tCfIBO&8W?w$qbv#pxF#H zW}q>{7Gw(owpc)m1#0?$rVqCCftEgaxer`M-49w(_k+v*uoZPb)b;}{>H*L?0JQ@^ zI{@2|KSsc|k3k#qAZQze?Sr6w5OxfL4%9=SeF%08fsP^AIRrXU4}*?j*oDSn(1~Ig zb|a5~t`XQh0=h?F*C^;3h25i|dldGJf}T;RLoo(=#-MHt=*A#11_;#SKsOGFaX^g2 z-f_@-6#?~Ef&MD&odCTPP(K0m6VNaL45%l8ei9lcfngF}nS@54X^XI8@wuYr+=>2{Z7}^6g(3EWRFy~f1H4rD~ zXW7nUq~vHSn`RS8qEf?I^8A7wft0_kE1S0E@6wQ|$(cAEEoJY`ke?kh)bxRFneR-x5aq@_4EZo z&*sDjDk4(_MG-{&e8|(Z9A87?-A7Hyk|3^Wz(?RpOTI-2+BisYXc=+4!IOpZrTCL#;FB=*$eq)2SYcTZCpuu z=Xc!DoFx@6EN3w-DLi|@%nQ$c=t#Pl>nKVJ|I5RoWxDG}ZF0EF$>ue0{j^w5-MUa- z5mxq%N4!~W0ghc$; zpV<#0wtIB9+PAObe4?JY$4t~e)=6lEtP(y=kX%EG)STWkXDoVskA>C|UE&nCGemV_ ztwLC5@pUp*HW*u@IdeE~NntVZ@PcN@eO*_;G=u{?EPtT>gYSt)N?bhRX@pyE-e$C_ypcRR`^Nj>!;># ztUW#^6?^>C=WmeS;&exq$c2SbUI8ueR!ROTY1A7m>Pl2Bj}{oS|NOoAnEiFMpqTQL zr+)ox-^mf_=Lf7y^U>w<)E8s2&iIXr->VkwSii^0Il$PvG*I&rIxb+8%SEy{dFp=zaf+E)L7eKPL4nIP;yKrACHr?J zyE`cE$P^)CUOuw@8te2N=XQLRO%%*Jvs5BvUA;}K|KtwV zS)VQl6RoW4Ps4**ch`Ko6PK#)3ZeMF>R`BhF45;XC%?Nb;jCliwrBYVwa|N3^U*&O zK2-J8$N%u;)OF7})msVgr>Y8~xOgp@&+*Ta7qD?$LM8>I=FA4|RMpmC{GhFA{jJn9NAsCIG4PCie`XRGCNNu%G%h40cL_bv9uOfniWK2*~VFRn{s5Q0so dvo5IfmzjyPucOZz0(ZIZZ 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 y+R~C$Cj_~p+@;55-pa_GsShP?#|`VBGXe zi!5O=At5AzK-l*+2_TC=<+SSQ%plf5D%G*od%cupE`Pv$?>*0X&hz{J-cL`S@DE6& z6ZQ~R772MGkS_vxbs&ESSb!}C1v@~V81S$qfG2^45>P0Cyn0ZCXFV*e2Zi;p2+w+0 zj4j2$Vksz=!V)Pc!QB9g8(>KTC~1JD4WJaa43x-VsSK3LAYTUfxaEMq1H3B-cjb_; z0DJ|!s{nTuuuK8Ua5sXo9bkDQC~t&iO`rlt69!h`Zi1CKl%PThE0v&92?a_Zz}*Zg zo1vf?2%2FPjus$jfmJP_ss&c#P=P8HtX6?)6|7N#8r-d*7SC2#(+X-@VJ)86ZJ@Rd z-fIK*+Mp1-9Rr2!K-dmNI68o^1ByC;r~?W+K^^W+AnJs5xI3Y^6NqtlL2(xlcR@)P zkl^kH;%+GE29j=AkD~|F?*OGeK#JW9q`k1A7s{~vpsWwb`d~vpl;iFPG93L-fjs~f z15i1Lng>w}_7G~p3?tPrYQ>D8wh`1iirPj|JN6iAA4473YSf`do!A=GsX<*D)Qzo0 z-P-rvTGWGM9Q9x(Q11ll!=6O_IIuDI(ZGE)h&_b{r_jJO8k|N$(`Xob1`T6o(Fo=N z8hwDqu;-Swbx8zr!Yy_79z%w2 zs*s`8C7L^ic%?c9XImQQcreVw%zQ)oKK6*CjxKSxrEmJYV-UyCl*X8J3*41ypi7}e zjNG~%CN{Ml342m1=NeHxBP!f2)S1RMs*8^VBHbT$+xcE!a!gH$Za;gNJ(=Lg$!>O} zUoU!@_=;%0|5&~?%Q-m5+$BuU(%xU+i0Zy|gI#Tamk6!+=S6ZdQ@K5n#M3C zTi%%vILkD#@JJX*_x>o$#G0NwFLOGspG!H!Rt@4F4H#xSu z?LJIjdX&alFIYXAap^TnJZ@sA{c>wbmZ(eQ{T%S%^?WNQoA>Nkdcrz0r()NqEkmJ$`=!z_u42sE{f zOlE2MvB_zfmT_N+^sVC37c!|)A%Xf8QEYEli|9*%OpBP5KvS!8$*o$;*wnyqn|R5t zEZfEOr!Lm#3GU-o=kr+xHW&DbGON^#)#p}4H+9CXlJa%jtQVtgv+6EXFNFCDm=E)9 zQ-q>%TZv-ygx%#4k%4`OYV6Htb;(7yvuvaS#R=PfX|aL*W!W18RjSERkEXxQ1QPA1 zzBkLZ|NA^^qT`#z+Y@`Qk*<8z_BHKuV#jymfyBMvuCcQBUgck#*qgDo@M_=n7b2p= zKNepS2j6X(%pG8VGGV5W&Q>;K`eBpUCaQ~oD%rUpGk5o4#ag_x*zEhTJ9HCj^paoW_nJgVWd1a+?I?}eqY z%8LOvmVfGOWT&Lc!~bSb78f5Olx3Q~Gvps+iT;~w>z7WIM~XGezZhR_SsLbkYId0! zPWRK4hqHWQruZv!!sF#Z`E2^igL|xO>DsqG?kS3M;-LB|>YFmwlAUSKt|)sNAZtY>e`w(bXFzPX80MG{T|z% zJlf!wcT*YnB=OIM_1l}*-Y?EahTeF)5L9ru^I%k{=i-kmOC0#v+360+i1ajb&j;*0 zuHEvkS>Lp9-Ehy|rII{PT1n4zZf{f1@+Xuhccu@!3M!IvJ^EzNcmqw7(}j#(kByHE zz5O+h@$tGft!QXtEcD2rui^6}(Pv^^yx6;b3oRSbdw9WX)FkYbiMBUhz02OOxqy6kqzJKgsD3z5b?;~@RM{dp6*wZ0zV=>Gsz Cr*ZoL literal 0 HcmV?d00001 diff --git a/admin/template/images/lng_Polish/quote_small.gif b/admin/template/images/lng_Polish/quote_small.gif new file mode 100644 index 0000000000000000000000000000000000000000..ba4b4be3d52ad5c56d76ec0ce59e47def8c970da GIT binary patch literal 1491 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 TYoabJ`YMex3?lG&+@b#hZ|HV5 literal 0 HcmV?d00001 diff --git a/admin/template/images/lng_Polish/reply.gif b/admin/template/images/lng_Polish/reply.gif new file mode 100644 index 0000000000000000000000000000000000000000..fa888389d478e7c800ccb14f2c65509ccd3da6ce GIT binary patch literal 2859 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

Gs#u2 zO5D-E6n6j2d$MDVPs0svMte_uwWiFWRmX?Hp{gq!hPdC%^=_2l&wX)mg`U2LSGQRs zIWu0puTeeSqYFIpRy6?E4U=11BT|nl^aRk|e7ig0QeJgH(l7>GzEqf~%iIt* zYTEbc@NN}9QGUH?!?)AusapR7FQrMpu4KVATp7Dv@kBhk`;?-bp%YoR^xHZnR-s(L zp!s=$TB>XMlDj?b)SZA`t3<#H_zlrUgQ_?QL(|YTn0&fORD*K*<~I4Hq9P7v)VQ%x z3MxGJGQmE>-m;^5cB2T^t$qwAK>+0kbfV0U8h1*J!$Gxr+4fO&##5wf1VP0G*L5>n z!npR^l`VCK(T*x!9@w&h?FUug0e#vEe%J#u8H~UoO{Ot>^G1uz`*FsyfBM5>vZ)|e z6iB&F!lvmOPr{3KyXS+R!o1pI*v7P}ycdA}KSKACjhXV`lxRtozVHIDM zqoV(clX%EAp{Y;m}CAEw0>8D|7HRmj22-qTnW(hM!K*oiH>;5 zjx}r|N{HX=LALwHroRIUYv-~C+ zmjlwBPlaGhSTei{kmWKZIigoxWh2K1!2-noPN7S{1xQOA1D4zK=Kg#OMgKeNQMPZ7FQEE7|Ka}=G7s|_qxP1Lqm0;LSegk%8)dS-e} t@2A;Fl6+?InMWw=CqoX&KO#zzRwcH^WEi2~2L-D1V(o;+5fQ-e{{sw{2DAVG literal 0 HcmV?d00001 diff --git a/admin/template/images/lng_Polish/sentbox.gif b/admin/template/images/lng_Polish/sentbox.gif new file mode 100644 index 0000000000000000000000000000000000000000..7c3e65d73f3ea942dc3600b49653292b496b33a2 GIT binary patch literal 2840 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 H;Pn3h&`s-H literal 0 HcmV?d00001 diff --git a/admin/template/images/lng_Polish/topic.gif b/admin/template/images/lng_Polish/topic.gif new file mode 100644 index 0000000000000000000000000000000000000000..d139cfebd75d7ddbb772c500d1f17da94ba12349 GIT binary patch literal 2833 zcmd_p{X5h99|!Q+*k*RCgF>285kk3{3L82{Dp4o8J>ja0IuzBZzN&L(o2(+sO{lQV zn44K+ZsxAD&5oQ-H*$1x++>uZDUuj_d|ugB}U-aov5d40F-TZV7U z0hAr;tsHe-2r`7=x(Er(5P{6Eff-_uA%>Y^kST^YkS;|6Z8e~6w2XkIk+u{cjVv>()Ylfd+_c(aQ7Z8LZAS56|hJF ziWIO|0g4gVf}&bjTnmb8VM#40L0kul>tIP8D5-1SLu+R05$Aij+WvxE=`W zp{O2+>Y=zEh!HmcQ3Dh=0C58>Z2+Z+8-chHmNtUYMkr|n62wiQv$DXgrmPN3k_1A}#c;qi`fR-NY&~n8A+Kq+(1R z7;L?|3yll53u!*RIyDa)c_U%}hOzBAu4h_wSM_5%iu~dhclhqM-&VLTihNYSHsWF_ z){LL}b2S*8nan#$U4Q&}WwZrjY?Bx3xoo$^mZg8FS$mcHtdfT28vgBX+|v|h5yC>J z;i!htrM4P39)aRuTuzM%JYq_=H4byRz~MeHw+kae$i_i{Sa>GBixadb$z7z? zzfkPj^(jshc!jWZL%4!D!Z}5>TxXaXnh(Sd>oVUziDvnpCjEBjh~v)&PU6#cukTBW zS(q8(bC1Pv#t(xj$>W_3=k0K8kmu(>6tUuv|?CIv+ zCC+wd)pVRZUY~kNo}gyome;?~{A{C@YOwztL#@1EdntMZ>mZ#J1eXw%IcYG8(c z3U!r$(dekf`A&6}2%O}CSb~#`%^^5dMQaIbD%_=}P6B3J$%QJmLy@B@Hc+%>d;*j0 zpvuM>^^ZQQ8x|)Ks1;jbW5%5KL7lGg_zhV1-S$o*sUpnyy9nVdOI z**Go0{Nbk;bUb2AGS84Vv}U{~ZF0ywL-CuL*+}-+vz26@4|Juo+Y(nL+23%N`;hTX zyC-G$Tj9pP0}S0A6sCj}Jdj{!q@xBI=*9y<>dQ@w{Q<_$z`&(nNlp6W@BMfb|3|Jo zO2WMR#8Bef8ZgSl(|Cg?Hr_u^Iel*dLkpqW2h)P7$;LEE>CZfBS=J9aYFUoIZbG88 zyZBCGlR7^YOk}0dWF0S4XqA+Jl=0ec0{F9q#p)Sch^KIYX(|rtek7x%k*0L^t z+@3Jq{^`}8FAE<-;-3b?Hy4NR&rd6lEYP;Or22gx+cV5tvh%~QU%rItkDwNsenpWL zY?Ie3(DOb_6Kg7)YOFV+6sU3Q1Z<15f!}y{X`Dh>gb0)fzg5L@+G0eY6JrQ|46Wmi zRIa^C4Dr}F%i{D5cePGLjALl+ZoBgqBNc&`;hG)H7LTWk`6fjIp_mPc|PKF2Bj-qgdRU@QC zHpb=v;ZN^2BXV*$ch`^t8)f)FN*I?oZ<)oGdjCX9OxkMGE9}h=^CE|RoUjqJV12sJ zl9Ho?Y-A6yKB`m_JlbJ1iR#_l8$&*$3bLJI;(U8GH77HJmg~cDt$(GGlZ!eI9X9%Y zQ*<6Vseo%6pMs0(iXqEYL7uNr`dvaT(f=ep+7$j5IjgKX?rl=krop|6^NQ-@ zZ*QmjzqY4bR4sPceL@Xv9yDr{rzP4=vD5wgyeTO&HFnkq2eznUX_pn46^B}JQ8S|E z^W#BBGo1%se;e7T_$ke9G8#AB*+}_4uO?A5FyN<;X{t%9S%IF#1rTGKx#Jl6oI0KP zK|{HW52lX}q_c>l6p-k4@$hVVz=sh^h01~LKZ`^A?4y#%Jo=%L^tsR%6zpOLPcxs+ z(&x8NE}XhVx}-;AVyTm^N%q(Xz6E6^jYki*H&5m-TP6O@)lO$`eiLu|bl(F%aLS$> z@yhBRgXVKGIWxU&)Dri17oUE5c;H#&xw@-|uO2VGZ9cZ%yAhXt^<3-x(48c>`eo+T3r|~z3gXYV4L_c~ x+`$rx-^{;f<~h@{|{{Q9Do1- literal 0 HcmV?d00001 diff --git a/admin/template/images/lng_Polish/topic_active.gif b/admin/template/images/lng_Polish/topic_active.gif new file mode 100644 index 0000000000000000000000000000000000000000..537dca75c32ec0a29c43d095a0a5318933585402 GIT binary patch literal 4165 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 literal 0 HcmV?d00001 diff --git a/admin/template/images/lock.gif b/admin/template/images/lock.gif new file mode 100644 index 0000000000000000000000000000000000000000..415e68edd0cb842e4832fabdc89d85a1c7ec78fd GIT binary patch literal 900 zcmXw&Uue@%6vltCtE)kzUY9yVFjEnkf^(KJoz^Mn{4-oZ&^}agC^BWj@Lv>yhUidm z53MgMh*Jcg1|s<2Lmg!k5kV0)5LB>jHr+sm8_qv4z22mH6Ox;pFXw#c`%YSRZf{)Q zUPTo@pu(+~`7<-~rvmi1T`VbrK&^2N)4vDHX{Pwp5Qch~_cn#@F)XkkXU@`1v}tsU z&WJX;2@zA6JSPf-1zE7qcSR$`kSh#Z1$tJZsl#9UQsDio^}^(1M3wdPx6lkv3HD>y z1w0WDs>Ylsn3>2}MRk~oEEyYHKKUw(v!%#N>=WnAux@6Dr)|qJaw%Q+TuszMiZky1^Nzk>s5Y=cQuW2rZIC4?`;1quFX_qodO|9$=lXS+!b`P4erlCG@NX8SrHFH7lXC*DV4s%#zcD3p9{^H6t* z@3jb5SwS_`6ZB?qlx|(fFfxm@krE;4l{mhJ#KT(9A?*4bSKm4=wlXj7P#Q1uXFyUb zaTQ#4K)URfA`#uFHF(5=0qXB3(S+No>h70|ze~@N!j_ngR>_MB(Wc-XKa%N$XShOP z4$bYSDnXl1G&B6ISnr88KhFnVdRkf9i^TJkys|HQh#u1#CW)yrB-YR71g=lCRf`sB z5cv8WrSBM1lXbzUs<9nG6Tb1C-Q%NQUyGp@6{z`Dp;XjZt?=rPsG>5`PAIZ?WzyN= zMiwkepR21G=w@mC=~S}$*)=F4+l0XMp1x)4afS?O=$ESZDJosYBpDbm7lcj3EXfRQMKQh# zS*vpjv=<3T@?c#^_XQncOT*HEp0&DE_<{PzndIp0n5s0XceBP|tmVsS*bI$Nevdl2iVI8&C6SO`iUw*{!X#E*4I zTT4Nd=p?;4vYNLvDuBwPER;ejdKFoZLt+8pPYCr|?t56({7`OINlRgF&XnAclv)*9e>S%yT*H<+=lIfL z!U>Wd(A?N}XOky^*60I#Bz2k!De_Ugzr*5vC&8#KK_B-ur!zFA3Hj zyf#%Fxw@=+XV2H1Q-8C1W7F%P={&hrv;Ewi;JekkyH*~!vg_W16EAPCIWqDzI(q6= Wcl_v$!Rrr8&+>_`kzLUcTmJ&B4*RzN literal 0 HcmV?d00001 diff --git a/admin/template/images/stick.gif b/admin/template/images/stick.gif new file mode 100644 index 0000000000000000000000000000000000000000..0b1f0d1f79db8363d5fee0cf2550027e4bf9adcf GIT binary patch literal 910 zcmYL|Ur1AN6vw|;@5S{`^w+&(l=z40A)96~Y@)27bZUW%peF1g3u0)iJ(v<)YTQEh zB%2`25`>=WK^T$vB4b3s2(&^WA*=myIU!{DFbl+Azu#|`KkhyE{O-Bu+|T*mbDdos z_Le>sDz*UGkhgcXw|8U!Um(@6il74xUkYcKMo`T z0v|B=5V8p{0G&nMaYRzm5Ml21{50q!XaH1C;LQ)D3CjSS%fKp2=DE43KRK%qEzGhl zQEa3TBD{|Ol}`yO;l;2%tW$T8MkeS`fI|1>p-_aWPp5<0YwQogScEM_qI6lw`ltB|BR{O||GKFvey8b(qOUf(6%mb(0D9^$WJ$?<9DKZQ*PmS9! z)Bu;L<2?>f{*y%b^Zk1`uvH^DQ$&WX0!VZIIMDP2g?bS20W7d=U@C-w&MEisDH!<_ zh0qYqinNQ|z1GZf0|vtcYyqU#wPIgyDe5TZ8Ij^VuHp20!yN;zQVzPNuI)xgX^6PKxx8{87sH@A-I1%JDf z?dtx>Y;Gl3d4&HHPSXHNO;z^%{87VH8I$6!07g(=|FrXSU3-umZhRLBB|C!VlXreu zZe}{iO3sb6wN$QN9BnuiQztfG%s;mt_<5;!EVVFNb8OSPoX>uI*4|e#-gPbWKGYrl VJ{LLj^77<~L;c@Aj1OEu>t96;{l5SJ literal 0 HcmV?d00001 diff --git a/admin/template/images/td_beam.jpg b/admin/template/images/td_beam.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7dac0e4bf0880d80b92bd0c44e19990dd22e8fa7 GIT binary patch literal 333 zcmb79F-`+P3>>q!cZ=?ni*Gk~Axid?Qz|||kq{tK3Z8(FA|X*y@B=aY6XP7+OV9q_hOB zb(~}-5#(uloN-1dFn5RD-e6GIwXK>_<41j8`}GnMY7!?cV_M#^^9Lim zfekE3QG+8U#T4FAZX|4f{g2v6{iID$B5nudu8W&BMMUp4Aljr}u~2sAB_->^Co)BH YP%+N1EN>_2%hTfd{^I8$e*Fy}e+p(VTmS$7 literal 0 HcmV?d00001 diff --git a/admin/template/images/td_beam_left.gif b/admin/template/images/td_beam_left.gif new file mode 100644 index 0000000000000000000000000000000000000000..0616e040175735a16f286df403ad45be5176bf2a GIT binary patch literal 648 zcmc(c%TE(g9EER(M_Yn;J`L#<2xST&2#^**5GkJlQG`^6@>#-XX(~&E90+-m-5{9_$Vnt8Y3mZ? zWo>=Ax+8tkEo5w{ADC!yGVi}XuWNc?_8F!>#w`T3!$Jd(J$-jgA=eq_*p{VQD=)Z902_k9c*A0cG<2VoXTIsgCw literal 0 HcmV?d00001 diff --git a/admin/template/images/td_beam_right.gif b/admin/template/images/td_beam_right.gif new file mode 100644 index 0000000000000000000000000000000000000000..204308e3693c64e6ca642c064b164b4930972747 GIT binary patch literal 648 zcmchUy>Aj>9DuJ>O9`>95ErL1sL}Y*n$+0T*3wUkwPNcBehp0=9i3cSK%+F)K?gC$ z5EwKr)oPrqF*=yay>~={P>OBg5V(_4;JAZ3xO;!vf5K;awr6-o$3{+ePa6p%@$EW6 zQDuZMqGUu1BwZyb711J1i6~g4>0*GcBdShPn51PC8d}AnRS3u6M;u4u5MEQlYdD%vqX~#@KrErg7>K2CoWZ{s*hs;88rCx^ zlZ7M;42zSTlH@SMDcKBUS;%m}vXJF)_MdQ=H*QGGwQ>aMQj?SY;TJ`p~_QipAvumez!Dc4D zy6+zt_w+k7{$b<6y^q>D{i$Zdz7uo5rN!yyHq+$Gq3`_7KE$$-M1gS mHVp>7eJ&iHHJcrJ%acPl?tF1-n)djuFRULl_g*;&qUSI3{a_IQ literal 0 HcmV?d00001 diff --git a/admin/template/images/td_beam_top.gif b/admin/template/images/td_beam_top.gif new file mode 100644 index 0000000000000000000000000000000000000000..89a14e67eba1b00dfd3d87566f216e27d4b69afb GIT binary patch literal 139 zcmZ?wbh9u|WMmL#Xc1yKbLQWPD}PR1`*-^K|4X<3T)F%2`h&kWAN{}g?DxZ$|DL`1 z^WxpVw;%t!|NQUM*FRr>{Qvpu->={Qi3d6iKmf9ffmJ|(!R5kZlQWA{P9%yPQD9MI Gum%7oxn!gO literal 0 HcmV?d00001 diff --git a/admin/template/images/td_category.jpg b/admin/template/images/td_category.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6a89ee13d6a83e09b1b1d1caef0bda84018c2e74 GIT binary patch literal 697 zcmex=P7?~NB7?=bZ znFSgDA7PMZU|?j0n9TqMj7-cdtZeKYoLt;M1zQCem>8LvnOK-vSy@`H|qMvW5}awt1(JSZA;@q>zSQc)8pmzcPOq?D?fx`w8fiK&^ng{76V zi>sTvho@I?NN8AiL}XNQN@`kqMrKxVNoiSmMP*fUOKV$uM`zch$y26In?7UatVN5L zEM2yI#mZHiHgDOwZTpU$yAB;ba`f2o6DLnyx_ss8wd*%--g@}x@sp>|p1*kc>f@)+ zU%r0({^RE_kiQrinBhSN@fe!F1cClyVqsxsVF&q(k*OSrnFU!`6%E;h90S=C3x$=8 z8aYIqCNA7~kW<+>=!0ld(M2vX6_bamA3wkt* g{D=PT%lyyatW*9^^!k5>r|s)6x{7{Sp7{SJ0M#Yps{jB1 literal 0 HcmV?d00001 diff --git a/admin/template/images/td_category_left.gif b/admin/template/images/td_category_left.gif new file mode 100644 index 0000000000000000000000000000000000000000..a26799044cbd9f5ae993615f48643f79d9d4e38c GIT binary patch literal 985 zcmX|=ZD>(XouF}{Z)tjJcgiuGEg)JCh+w2cr;sKUzVa_?3hp_D8r*)A-~h4?(t_I$V;{^xhk z`JZ#SwV&5mK562?FxA=P({idu9=lg3ov zpc+qTfnhZ;rb^>l|1gD<(v%jS)%*kT0PQfG9Gy`818Q1eDOF&W!_z@gY;}*OYGwHq2?l|-Qd)f%OPytM41_Sg zs`=@eNV#oc8bR^Pws&==!=WjXjogi(OPmuV88QK3x@WaMT?B6!qIg3SGT$MyfzMFA z(9EjY*ejtU23r=N^R&E3R}k+3h&aLJEh9j=OBn(2a#Wv_UdXWqLLLBJp?|c*OIxu! zLi=9?CV*a^A}hhXU4o82X92p_@uyl}xh*su=@LbO(*p{!KAoQQzsvV|Qxq+gkLy2?-p91R6G#Cv&r{vHGJ!Ivy9s*%jGe&gj0b!gVK3!NA9{Wdr#Uan%_{fn zEhr11w-r9zxH4D3e&7*x4eC0sM@*rIroDBj!$~_H8qo#kbB-?tCh5AgQie|ZKnv+>s*cvtYCB5KT)e6L$!XR#Z_HhxUE7MZFGjaa}C?}`z%di z{hGp$zE-Xt?9qQ;vUA70%a&r4bWyekf>5L{DJf-rOy&ypGED z7MI(QYje!B-#o+_)_-gfOfL7(vD>HiR5}{Fdy1yKYwDkE#j5SUx$b;r+Q+S4``665 z`l>+hx_tNIpJ#VZezC4tSGf7JdEv)C-P+(`pT#wq$4fQmPaYXL(zB_=Fdx1D-{LBc H!>4ZntI1k{ literal 0 HcmV?d00001 diff --git a/admin/template/images/td_category_right.gif b/admin/template/images/td_category_right.gif new file mode 100644 index 0000000000000000000000000000000000000000..e3228298711801c0f2067898e27b925225c4e4ee GIT binary patch literal 664 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 literal 0 HcmV?d00001 diff --git a/admin/template/images/wyzz/bold.gif b/admin/template/images/wyzz/bold.gif new file mode 100644 index 0000000000000000000000000000000000000000..4ec8e727eca2a73c1389bf8a1e9db75c860952c8 GIT binary patch literal 76 zcmZ?wbhEHb6k!lyXkcLQ^Yi=v|G(l-7FH1kMg|=QAOOiQFe&%+uRQ&he=*CJOA)?x d)w}Bo!!($rZZ@P){yvpMuH5)Z{*G96sSy|q)k&Uy`G!{;w zCaV(`qbv?t+#wtxl*cJ4HaaV@x{hDJzP{!6jg5~+W3xW+!5x4j`Ei6)NF`tVLohDb zgOt+;=lbR`fBR0Epp2hgT%BJq!W?Szqx=)K8L`FD={>d`LIt6mP=;m6F`N@P$5Boo z;$Xrsp@;~JaGa$m%dM!gqLQ+THfZV4!eKSO(R+B* z#4bjkjT&+5C(T}y)wFTp($%~69uCM~-Pk$v%&Ehr4HM1MHZVr+-MnQhquc693wAA8 zwROR&y`2;1X#_5+?wNAs!ini~mq%4^)kxj4a?N_iz-_G)7ANF3Z`gjA(QAEnaZg?6 z90m%2;!hS<5e7yE9grCyKQXY?9cU=<(2?ptv83pv%_I+3o|I0-fDZLDlZ;;QSTBFQ z>9GTgK&Pj0P(ZlZzS@pDQvGHqAaV6JDB;%DP#W0&$_R~6@x(G*u@_Y#!k z7ZPV=U>DL9^ps&xU{_|8;}>L*@nn_cW#DJzXW->w^;{-4&53=lLd)TLM+R#EJ%nyN literal 0 HcmV?d00001 diff --git a/admin/template/images/wyzz/downsize.gif b/admin/template/images/wyzz/downsize.gif new file mode 100644 index 0000000000000000000000000000000000000000..a17e48647c3d3d16688b17de445ba2d50da10c32 GIT binary patch literal 88 zcmZ?wbhEHb6k!lyXkcLQ^Yi=v|G(l-7DfgJMg|=QAOOiQFzNU7uRQ&hU$P_9FH48% q&dbBG-4&&GInt)>2yHys^w8&ce(AoAYfrB`beN<4$fFGm4Aua@93g=K literal 0 HcmV?d00001 diff --git a/admin/template/images/wyzz/font.gif b/admin/template/images/wyzz/font.gif new file mode 100644 index 0000000000000000000000000000000000000000..c48befb47ac671c38859d2547959e233d3385a44 GIT binary patch literal 908 zcmYjQUr1A76hBw*-R2y!PM4T$#Ec$H45U9~)We9Sv!W7w^ua%9OEe4=Bzh1v6C$`b zERu)>Ln>b+=_P!)ZWMdC#U3X3;Eidq$#%azgrp&{&UdfMK0Yqz`<>tUo%5aZ-R732 z#*3XY$gl%^_4fAaaJC3AGc%)Uny%|bU6%n==NSNp?0iSIKe~pwX(FRZ#;*gfC_5wE z+oNEf^z4ulFt?^U^2h>8!KXSKi^U>os*VK<>__&}$`8mCuAKK7L&I1YB(kzMLS$v{ zzA;?GIb{L*7{m2cH01*D5n@G!xR+wt+M$|_lzc-R%NhY*L-3Fpld$GSqDqt zMl~{#QX|{t@8Li&7W+YbTCv#A!`h7K2V!z^K}43~lPV0x+oxB8ybNN7pRba)+doVD zs`$wRz+*i@O9^t5sly$Me~-npAZS?VAOh`7dX8>qPp#&!NVQ2&&ja~C0j|4H=?X*^ zXII8uN9)?7w@2fGr{cJ`HnA8CEjb&%6!%lALjMwOW?!GYV=(Z$_GbX*ghZpiY+TSs{>v)0tkDf(i z!nT+wHd)35Ee!##<7X1MBw{!t&p24-afL9qR3&7z>ob`;T`=1-|LI1#WAA@!3Nly& E0QPe`fB*mh literal 0 HcmV?d00001 diff --git a/admin/template/images/wyzz/headers.gif b/admin/template/images/wyzz/headers.gif new file mode 100644 index 0000000000000000000000000000000000000000..4a35d384624522a2a32da44009426d210a2445db GIT binary patch literal 930 zcmYjQO=uHA6n;r3*`zHs8P^z_3LCtb(nIhRQFMh^w|Y_Pp@%B5UQ%cwN((s%##Ty> zyQNB~mlaFt4@wY}AU&k%C7_;6p-5L+3#m4l;Gtlp*7#=E)(*q)=6m1w-kbM!uXJ@r z&fXD0grC5d*X#BB{gNbwLZNUt9En6^SymJ!7K`=w_a~FdR4SEDr!`H>WHP$0&(6+f zv)NoOm(S-#K@kC3r&6?n@jw&K0FeLS){5q=P}Zi_{F)G{*Xu~oobx6)Kv~Aj50t5B z(2Cy}8m6@blGWWLlGWXN#&D2xYzaJ!;SMYsa{>4fF;z0+xF}mWh-M*&PMNaRCP&#s z>=^5x)|S8&w6bOdo&k)YcXLRgl~v28RoMtQEE_HW%<|qcbGn9EW#|=@K(Hw)6#Sy2~0n6Jum82|UdKFqt9|CV$peeyF z5p~61KoNl?c4i-CSD0PpKcY^U5qRt#3xeSMgwbT{Q+?)?kwHNq0Yihw? z1ZxwagA4gT0j`G-a1QrWFuZ@3+NNy7lm*z3Nd-DH0M5bz6az- c@~hj&E<|GY3oEaWe44xU{_V@pDS&f-0d3_g<^TWy literal 0 HcmV?d00001 diff --git a/admin/template/images/wyzz/help.gif b/admin/template/images/wyzz/help.gif new file mode 100644 index 0000000000000000000000000000000000000000..777f28a42b846b68a4c900d8fbab9644a60b8f9f GIT binary patch literal 930 zcmZ?wbhEHb6k!ly_|5wC7i|X zWGqNwoWy9iN<|_tiGk6Kd5Or$jSUU6ja>aqJ_tWOH&r(G(HoASj7!UXCl={gnrQj< k%UVV)eYxS;p_y!~9kSdD4qR)Axu_L#dRy+H1_lOe0E*Tqq5uE@ literal 0 HcmV?d00001 diff --git a/admin/template/images/wyzz/htmlmode.gif b/admin/template/images/wyzz/htmlmode.gif new file mode 100644 index 0000000000000000000000000000000000000000..4b4ec2d01cb5d5d05a0c5465d09584bd4522d57f GIT binary patch literal 79 zcmZ?wbhEHb6k!lyXkY+=|Ns9h{$ycfU|?j>0r5dH3`}Z0{VPwu6O~_TX(JqoSXcYzXYh-8UQGGA$b4* literal 0 HcmV?d00001 diff --git a/admin/template/images/wyzz/index.html b/admin/template/images/wyzz/index.html new file mode 100644 index 0000000..ff17433 --- /dev/null +++ b/admin/template/images/wyzz/index.html @@ -0,0 +1,15 @@ + + + + + Untitled + + + + +

+ + +

+ + diff --git a/admin/template/images/wyzz/inserthorizontalrule.gif b/admin/template/images/wyzz/inserthorizontalrule.gif new file mode 100644 index 0000000000000000000000000000000000000000..7d43566e8a42e8872470dea997e22d8071c6612d GIT binary patch literal 852 zcmZ?wbhEHb6k!ly_|5ac1$`;~uY%dAvI6G4<5HB`2;fId)^$(Z$_I|IIpdqx0~;jeC}@*}7=; zmWAs!ty;5T<o3&{2+<9|m&R#TicK`I5(gb-(-rLjP+1J|I-rdwz-`3pQ($d!4($dgU*VNSB*wk3xR8wEm zQdwJ3SyNqJT~=0ET3l9KP+X8-Sd>?gpI4BVlb@59SCEmJk(!p4lA0PHpAZ`x9~~7N z78V&293B)H9^fDB?-%Un6XNR==<5^Y;}xLq)$if%8KxFoeCT+oG z%a`*r@Gn~&rOmx@(C;ZG$ z7_%@l@6=^tI>F@TdV*D%k#XmPHxGhXS*7*mxpwO4yk*kyw~$e=vMNfv(BLoME$_DE zipD}G*L6H{9(PVZZ04Ax8nons!^G9i9U=xfUnGiLJcTtQHn^M=ebmA&Y26^r6Zwj!~U+mhI4tys3}Tdy%IgEasM9viFx literal 0 HcmV?d00001 diff --git a/admin/template/images/wyzz/italic.gif b/admin/template/images/wyzz/italic.gif new file mode 100644 index 0000000000000000000000000000000000000000..8fd547ef8e8f24e03e32becb1bf4e0677ed33c13 GIT binary patch literal 79 zcmZ?wbhEHb6k!lyn8?7ebm>w*KfnL~|1&T!DE?$&6=7gv&;hc6vLXx&ObS!_SDt>$ izu0BrHBGGp50cJS3R{#iPGg;&68VDr_$MAw25SJ9t{E=? literal 0 HcmV?d00001 diff --git a/admin/template/images/wyzz/justifycenter.gif b/admin/template/images/wyzz/justifycenter.gif new file mode 100644 index 0000000000000000000000000000000000000000..6f1c340b6e85f9aecb00dd1ea9f586c93db4172d GIT binary patch literal 79 zcmZ?wbhEHb6k!lyn8?78mX>C0Z2bTKe+C8y#h)y!A`DCnIzTp1R)m3pNnuL=%F}Q8 ig*i4~vR*83KI literal 0 HcmV?d00001 diff --git a/admin/template/images/wyzz/justifyfull.gif b/admin/template/images/wyzz/justifyfull.gif new file mode 100644 index 0000000000000000000000000000000000000000..f881b546b33a435ab05260c558eb4a92d16e1476 GIT binary patch literal 120 zcmZ?wbhEHb6k!ly*v!C?mX>C0Z2bTKe+J@!;!hSv1_mYu9guR684N6{0Vh0H@3nY+ mR+}T9qc8q?r-tN=m{;r8d|S40&Aw8z)s^r6AMj*hum%9@_#D3g literal 0 HcmV?d00001 diff --git a/admin/template/images/wyzz/justifyleft.gif b/admin/template/images/wyzz/justifyleft.gif new file mode 100644 index 0000000000000000000000000000000000000000..f2e6142c4e0009ed808c30389cc5b43eac78300e GIT binary patch literal 80 zcmZ?wbhEHb6k!lyn8?78mX>C0Z2bTKe+C8y#h)y!A`DCnIzTp1R)m3pNpVX5%F}Q8 jg*i4~vQFM&^FqI55xZG(n3KBOvQw{)ee#iJWv~VSShg4@ literal 0 HcmV?d00001 diff --git a/admin/template/images/wyzz/justifyright.gif b/admin/template/images/wyzz/justifyright.gif new file mode 100644 index 0000000000000000000000000000000000000000..5df6220a3a4974701c628c68f473acf56aa3bf4b GIT binary patch literal 79 zcmZ?wbhEHb6k!lyn8?78mX>C0Z2bTKe+C8y#h)y!A`DCnIzTp1R)m3pNnuL=%F}Q8 ig*i4~vR-Vrt^IGsBX+msFe7!hW#?WU`=lezU=09LJ{a`? literal 0 HcmV?d00001 diff --git a/admin/template/images/wyzz/link.gif b/admin/template/images/wyzz/link.gif new file mode 100644 index 0000000000000000000000000000000000000000..d492406060e2b3fd870293e630442a64554edd0d GIT binary patch literal 342 zcmV-c0jd5+Nk%w1VG;lm0M!5h5GX*v*zlgLx_y$SQ(=6ryVT(D|2a%-#K+KRc8&1( z|B|1puDQ-DKw_}K;EbTP(Ae-tRB)iM(9qc6kf6Ze=m8j6*|59Ufo};YH%*+rdP`JRyTWW-)wZ?6Ej)0i3pt#VLq{5A&wyC$%Mq6)j zdyhm>YNoEX$7@0?HM7*tJ z7lm!m`-aDwA*1p*5Hcu(+Hsq9G}p7azq|Ae2zDexw8D2hk*c zpdr8}pgIsb;NVm69p!7)(a^D>lLD3U6_?6~Hj-`Mw2^8HC54elNv>r|N+G1uUP^mN zcuIO)c|>|l3nT@Xf^wmR%egCs%Y;h>XM$77?dHoTj7$1FT2Ri2U^ZofH3(~9(%_sr zj1m%=I$?E8>WtPgB^VP*s~A@a!48fnIoPqIub}@z_OCUNL7S-9zt-;r#Xj@RS6i>Q zn=NRN53e7`kg4GxVtU(c8IgVx2wq4eSWx!L(EHRjoUQQj) z=BDRSp>TSbjBji&jQy^4AdP=+CGUQu-zs6OIg;Pdg$eT^adhHQU@C>dcth__mb|Nb iZhAZ!e^JXNkK~3geEAW~tdCBYp6x%~`}EjGbN>KY7U}2! literal 0 HcmV?d00001 diff --git a/admin/template/images/wyzz/redo.gif b/admin/template/images/wyzz/redo.gif new file mode 100644 index 0000000000000000000000000000000000000000..a713be153519575117abd82a0fd55e3119443b0b GIT binary patch literal 339 zcmZ?wbhEHb6k!lyxXQqAp8O<)G8}@2sb*j8ptc_s(3KTH92YPo0?l#ddg}sggCP( aN-uI&RbpK3q^Y#VNt}DbmaV>y4AuY$5t#G< literal 0 HcmV?d00001 diff --git a/admin/template/images/wyzz/removeformat.gif b/admin/template/images/wyzz/removeformat.gif new file mode 100644 index 0000000000000000000000000000000000000000..a1d9d19a26909ac950e93da324ee21d6ba850247 GIT binary patch literal 160 zcmZ?wbhEHb6k!ly*v!E29|RbH@IM2H17rayAUZzMpyvU0!R!8!7YYH-00|1PULRkO+ literal 0 HcmV?d00001 diff --git a/admin/template/images/wyzz/specialchar.gif b/admin/template/images/wyzz/specialchar.gif new file mode 100644 index 0000000000000000000000000000000000000000..b24452ae34906b4db19917944e4d5736227677c1 GIT binary patch literal 145 zcmZ?wbhEHb6k!lySj5iIz|e5uz=4K_hW`ve03!Z_f#OdVMg|6U1|5(vNG$_%SjDb8 z{|rv;Y*`xGQoHo7^9jxg2?Y-q6!!0Ay(T5Wc5=;^-50|yX0RN3bAEZkBi^?1(!cWbTmHp! gG+C0DpPlmhZ=yIufJf${DZ3^;<37GAn1R6>0Baf?1(!cWbTmHoi f4y&?w&&>`NXK~ADO(~nU%&O}q_wi4E#2BmrO2`;- literal 0 HcmV?d00001 diff --git a/admin/template/images/wyzz/underline.gif b/admin/template/images/wyzz/underline.gif new file mode 100644 index 0000000000000000000000000000000000000000..e32b6e8ccbe928ded9674712c0fb7fe6147d0b5e GIT binary patch literal 87 zcmZ?wbhEHb6k!lyn8?7eY}qnjU*G@#|1&T!DE?$&6=7gv&;hc6vLXx&Od3=ASDt>$ qznI6QBTL>^`rGWxhtF$LlG~oHSj4Enusqt+tm*0ZbKlDu8LRkT_I~a059cg+s?0dC%|C_~o-Y?tz zZpp5f6a>tD?T)=_|UcNM!|v)1v4I`PkEm(;X}fN2LT-)0vdqm zL3quDh?+g_HTMInw+2*PaHx3TP;kMa;DABF1BZ+Q4jCIP(>6IIEU=7QY>=?QAYy?* zzyt-43IG59XCNIY{$yblVbEjH0ci#KiGeNKVS0gwj#U4NB}FG=m?U_Z7rgYc(7EBN zC@CnkPU-T=OEctDn-7+zys8NhW7$-+FyaQ2xWdy$1w*M)wMr+|S`TTJ#%AX>eh*z8 oZ7o%$Ua_ +

+ + +
diff --git a/admin/template/index.html b/admin/template/index.html new file mode 100644 index 0000000..ff17433 --- /dev/null +++ b/admin/template/index.html @@ -0,0 +1,15 @@ + + + + + Untitled + + + + +

+ + +

+ + diff --git a/admin/template/index_body.tpl b/admin/template/index_body.tpl new file mode 100644 index 0000000..9abc58a --- /dev/null +++ b/admin/template/index_body.tpl @@ -0,0 +1,60 @@ +
+
+
+
+
+ +
+ + + + + + +
+

+
+ + + + + + + + + + + + + + + + + + + + + + +
+ :   + + +
+ :   + + +
+ :   + + +
+ :   + + +
+ :   + + +
+
diff --git a/admin/template/invalidfile_body.tpl b/admin/template/invalidfile_body.tpl new file mode 100644 index 0000000..4567e99 --- /dev/null +++ b/admin/template/invalidfile_body.tpl @@ -0,0 +1,5 @@ +
+
+ : => : +
+  \ No newline at end of file diff --git a/admin/template/mass_email.tpl b/admin/template/mass_email.tpl new file mode 100644 index 0000000..f49e3c5 --- /dev/null +++ b/admin/template/mass_email.tpl @@ -0,0 +1,44 @@ + + +
+
+
+
+
+ +
+ +
+ + + + + + +
+ + + + + + + +
: + + +
+   + +
+
diff --git a/admin/template/message_body.tpl b/admin/template/message_body.tpl new file mode 100644 index 0000000..0f78341 --- /dev/null +++ b/admin/template/message_body.tpl @@ -0,0 +1,25 @@ + + + + + + + + +DSF Administration + + +
+
+
+
+
+ + + + + +
DSF v
+ +
+ diff --git a/admin/template/overall_footer.tpl b/admin/template/overall_footer.tpl new file mode 100644 index 0000000..be0add8 --- /dev/null +++ b/admin/template/overall_footer.tpl @@ -0,0 +1,13 @@ + + + + +
+
+
+
+
+ + diff --git a/admin/template/overall_header.tpl b/admin/template/overall_header.tpl new file mode 100644 index 0000000..8409656 --- /dev/null +++ b/admin/template/overall_header.tpl @@ -0,0 +1,67 @@ + + + + + +DSF Administration + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ =><= +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+ + diff --git a/admin/template/post_error_body.tpl b/admin/template/post_error_body.tpl new file mode 100644 index 0000000..a7d4423 --- /dev/null +++ b/admin/template/post_error_body.tpl @@ -0,0 +1,5 @@ + + + + +
diff --git a/admin/template/skin.css b/admin/template/skin.css new file mode 100644 index 0000000..f2e11ab --- /dev/null +++ b/admin/template/skin.css @@ -0,0 +1,228 @@ +/* +//skin defines for DSF v1.0 +*/ + +a:hover +{ + text-decoration: underline; color : navy; +} + +/* beam */ +.beam +{ + color: #800000; + font-family: Verdana; + font-size: 9pt; + font-weight: bold; + background-color: #C6D1FB; + text-align: center; + background-image: url('images/td_beam.jpg'); +} + +/* body class */ +.body +{ + background-color: #E8E8FF; + background-image: url('images/body_bg.gif'); + margin: 4px; +} + +/* style category */ +.category +{ + color: #FFFFFF; + font-family: Verdana; + font-size: 12px; + font-weight: bold; +} + +/* class copyright */ +.copyright +{ + font-family: Verdana; + font-size: 8pt; + color: #FFFFFF; + text-decoration: none; +} + +/* description forum */ +.desc +{ + color: #434354; + font-family: Verdana; + font-size: 8pt; +} +/* configuration footer */ +.footer +{ + background-color: #CCCCFF; +} + +/* heading forum - main title */ +.hforum +{ + color: #008000; + font-family: Verdana; + font-size: 16pt; + font-weight: bold; +} + +/* main */ +.main +{ + color: #7D96F7; + font-family: Verdana; + font-size: 12px; + font-weight: bold; +} + +/* standard error font*/ +.ferror +{ + color: red; + font-family: Verdana; + font-size: 9pt; + font-weight: bold; +} + +/* forum item */ +.fitem +{ + background-color: #E1E7FD; + border-width : 1pt; + border-color: #CCCCFF; + border-collapse: collapse; + border-style: solid; +} + +/* main menu link*/ +.flink +{ + color: #000080; + font-family: Verdana; + font-size: 10pt; + font-weight: bold; + text-decoration: none; +} + +/* small font */ +.fsmall +{ + color: #434354; + font-family: Verdana; + font-size: 8pt; + text-decoration: none; +} + +/* standard font */ +.fstandard +{ + color: #434354; + font-family: Verdana; + font-size: 9pt; + text-decoration: none; +} + +/* very small font */ +.fverysmall +{ + color: #434354; + font-family: Verdana; + font-size: 9px; + text-decoration: none; +} + +/* button class */ +input.fbutton +{ + background-color: #CCCCFF; + font-weight: bold; + cursor: pointer; + color: #800000; +} + + +input:hover +{ + background-color: lightyellow; +} + +/* main table forum(header, footer) */ +.maintable +{ + border-width : 1.5pt; + border-color: #CCCCFF; + border-collapse: collapse; + border-style: solid; +} + +/* mesage forum */ +.message { + z-index: 100; + border-width : 0pt; + border-color: #CCCCFF; + border-collapse: collapse; + border-style: solid; + background-color: #CCCCFF; + font-family: Verdana; + font-size: 9pt; + font-weight: bold; +} + +/* moderate options */ +.moderate +{ + background-color: #D9E0FD; + text-align: center; +} + +.navigator +{ + color: blue; + text-decoration: none; +} + +/* section forum */ +.sect +{ + color: #434354; + font-family: Verdana; + font-size: 10pt; + font-weight: bold; + text-decoration: none; +} + +/* table post error */ +.tableerror +{ + border-width : 1pt; + border-color: #CCCCFF; + border-collapse: collapse; + border-style: solid; + background-color: #CCCCFF; + font-family: Verdana; + font-size: 9pt; + text-align: center; + font-weight: bold; +} +/* quote text */ +.textquote +{ + font-family: Verdana; + font-size: 9pt; + font-style: italic; +} + +/* PANEL ADMINISTRATION SECTION ----------------------------------------------*/ +.pa_h1 +{ + font-family: Verdana; + font-size: 25pt; + font-weight: bold; +} +.pa_sect +{ + font-family: Verdana; + font-size: 15pt; + font-weight: bold; +} \ No newline at end of file diff --git a/admin/template/skins_beam_body.tpl b/admin/template/skins_beam_body.tpl new file mode 100644 index 0000000..33517ae --- /dev/null +++ b/admin/template/skins_beam_body.tpl @@ -0,0 +1,20 @@ +
+
+
+
+
+ +
+:     + +
+ + + + + + +
+

+

+ diff --git a/admin/template/skins_item_add.tpl b/admin/template/skins_item_add.tpl new file mode 100644 index 0000000..f4d3f24 --- /dev/null +++ b/admin/template/skins_item_add.tpl @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/admin/template/smilelist_add_file_body.tpl b/admin/template/smilelist_add_file_body.tpl new file mode 100644 index 0000000..549ce8e --- /dev/null +++ b/admin/template/smilelist_add_file_body.tpl @@ -0,0 +1,37 @@ +
+
+
+
+
+
+
+ + + + + +
+ + + + + +
+

+

+ + + + + + + + + + +
+ : + + + + + +
+   +   +
+ diff --git a/admin/template/smilelist_edit_body.tpl b/admin/template/smilelist_edit_body.tpl new file mode 100644 index 0000000..1a81a0a --- /dev/null +++ b/admin/template/smilelist_edit_body.tpl @@ -0,0 +1,42 @@ +
+
+
+
+
+
+ + + + + + +
+

+

+ + + + + + + + + + + + + + +
+ : + + +
+ : + + +
+   +   +
+ diff --git a/admin/template/smilelist_item_add.tpl b/admin/template/smilelist_item_add.tpl new file mode 100644 index 0000000..f004bac --- /dev/null +++ b/admin/template/smilelist_item_add.tpl @@ -0,0 +1,23 @@ + + + + + + + + +
+ + + + + + + + + + + + + +
diff --git a/admin/template/smilelist_view_body.tpl b/admin/template/smilelist_view_body.tpl new file mode 100644 index 0000000..8dd7263 --- /dev/null +++ b/admin/template/smilelist_view_body.tpl @@ -0,0 +1,23 @@ +
+
+
+
+
+
+ + + + + + +
+

+

+ + + +
+    +    +    +
diff --git a/admin/template/user_beam_body.tpl b/admin/template/user_beam_body.tpl new file mode 100644 index 0000000..2d7c145 --- /dev/null +++ b/admin/template/user_beam_body.tpl @@ -0,0 +1,29 @@ +
+
+ + + + + + + +
+ : + + + +
+ + + + + + + + + diff --git a/admin/template/user_edit_body.tpl b/admin/template/user_edit_body.tpl new file mode 100644 index 0000000..2541d8b --- /dev/null +++ b/admin/template/user_edit_body.tpl @@ -0,0 +1,237 @@ + + +
+
+
+
+
+ +
+ + +
ID
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + +
:
: +
: +
: +
: +
+  
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
: +
: + size="46" /> + +
: /> +    + />
: /> +    + />
: /> +    + />
+ :   + + +
+ :   + + +
+ :   + + +
: +
: + +
: +
+  
+ + + + + + +
+ + + + + +
: + + +
+  
+ + + + + + + +
+ + + + + + + + + +
: + +
: + + +
+  
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + +
: + />   + /> +
: + />   + />Moderator   + />Administator +
: +
+   + +
+
diff --git a/admin/template/user_item_add_body.tpl b/admin/template/user_item_add_body.tpl new file mode 100644 index 0000000..136228c --- /dev/null +++ b/admin/template/user_item_add_body.tpl @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/admin/template/users_beam_body.tpl b/admin/template/users_beam_body.tpl new file mode 100644 index 0000000..83b1a65 --- /dev/null +++ b/admin/template/users_beam_body.tpl @@ -0,0 +1,46 @@ + +
+
+
+
+
+ +
+
+
+ : + + : + + +
+
+  + + + + + + + + + +
+ diff --git a/admin/template/users_end_body.tpl b/admin/template/users_end_body.tpl new file mode 100644 index 0000000..4498c2e --- /dev/null +++ b/admin/template/users_end_body.tpl @@ -0,0 +1,10 @@ +
+
+: + + + +
+ \ No newline at end of file diff --git a/admin/template/wyzz_editarea.css b/admin/template/wyzz_editarea.css new file mode 100644 index 0000000..25f6d1d --- /dev/null +++ b/admin/template/wyzz_editarea.css @@ -0,0 +1,81 @@ +/**************** body and tag styles ****************/ + body, p { + margin-top: 0px; + margin-bottom: 30px; + background-color: #fefefe; + font-family: Verdana, Arial, Helvetica, sans-serif; + color: #333333; + font-size: 13px; + } + + #container { + width: 750px; + margin: 0 auto; + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 11px; + line-height: 1.6em; + color: #666666; + background-color: #FFFFFF; + } + + #container2 { + width: 746px; + margin: 0 auto; + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 11px; + line-height: 1.6em; + color: #666666; + background-color: #FFFFFF; + border-bottom: 2px solid #2763A5; + } + + pre { + font-family: "courier new", sans-serif; + font-weight: normal; + font-size: 12px; + color: #6DA6E2; + background-color: #FFFFFF; + } + + h1 { + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + font-weight: normal; + font-size: 32px; + color: #6DA6E2; + margin-bottom: 30px; + background-color: #FFFFFF; + } + + h2 { + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + font-weight: normal; + font-size: 28px; + color: #6DA6E2; + margin-bottom: 30px; + background-color: #FFFFFF; + } + + h3 { + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + font-weight: normal; + font-size: 24px; + color: #6DA6E2; + margin-bottom: 30px; + background-color: #FFFFFF; + } + + a { + color: #6DA6E2; + background-color: #FFFFFF; + text-decoration: none; + font-weight: bold; + font-family: Verdana; + } + + a:hover { + background-color: #FFFFFF; + color: inherit; + font-weight: bold; + text-decoration: underline; + font-family: Verdana; + } \ No newline at end of file diff --git a/admin/template/wyzz_style.css b/admin/template/wyzz_style.css new file mode 100644 index 0000000..865a64b --- /dev/null +++ b/admin/template/wyzz_style.css @@ -0,0 +1,24 @@ +/* WYSIWYG EDITOR */ + +/* Toolbar */ +.toolbar { border: 1px solid #999999; height: 24px; background-image: url('images/td_editor.jpg'); background-color:#cccccc; } +.wyzz_alleditor { display: block; border:1px #aaa solid; width:520px; background:#e0e0e0; padding:2px;position:relative;} +.wyzz_alleditor div { display:block;} + +/* Command Buttons */ +.button { width: 20px; height: 20px; border: 1px solid transparent; margin: 0px; padding: 0px; background: transparent; } +.closebutton { float:right; padding: 2px; } +.buttonOver { width: 20px; height: 20px; border: 1px solid #999999; margin: 0px; padding: 0px; } +.separator { width: 2px; border-left: 1px solid #eeeeee; margin: 0px; padding: 0px; } + +/* others */ +.colorpicker, .colorbackpicker, .fontpicker, .headerpicker, .helpbox, .linkdialog { position:absolute; width: 216px; background:#eee; display:block; padding:0px; margin-top:0px; border:1px #555 solid;line-height:1.4} +.specialpicker { position:absolute; width: 216px; background:#eee; display:block; padding-top:20px;padding-left:20px; margin-top:0px; border:1px #555 solid;line-height:1.4} +.help {margin: 10px; font: 12px bold verdana,helvetica,arial,sans-serif black; text-align:center } +.help h4 {font: 18px bold verdana,helvetica,arial,sans-serif black; padding-top:10px} +.colorpicker a, .colorbackpicker a { border:1px #fff solid; height:10px; width:10px; font-size:0.01em; display:block;float:left; margin-right:0px;} +.colorpicker a:hover, .colorbackpicker a:hover { border:1px #f00 solid;} +.fontpicker a, .headerpicker a { color:#333;text-decoration:none;background:#eee;} +.fontpicker a:hover, .headerpicker a:hover, .specialpicker a:hover { color: #666 } +.specialpicker a { color:#333;font-family:arial;text-decoration:none;background:#eee;height:13px; width:12px;font-size:14px} +.charbutton { width:12px;height:14px; } \ No newline at end of file diff --git a/common.php b/common.php new file mode 100644 index 0000000..9cb0b13 --- /dev/null +++ b/common.php @@ -0,0 +1,84 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ + +if (is_dir('install')) +{ + die('Please delete or rename catalog "install"'); +} +//set global preferences from DataBase +$sql="SELECT * FROM ".CONFIG_TABLE.""; +$query=DataBase::sql_query($sql,'CRITICAL','Could not obtain config information'); +while($result=mysql_fetch_array($query)) +{ + if (($result['name']=='') or ($result['name']=='0')) + { + $forum_config['name']==false; + } + else + { + $forum_config[$result['name']] = $result['value']; + } +} +//check for disable forum +if ($_SESSION>0) +{ + if (($forum_config['disable_forum']) and (User::UserInformation($_SESSION['uid'],'rank')<2)) + { + die($forum_config['disable_forum']); + } +} +else +{ + if ($forum_config['disable_forum']) + { + die($forum_config['disable_forum']); + } +} + +//check for banned user +if ($_SESSION['uid']>0) +{ + $ip = $_SERVER['REMOTE_ADDR']; + $uid = $_SESSION['uid']; + $sql = "SELECT `IP`, `u_id`, `motive` FROM ".BANLIST_TABLE." WHERE `IP`='$ip' OR `u_id`='$uid'"; + $result = mysql_fetch_array(DataBase::sql_query($sql,'GENERAL','Could not obtain ban information')); + $motive = $result['motive']; + $db_ip = $result['IP']; + $db_uid = $result['u_id']; + if (($db_ip==$ip) || ($db_uid==$uid)) + { + include('./includes/class_overall.php'); + include('./lngs/'.Over::DefaultLang().'/main.php'); + sess_delete($_SESSION['uid']); + $_SESSION['uid']='0'; + message_forum($motive,'index.php', '10'); + } +} + +//set to variable userdata loged user informations +if ($_SESSION['uid']>0) +{ + $sql = "SELECT * FROM ".USERS_TABLE." WHERE `u_id`=".$_SESSION['uid']." LIMIT 1"; +} +else +{ + $sql = "SELECT * FROM ".USERS_TABLE." WHERE `u_id`='-1'"; +} +$query = DataBase::sql_query($sql, 'GENERAL','Could not obtain loged user information'); +$userdata = mysql_fetch_array($query); +define('RANK', $userdata['rank']); + +define('TABLES_WIDTH',$forum_config['tables_width']); +//protect of database - add the backslashes +/*foreach ($_POST as $name => $value) +{ + $_POST[$name] = mysql_real_escape_string($value); +}*/ +?> diff --git a/config.php b/config.php new file mode 100644 index 0000000..8ba4240 --- /dev/null +++ b/config.php @@ -0,0 +1,22 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if ( !defined('IN_uF') ) +{ + die('Hacking attempt'); +} +@ini_set('display_errors', '1'); +define('DB_HOST','localhost'); +define('DB_USER','root'); +define('DB_PASS',''); +define('DB_NAME','uf'); +define('DB_PREFIX','uf_'); +define('VERSION','9.4.29'); +define('DSF_INSTALLED',true); +?> diff --git a/eprofile.php b/eprofile.php new file mode 100644 index 0000000..4463092 --- /dev/null +++ b/eprofile.php @@ -0,0 +1,292 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./config.php'); +include('./includes/constants.php'); +include('./includes/class_db.php'); +include('./includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./includes/sessions.php'); +include('./includes/class_user.php'); +include('./common.php'); +include('./includes/class_overall.php'); +include('./includes/class_posting.php'); +include('./includes/class_forum.php'); +include('./includes/class_topic.php'); +include('./includes/classes/secure.php'); +$default_skin = Over::ViewSkinName(); +$default_lang = Over::DefaultLang(); +include('./lngs/'.$default_lang.'/main.php'); +$start = Over::TimeGeneration(); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +if ($_SESSION['uid']==0) +{ + $stop = Over::TimeGeneration(); + message_forum($lng['youarenotlogd'],'login.php?mode=login'); +} +foreach ($_POST as $name => $value) +{ + if ($forum_config['use_censorlist']) + { + $_POST[$name] = Secure::UseCensorlist($value); + } +} +$msg=''; +$errors = true; +if (isset($_POST['email'])) +{ + if ( ereg ("^.+@.+\..+$", $_POST['email'])) + { + //if user changing password... + if ($_POST['password']!='') + { + if (md5($_POST['password'])==User::UserInformation($_SESSION['uid'],'pass')) + { + if ($_POST['newpassword']==$_POST['confirmpassword']) + { + User::UpdatePassword($_SESSION['uid'], md5(strip_tags($_POST['newpassword']))); + $errors = false; + } + else + { + $message=$lng['incorrect_password2']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } + } + else + { + $message=$lng['incorrect_password']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } + } + else + { + if ($_POST['default_skin']!='-1') + { + if ($_POST['default_lang']!='-1') + { + if ($_POST['limit_tpid']!='-1') + { + if ($_POST['limit_ftid']!='-1') + { + if ($_POST['limit_users']!='-1') + { + if (strlen(trim($_POST['sig']))<$forum_config['sig_len']) + { + $errors = false; + } + else + { + $message = $lng['signature_too_long']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } + } + else + { + $message = $lng['no_limit_users']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } + } + else + { + $message = $lng['no_limit_ftid']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } + } + else + { + $message = $lng['no_limit_tpid']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } + } + else + { + $message=$lng['invalid_lang']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } + } + else + { + $message=$lng['invalid_skin']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } + } + if (!$errors) + { + $_POST['ggnumber']=intval($_POST['ggnumber']); + $_POST['interests']=strip_tags($_POST['interests']); + $_POST['sig']=Secure::TagsReplace($_POST['sig']); + $allow_shoutbox = (isset($_POST['allow_shoutbox'])) ? '1' : 0; + if (isset($_FILES['avatar_file']['tmp_name'])) + { + $extension = substr($_FILES['avatar_file']['name'],(strlen($_FILES['avatar_file']['name'])-3)); + if (($extension == 'jpg') or ($extension == 'gif')) + { + if (file_exists(AV_CATALOG.'av-'.$_SESSION['uid'].'.jpg')) + { + unlink(AV_CATALOG.'av-'.$_SESSION['uid'].'.jpg'); + } + if (file_exists(AV_CATALOG.'av-'.$_SESSION['uid'].'.gif')) + { + unlink(AV_CATALOG.'av-'.$_SESSION['uid'].'.gif'); + } + move_uploaded_file($_FILES['avatar_file']['tmp_name'], AV_CATALOG.'av-'.$_SESSION['uid'].'.'.$extension); + $imagesize = @getimagesize(AV_CATALOG.'av-'.$_SESSION['uid'].'.'.$extension); + if (($imagesize[0]<$forum_config['max_av_x']) && ($imagesize[1]<$forum_config['max_av_y'])) + { + $_POST['avatar'] = AV_CATALOG.'av-'.$_SESSION['uid'].'.'.$extension; + } + else + { + $_POST['avatar'] = 'images/av-to-big.jpg'; + } + } + else + { + $_POST['avatar'] = htmlspecialchars($_POST['avatar']); + if (!preg_match('#^(http)|(ftp):\/\/#i', $_POST['avatar']) && $_POST['avatar'] != 'images/av-to-big.jpg') + { + $_POST['avatar'] = 'http://' . $_POST['avatar']; + } + + if (!preg_match("#^((ht|f)tp://)([^ \?&=\#\"\n\r\t<]*?(\.(jpg|gif))$)#is", $_POST['avatar']) && $_POST['avatar'] != 'images/av-to-big.jpg') + { + $_POST['avatar'] = ''; + } + else + { + $imagesize = getimagesize($_POST['avatar']); + if (($imagesize[0]<$forum_config['max_av_x']) && ($imagesize[1]<$forum_config['max_av_y'])) + { + $_POST['avatar'] = $_POST['avatar']; + } + else + { + $_POST['avatar'] = 'images/av-to-big.jpg'; + } + } + } + } + else + { + $_POST['avatar'] = htmlspecialchars($_POST['avatar']); + if (!preg_match('#^(http)|(ftp):\/\/#i', $_POST['avatar']) && $_POST['avatar'] != 'images/av-to-big.jpg') + { + $_POST['avatar'] = 'http://' . $_POST['avatar']; + } + + if (!preg_match("#^((ht|f)tp://)([^ \?&=\#\"\n\r\t<]*?(\.(jpg|gif))$)#is", $_POST['avatar']) && $_POST['avatar'] != 'images/av-to-big.jpg') + { + $_POST['avatar'] = ''; + } + else + { + $imagesize = getimagesize($_POST['avatar']); + if (($imagesize[0]<$forum_config['max_av_x']) && ($imagesize[1]<$forum_config['max_av_y'])) + { + $_POST['avatar'] = $_POST['avatar']; + } + else + { + $_POST['avatar'] = 'images/av-to-big.jpg'; + } + } + } + User::UpdateProfile($_SESSION['uid'],$_POST['ggnumber'],strip_tags($_POST['email']),$_POST['interests'], $_POST['sig'],$_POST['avatar'],$_POST['allow_qr'],$_POST['allow_email'],$_POST['allow_gg'],$_POST['default_skin'],$_POST['default_lang'], $_POST['limit_tpid'],$_POST['limit_ftid'], $_POST['limit_users'], $allow_shoutbox); + message_forum($lng['profile_modernized'],'eprofile.php'); + } + } + else + { + $message=$lng['invalid_email']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } +} +//add skin variables +$skin = array( +//labels profile +'lnick'=>$lng['user_name'], +'lpass'=>$lng['lpassw'], +'lnewpass'=>$lng['new_password'], +'lcpass'=>$lng['confirm_password'], +'lemail'=>'E-mail', +'lgg'=>$lng['gg_number'], +'lallow_gg'=>$lng['allow_gg'], +'lallow_email'=>$lng['allow_email'], +'lallow_qr'=>$lng['allow_qr'], +'linterests'=>$lng['luinterests'], +'lsig'=>$lng['sig'], +'lavaddr'=>$lng['picture_adress'], +'lovpr'=>$lng['general_settings'], +'L.select_value'=>$lng['select_value'], +'L.limit_users'=>$lng['limit_users'], +'OPTIONS.limit_users'=>Over::AddPages2($userdata['limit_users']), +'L.posts_in_topic'=>$lng['limit_posts'], +'OPTIONS.limit_tpid'=>Over::AddPages2($userdata['limit_tpid']), +'L.topics_in_forum'=>$lng['limit_topics'], +'OPTIONS.limit_ftid'=>Over::AddPages2($userdata['limit_ftid']), +'lupr'=>$lng['profile_settings'], +'lspr'=>$lng['signature_settings'], +'ldefault_lang'=>$lng['default_lang'], +'default_lang'=>Over::AddLangs(), +'l2default_lang'=>$lng['select_lang'], +'ldefault_skin'=>$lng['default_skin'], +'default_skin'=>Over::AddSkins(), +'l2default_skin'=>$lng['select_skin'], +'lapr'=>$lng['avatar_settings'], +'lsubmit'=>$lng['save'], +'lreset'=>$lng['reset'], +'nick'=>$userdata['nick'], + +//options profile +'sig'=>$userdata['sig'], +'allow'=>$lng['allow'], +'allow_shoutbox'=>($userdata['view_shoutbox']==1) ? 'checked="checked"' : '', +'avatar'=>$userdata['avatar'], +'interests'=>$userdata['interests'], +'email'=>$userdata['email'], +'gg'=>$userdata['gg'], + +//options values +'option_no_gg'=>($userdata['allow_gg']==0) ? 'checked="checked"' : '', +'option_no_email'=>($userdata['allow_email']==0) ? 'checked="checked"' : '', +'option_no_qr'=>($userdata['allow_qr']==0) ? 'checked="checked"' : '', +'option_yes_gg'=>($userdata['allow_gg']==1) ? 'checked="checked"' : '', +'option_yes_email'=>($userdata['allow_email']==1) ? 'checked="checked"' : '', +'option_yes_qr'=>($userdata['allow_qr']==1) ? 'checked="checked"' : '', +'no'=>$lng['no'], +'lallow_shoutbox'=>$lng['allow_shoutbox'], +'lavfile'=>$lng['avatar_file'], +'yes'=>$lng['yes'] +); +$skin = array_push_associative($skin,Over::generate_header($lng['leprofile'],'> '.$lng['leprofile'])); +if ($msg=='') +{ + $msg = './skins/'.$default_skin.'/blank.tpl'; +} +//do it! +include('./skins/'.$default_skin.'/overall_header.tpl'); +include('./skins/'.$default_skin.'/eprofile_body.tpl'); +if(RANK=='2') +{ + $skin['pa_link']=''.$lng['pa_link'].''; +} +else +{ + $skin['pa_link']=''; +} +$stop = Over::TimeGeneration(); +$skin['queries'] = Over::ShowQueries($start, $stop); +include('./skins/'.$default_skin.'/overall_footer.tpl'); +?> diff --git a/forum.php b/forum.php new file mode 100644 index 0000000..d3d9246 --- /dev/null +++ b/forum.php @@ -0,0 +1,110 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./config.php'); +include('./includes/constants.php'); +include('./includes/class_db.php'); +include('./includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./includes/sessions.php'); +include('./includes/class_user.php'); +include('./common.php'); +include('./includes/class_overall.php'); +include('./includes/class_forum.php'); +include('./includes/class_topic.php'); +include('./includes/classes/secure.php'); +$default_lang = Over::DefaultLang(); +include('./lngs/'.$default_lang.'/main.php'); +$start = Over::TimeGeneration(); +$fid = intval($_GET['f']); + +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); + +include('./includes/cache/cache_forums.php'); + +//add skin variables +$skin = array( +'ntopic' => ($forum['lock']==1) ? 'ntopic' : ' + reply', +'lposts'=>$lng['posts'], +'llastposts'=>$lng['lastpost'], +'lposts'=>$lng['posts'], +'lauthor'=>$lng['author'], +'llastpost'=>$lng['lastpost'], +'ltopicname'=>$lng['ltopicname'], +'f_id' => $fid, +'lang'=> $default_lang +); +$skin = array_push_associative($skin,Over::generate_header($lng['showforum'].': '.$forum['name'], '> '.$forum['name'])); +//do it! +include('./skins/'.$default_skin.'/overall_header.tpl'); +include('./skins/'.$default_skin.'/forum_body.tpl'); +$sql = "SELECT ".TOPICS_TABLE.".*, ".USERS_TABLE.".* FROM ".TOPICS_TABLE." LEFT JOIN ".USERS_TABLE." ON ".TOPICS_TABLE.".author = ".USERS_TABLE.".u_id WHERE f_id='$fid' ORDER BY `sticky` DESC, `lastpost_time` DESC $limit;"; +$query = DataBase::sql_query($sql,'GENERAL','Could not obtain topics information'); +$value = mysql_num_rows($query); +if ($value>0) +{ + while($record = mysql_fetch_array($query)) + { + $skin = array( + 't_id'=>$record['t_id'], + 'fname'=>($record['sticky']=='1') ? ''.$lng['sticky'].''.$record['name'] : $record['name'], + 'author'=>Topic::TopicAuthor($record['author']), + 'tposts'=>$count_topic[$record['t_id']], + 'new_post'=>Topic::LastPostImg(), + 'lastpost'=>Topic::LastPostInTopic($record['t_id']) + ); + include('./skins/'.$default_skin.'/forum_forum_add.tpl'); + } + $skin['noposts']=''; +} +else +{ + $skin['noposts']='

'.$lng['nopost'].'!

'; +} +$skin = array_push_associative($skin, array( +'option_pages' => Over::AddPages(), +'lwith' => $lng['with'], +'lpage' => $lng['page'], +'lpages' => $count, +'f_id' => $fid, +'lang' => $default_lang, +'ntopic' => ($forum['lock']==1) ? 'ntopic' : '
+ reply' +)); +include('./skins/'.$default_skin.'/forum_end_body.tpl'); +if ($_SESSION['uid']>0) +{ + if(RANK=='2') + { + $skin['pa_link']=''.$lng['pa_link'].''; + } + else + { + $skin['pa_link']=''; + } +} +else +{ + $skin['pa_link']=''; +} +$stop = Over::TimeGeneration(); +$skin['queries'] = Over::ShowQueries($start, $stop); +include('./skins/'.$default_skin.'/overall_footer.tpl'); +?> diff --git a/groups.php b/groups.php new file mode 100644 index 0000000..be5fd63 --- /dev/null +++ b/groups.php @@ -0,0 +1,182 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./config.php'); +include('./includes/constants.php'); +include('./includes/class_db.php'); +include('./includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./includes/sessions.php'); +include('./includes/class_user.php'); +include('./common.php'); +include('./includes/class_overall.php'); +include('./includes/class_topic.php'); +include('./includes/classes/secure.php'); +include('./lngs/'.Over::DefaultLang().'/main.php'); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +$start = Over::TimeGeneration(); +foreach ($_POST as $name => $value) +{ + if ($forum_config['use_censorlist']) + { + $_POST[$name] = Secure::UseCensorlist($value); + } +} +if(isset($_GET['mode'])) +{ + switch($_GET['mode']) + { + case 'view': + { + $start = Over::TimeGeneration(); + $default_skin = Over::ViewSkinName(); + $gid = intval($_GET['id']); + if ((isset($_POST['nick']))and ($_POST['nick']!='')) + { + if($_POST['nick']!='') + { + $uid =User::UserIdByNick($_POST['nick']); + Secure::user_exists($uid); + User::AddToGroup($uid, $gid); + message_forum($lng['useraddedtogroup'],'groups.php?mode=view&id='.$gid); + } + else + { + + } + } + elseif ((isset($_POST['delnick']))and ($_POST['delnick']!='')) + { + $uid =User::UserIdByNick($_POST['delnick']); + Secure::user_exists($uid); + User::DeleteFromGroup($uid, $gid); + message_forum($lng['userdeletedforgroup'],'groups.php?mode=view&id='.$gid); + } + else + { + $_POST['nick']=''; + $_POST['delnick']=''; + } + $sql = "SELECT `g_id`, `name`, `desc`, `m_id` FROM `".GROUPS_TABLE."` WHERE `g_id`='$gid'"; + $group = mysql_fetch_array(DataBase::sql_query($sql, 'GENERAL', 'Could not obtain groups information.')); + if ($group['g_id']=='') + { + message_forum($lng['no_group'], 'index.php'); + } + unset($tmp); + $skin = Over::generate_header($lng['showgroup'].': '.$group['name'], '> '.$lng['showgroup'].': '.$group['name']); + include('./skins/'.$default_skin.'/overall_header.tpl'); + $skin = array( + 'moderate'=>Over::IfModGroup($group['m_id']), + 'name'=>$group['name'], + 'desc'=>$group['desc'], + 'lregdate'=>$lng['luregister'], + 'llastvisit'=>$lng['lulastvisit'], + 'lposts'=>$lng['posts'], + 'luname'=>$lng['user_name'], + 'g_id'=>$group['g_id'] + ); + include('./skins/'.$default_skin.'/group_view_head_body.tpl'); + $sql = "SELECT ".USERS_GROUP_TABLE.".*, ".USERS_TABLE.".* FROM `".USERS_GROUP_TABLE."` LEFT JOIN ".USERS_TABLE." ON ".USERS_TABLE.".u_id =".USERS_GROUP_TABLE.".u_id WHERE `g_id`='$gid'"; + $query = DataBase::sql_query($sql, 'GENERAL', 'Could not obtain users in groups information.'); + $amout = @mysql_num_rows($query); + if ($amout>0) + { + while($result = mysql_fetch_array($query)) + { + $skin = array( + 'id'=>$result['u_id'], + 'uname'=>Topic::UserName($result['nick'], $result['rank']), + 'regdate'=>date('d-m-Y, G:i',$result['regdate']), + 'lastvisit'=>($result['lastvisit']>0) ? date('d-m-Y, G:i',$result['lastvisit']) : $lng['never'], + 'posts'=>$result['posts'] + ); + include('./skins/'.$default_skin.'/users_item_add_body.tpl'); + } + } + else + { + echo '

'.$lng['no_elements'].'!

'; + } + if ($_SESSION['uid']>0) + { + if(RANK=='2') + { + $skin['pa_link']='
'.$lng['pa_link'].''; + } + else + { + $skin['pa_link']=''; + } + } + else + { + $skin['pa_link']=''; + } + echo ''; + $stop = Over::TimeGeneration(); + $skin['queries'] = Over::ShowQueries($start, $stop); + include('./skins/'.$default_skin.'/overall_footer.tpl'); + break; + } + default: + { + message_forum($lng['invalidmode'],'groups.php'); + } + } +} +else +{ + $default_skin = Over::ViewSkinName(); + $skin = Over::generate_header($lng['lgroups'], '> '.$lng['lgroups']); + include('./skins/'.$default_skin.'/overall_header.tpl'); + $sql = "SELECT `g_id`, `name`, `desc` FROM `".GROUPS_TABLE."` ORDER BY `sort`"; + $query = DataBase::sql_query($sql, 'GENERAL', 'Could not obtain groups information.'); + if (@mysql_num_rows($query)>0) + { + while($item = mysql_fetch_array($query)) + { + $skin = array( + 'g_id'=>$item['g_id'], + 'name'=>$item['name'], + 'desc'=>$item['desc'] + ); + include('./skins/'.$default_skin.'/group_add_body.tpl'); + } + } + else + { + echo '

'.$lng['no_groups'].'!

'; + } + if ($_SESSION['uid']>0) + { + if(RANK=='2') + { + $skin['pa_link']='
'.$lng['pa_link'].''; + } + else + { + $skin['pa_link']=''; + } + } + else + { + $skin['pa_link']=''; + } + $stop = Over::TimeGeneration(); + $skin['queries'] = Over::ShowQueries($start, $stop); + include('./skins/'.$default_skin.'/overall_footer.tpl'); +} +?> diff --git a/images/Thumbs.db b/images/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..6935bf5de6767cda21e49ca6771f544fc7054809 GIT binary patch literal 7168 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 U8DC+!?qui2sQ~}OFu||C1Ep?wvj6}9 literal 0 HcmV?d00001 diff --git a/images/avatars/index.html b/images/avatars/index.html new file mode 100644 index 0000000..408e221 --- /dev/null +++ b/images/avatars/index.html @@ -0,0 +1,15 @@ + + + + + Untitled + + + + +

+ + +

+ + diff --git a/images/index.html b/images/index.html new file mode 100644 index 0000000..c2733fd --- /dev/null +++ b/images/index.html @@ -0,0 +1,15 @@ + + + + + Untitled + + + + +

+ + +

+ + diff --git a/images/offline.gif b/images/offline.gif new file mode 100644 index 0000000000000000000000000000000000000000..3a9510747d4388c40d01c6da659ac6a06b7075c0 GIT binary patch literal 131 zcmZ?wbhEHbA*I#_x@{%_cpZo++yuGv^2AmNmDoPF>}=-`h$o{X5sb0)xwE+O2(+7_0&L CJt8&$ literal 0 HcmV?d00001 diff --git a/images/smiles/Thumbs.db b/images/smiles/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..c8e0afdc2af474bc2088789eaefebe9a6c79eb47 GIT binary patch literal 37888 zcmeIb2V7K1y13m65=3$a0VRqgB}-}*$s&?7h~z98Bq>T35D<_ch$P8MmMB@WWN9RH zqo7FW25Fo8RlDQfogH`oIK}JB;Ewrr zez5n^zjLz+y(YK2x(;FMjF-lL3yHmcf5hQ}TIid6tpB5Fgwxd+Kemp*)&W@k$Hx6<{bvKmv30;d>OZzF!PWua^dDP4VB`Kf z{m0f1*gD`J^Q0d@d;fCIo0-~@06+yJ-$TmfzXcYp@~ z8`lf?-TT!KAr$Bq#lB_bjwp&%nBAtxasBBLQAr=+5$raneW zOGiURM?pnRg-zrT4v2$$gz(4_LMmb+Vyd5Z`!6Bn1fbm^#W}Chy2if8@3%e zbOhuUo8e#Fp~E1Lc=!Z_M~OgyN;04!I5>xKaj>}tq5Z+{5M1&j6erJKz@t<*!)JA& z61*LoNx*jTc{8=fAd+3^x@!>OQ5sr0dIkOKC#H5GGDNnMpb8_>Z<`Duo=zP`HJv2NrIyU}h0tQFSy?Z~u@ZsYkYHj`V2KozTa|>IpLlB(573=RM z`=@e|V>KTa7Y7#~TdqTgy#P4mxJOQ&#iO{Oj&J5d$trl8fa+pw=JRGkHX#ip^>x?5 zqcrToa1Io7ZWFFUr+#ctj3+_v-!6`KST*K!q(c2tzfDRrGIzO5M)rGeI;822Hx zCOM-`LGsW2tzF=e(tJf@utBakI*!Wfxc6DQwn1I<@@COCdHmN&%SkYUId&|EKlczB zE40^sxhq9$e*>MOQ<^Dfek1PEroAtB){E+zhf?I1UX>J9j^aoK&s;acs3QBFVfYuy zoN0E16Mgs%ua2u0*Kd`)9^|W6u{=(E++~11HeF7EkKrjvwDLYg@@i%WwRgVG z(|7r&Q%VElC%C0kV>q9e&!l`b=6bUAw210VR8>apwrL8?*7w5}Z1U60{=~Oi_vig@ z`Wt+pzX$sJuPUbhCH-a78xdi-7a)U-3FE(wvJNi2RAypx*&%1xU5~xeH&V#Q@my@m zhgOkr(~~rpd{$HjIO=36;NB{TD}~#FpCraAOZuL^!N~Yu`7CgU-IqIJg1z_ow5`ia zROfMy72b75R*B@i^%Sc!f^$3W7&dsuZP+j-Mh96Pv?9D6l%ieo0x@v3y>z0-Arm$< zI=gQELM7EZ_KE&zx6(2D`J_PZYr`0#?Xws|#O?&jeUAd!mlrIeSYKE-K=R@F2hZB< zv%=v_#W@v%$+J;hrV{#A@x5`1vGN#CUTD-%^MYpoTtp&g&gRm`ZSGUPBAk=j=XO)C zh*oCxFH<3MdIuiIJd0+Uk{`Rd&NB`3ZK8>J-&m~o)2jSUe}fM6_dtLDT>V|y!9m0j zdgE(g^pWF6gC%~~8@XR2M%gM;7#}GQDEi!saTJ1`vtgrr(rchNH|2!tX@GIpx3BL* z!eu0oP3;1Bn8iuO^3ffkER3OUb+|D1(EQZ3sHwSahnv1-vZSeJ($A9Vz0=lbcT2ux zJ{=(G&FjaM)EfWk=7V%5WJjori!*$c`eUu*qxTyHz1gzYV%(ToTgwREMZF5HAB~_9 z$`qh9#xNpvhUb`Xb*#`;s)a~|WVsZ)UDVW{{P-n+HMuNmJ`#E=N#!p8@I$y2SxYJh zo|4)uoga-a?;gK;L0sH)j)GdOwyU$=TE)kwPdih#-8feR%e0?G5}%HK+b>|)vC}7l zgnjb8IjyW?EAZ3G3!3Y1`fKrDs=wGdlRx5q&-fcVk8=Z@FRa6k*ZzpZj(@R95dgrj zXa7gi!p;TV{zX1^toTP9Rz6lPcE0RKg_j}I29uW9#{^MZ$^xr#v zg3e_`@q4J<+FET(9ORWUEND!Db;LaR^ju^t)!A+zB3+Ow-2$y3pc9VU8FG%(Qj#hT z6E5*{&nVYUNDAL6jC3ZXCM?1@s~viL>zSlU_u)^+`MEsak`)Nn7d5Ayq@Q6}(w)t? zFaT;WV6hpX!{*)a(tI>$HTTi#9~=wxB(9lSe*;<+BKv`9US)uv}k4ov%?j@YVKz2c!Y!e-#t zzlILzoGLRoC1SDEDC1~gn4wL5Cxk+^VwHtw-G11kxCC9T`P&-$Tm9<+^yy&!;$Z&b zyAw12OXHu!^)?)YTDX+-Q|~O5J4UbTRr0z5bM&Tdzv!Z?UUl|WQ7Al{fGH-ntEh1M zSf$L{AYxg=HLm!oVoJGQN?RMFj*}V7BK!NlEQv`_H)gomTzAaTFXk(es=2|>EJit5 z)+%Up`KVA!nbZt@Q6CGNpT?8YIWacuiRJ}%Pk4Nb-Hr^JP1?VwYtzg(=Sm`E zrMu65J6(CtvlWi1&7&^ZFd7w+6!F=HTICftjN*H9SoXg6H?E2qmAeMN<5fP~llsfl z#n?{ZZx!+<8?$fv>wciW2jibVcl@)JxZWYkLgrD-{Hddsmmx6;@$hj*t9^bGZ0TVS z)B9e}mbQ>+p0J|jIDLMLWBMzW(dVQpwMu^1^dmzCjfkom+8UXi=-TN>bBoK63CE~@ zim$lBsn@J3k*@2}G=cg{7EkTlVrq=tel-D zMwGQ)V|;sJ0Jns85%ZA|ithCb)%JCv(cZl9=7)2mQ20 zpjI=t9Z|U*_S>ISHHf&N$1bB2VNzb2eS)gFwyz?_X~xkG(O)iQDjoBJzK|c75ZU9x zuw2|tOHv)ggf(bBJa!Lf{)SVoptQ@KOjag1+BfmQeho3lRMX=98% zQl-_jLV7AD!l_=;)(0M0XhxESh%B_>+Yq1(3yphTk%%~_u3@90z{|?`I7&nCp7Nf4 zXm7bbiakrJ(T@0(n_EvT2hWRQ=||Zql}$e0*+Z(6Fz=fxL<7sZzP7%Ta`rQyp?{^Zv6Ob9ZD$9=c<=^MVNbh#FHiF!A!hcxI>QY)S%sBevxPNq2SAMJ_gz67)Jy<@74A28)Dt#4yfY+Zv0+a{}}tjW6Jjbm(U5o2qVCeDc>J(y1}@ zRWbBIKn{uT2Vw?SPH1h@mZ3&7fr zgaAJj5C#YbL;xZI_W)6VXh00$J|Gql2Z#q?<0b$<5s(CU2uKE`08#;IfJcCIKnCD3 zAQSKefQ_3C{2V|oAP?{qkPj#T6atC>#efn(Dc~94IRG2C9QYN0NEno_OjW+}QSpXb>0L%g20p0`V0SkZ+fRBJhz$d^G02_A&_^SXU z00meBtOGs+HUMbA7XSvZ32+9cG26i30qg?y0ACwwaQw&3aP|-EZ+>N0^j~j(^CctN zw8FVHhR9n}4kgyMUC2{dN^S7gj`{fDMvrgdBN4uq!b!FZR6?CpE$86t);90%3lH-; z3?8}A?T5Qt=EopK=!_z2#rvd&oGK@Broxa+CCcU~!t1Lm?v^Rg**+vgEk$eDMhc{) znt$4p_JbmmS_6sYa{c6yD;fD1<%!&9$nkLgiciKDDn=6Y+8tv1<0X2iT#g(Y>|!jg zcUaQDXHU8`w=Ir=cCZkCW+BA{UJ%`f;GYyUQgibVoy;JAOFT$p&d6KPBWyOUK)w%o z8X^9=EkLd1#z=W>@{EX{u6BZ>W#8Vwl248YwMAtpUwr-B-Br&%XwE$wS(10}X=!P5 z({{#&2NcHby?$Re{20(Bphghyzo`B`(BHpzQ~vMS&$Ssm>TL7fhaCO{Yq-nI`g%u2 zc!=rrK1A7f+Yl_zjCqj?gmUq|@`Hs!iE(mzC4QV3Yq4dV#}i#8i?!8} z0SqcqNqkT3bH}Frb!}`Cr#Z@^@uI~S?!6jd%}R{Y!dKu3eDw6{97DY(L!~8$l2*CN z7p^jm_`$WOlI?}|eNP%|1@a@BWeFzBYuB1YDu%x31nA5x{9JzvsOqoWH~qz~hyE4) zuLJ%4KdZkRyY}b;WK8rP{~K?fc4mAOX}HLg6_2sXLkS&)modrqSpp}H*kmA zsU}M}qq!~RRi;YO-eH$X@0wPvh6qc0X^u!q!kuY9$dC`Qr;oRpFgI3JMN1NDCs1Fj zFnr=LFVx?}t(TRcv$VIScx6By^IA%2TjFCPd20#mg9%ktjW3gs#)xoh{)8}TQgwM8 z-9p4i>mYGu-c*=qlzv)8-05~VxY#WZHJI9k@_LlVh`~POmJ?^(yy3&*rt;YlbVxAY zvYAo}f^IGmDl%AW4*@uwA8elnA+zp`u}@Y9X(H~sZG(BI#+ekAxGn17-HH7YFt3{Acc zD}GhMe&?h>E24S)5Jy>_}{KCI{GUM+J)4zItK?Ok@wJhb5r*9|G^YMa*G>$szVLeLj zF03Rr^Mg*hN+B`7n7YVnf|qm6oqBpF&)&i88%mlgm>jO9xxmr^e@6Z&_#?G#+P0gb zq4e9hQ5+RwqF)RgE8>n+T8UNlv0n(f!_g9dPI2Bz6WxXJaDxlnmRJZ{6$lB=>g^bA zWj=k>QssP$YKm{c*_w-vxagP@y1KU?mJ2Dq9ydlp;lfacMka5~D(X}{yv z)+qQK)f6VfVvI?IbsCkUN@3a0hD0KHQX^GtWctT-Obm|rDy}3>(RD45o`u=&12SH1&|#%sY4)5JIk2dj9uyA-2RLrcU<+9`IeaE#(&w&FOW$GW7N`<4Lxt z%an4|H-tutC_C5BbC?5^%ElxsbB@0r1xyGmln?_^(C?TKhi6d*b#9IyPg?qh(x zZO&#whN0p6rr$Y?`li332m1TF`d_Vd+zy_(&zltbEn?Q(hUko z@f9s15eU+%3(ijW4ZCcqmn7Ue-IuH8^%?XLq|QfqbfB#QFb^4WdrCXq06!V(2SzF` z@IIl|t=tS}r{`B3S5B5kZ;59LPMWCTx^@v=WM7{bG?YhWN@UQ~LlGFd9C%=U z46eV^m7{*TwNil=8HkQh!|^`K5@xRIFV;M`NPE+&@bQOu|H3N?<_U=Cb!FYPSnByx zoi=ioao3xt)I(;L=`*{K8E~#JDVCz{DrU0LlSvAL8wK8i zdb*3@`F+WUp}MxQ z@xwqFGkCj)c(}yKd|c7)r=E#zs;R9tm1N;3McHZm<3bKwVV#7>c#;HdJHJ}a)|O8# zJO6!^_?!OyRr8Oce|-FThyjcvDF8n@{+nXB~LD|EpZA zY^?i{_{$&=-jTnB6#L`l|7rPKK=ilgkHr7D{6nN5Ju1MDmY)zTSbej9I+%a{`!N4t z{pf#h{m7gPeFx*1<9GVClcq`Cn3PDak3hC}V21==zK7iy>RG~4(F$wTBhEBfX>xfV zg}kC{ z^j{9*l@xp;@oG(XR@^~=Y77A_(#{v}5aAt;L^~x3r@l|vG_4)`sQi&LNv$-Pm+A&( z!2%JiTg-2{Vri%DiYbp<)H{7u^U-wkgGLfZc- zEH>{1-wk^m#Y!D1{rynZ>VS zVXpzvzl`<0D~4_5e|tyRf^;px75K+9$_oM#e>b!v2>I)LV9yZAzXaWib zw#3->;Zs1tvJ_}2e9cz*A%dHw*qZPH-?4geQ$1b_#?2M_?T_GU+cPXssyAO?^CNC9L3asUN@ z50l*o+S%4rw2p|l=#uEj;7(g6w4j=)L1V{m-0Wtt6;5^_0;35DU?-KCk0P+9@ zfFeK%pbSs}Tn4BDt^m{kR{`n(Y+Oy?YXP(YIsjdO9zY*p05Aj?0gM4A08;=qo*D43 z1Iz&y084-sz#3o!um#uw>;Vn{M}QLm8}|nAT>!2CH-J091KY>*oGrpu z>c4j1>hHhGe)(Yhaxi}R6YSs2#pYIn9RmnupBQLI zs&5bXr0bRPncvFx!lO^fq~x~rjWcUN3e9e0bnHV&`Pw^z&9Zk+kCa-D^hf2el-m{u zuhDe0oa$CNrrt-8qHk;_*w5|}#@EUl7&_F0iSucfaz_a@Rk|d|=%2QWc<^XskJh_p z@`}|`dj8}GI4`e_G9QoYss~uY$z2?H?`-_jLzl0LeC|Im|A1|0u>C!(|LfY}``_q5 z`}EEJ;mjZ0ffYP|_4oZre^fpfkdIw&#=5ir0r^52#hf#9CnFSZ(?X1Yz!o3=<|~X;DmcNV-UU zQRqaR7{Qnh+G&mP{!otx@0nLEMBYJ)1w$-tAKpz2petMi^Ch`CdX`VuJS`~E7;L}L zKCC3?=B`xucB?(2<+Pxa%z9+qmjKQb*tp?j*R;`CndwjV$iC^X+rj$X!TQ~wyngrl z_V2y?8S@ZoUG9M}T~al@h*Ygys?yzK#+z2O3t0+RPlE=!< zokwvkeah8SAgQy@^wxmEm)!eQt`3vrS-h4pneJCKPv^-=CxD+SbGCtrSh)@<7EI$?{`gkz;FI%6W|lq#7|)atdDbvhq&^{IN@;s|Fsr`uk1KDjrpH}KIZ zvzppc>W&6$4pr4c{y^)ckql$*PsEMfZm!$;Gf9h2p517!o0#&!ZrqEq*`+Qm`~-CM zoBkc_UvtoY{>l4iY}xCe%y(o_UUy4&R34L3+Q{%!B(ADernJ~^tBSIgN|(RAH1naV zsOl3#Md^H>@Ru@nhx@W23-ywyh`HH-LIf#Al-Si_8AiQD4cls&8RZ(D#OjlsjkWO4cY_bK8al&dT2)3wPOWUHg{snSUCDgf`&<=)ALDoa^m%g| z&)#(N#y5>NvFb-9srS5EhY+xOy@F9qt&ydTq;j;KuA^<&s(hFIKyS&=guh)h9^E+^ zi`^Mu$L451rN05|{Ga`64))JI(7!)f|2AU6W-6j@mta!HOlefIOpHw0oGYAhy+gVY zEB;P{%R}>r@?H{F2Enf-vng5Wo2-1Eg2}O;?I^O{5#B9uHw_6mF(N|D*me^dxkG8Q z-dSQBfEVKVY%p6_i|oSjrPw&Dny4prce+DRM?U$SLN6LtU}m0lAt^c)YHRPvmX!^z zysJbuMOOMBUo13p7L?(o5l)wU_+HO^t@n0>)Qv*PB-co{*_jq!Xbki5$`?(8?!ics zOb?m-LX(d=&&CR4E*zrCWo^`MDNpvRAtb*TbPh*}8*JeD zdhTeNR-v{l=s=AwEbYd{H&kd%x>Q!qH(gpu`rH1UwjbYrwfe6J&{<#opZ*heKdOW0 zZw{Wn`7@utN&55lFEEeaeG)(k9@fcdDjVb9C|cXZZE-)>_j8q>FEXlNWMP3KeP+xhUg zqC6V0=38iUJ*`WqqHM+1l}h*uu4%AFvkS-NJ@I@5m!(Gk@wlsKWyhvKjH7s^qtT># zy-t0T5@|u}v6Y0Bn^RvW6r39qD>r~X{%rki^)-Sx_#bP5`&;`Qx36|sH@@0R{nnBR zYe9s4a`w0J+<~Q(?N@7{?^!=leK!s^hSPVfxUkRX{#Jr3umZ9G7I0?34(-=gVptm` z>@&sRi-WbU!rBk{0Nj3Mb;JuIV4p(%Z7eq+A1#`$fuL9` zKZulN!ZGj$Ltn@R@U}@o@M^S6;7xNE!5ioJ!21)=flueaCt+|DyRO9tzKem7*k1*~ z+bG4qem@J2T>AR`BKYKwP4zEy-}>JYpg;28Q2$?pTswIG+t>Hn{nzh5wabDUh~fJz zjXtv|TI)V{*#F{kQg`KB!2%pIW}V}~{ZxK^qcm48`>6~=SWq{}ws*@~_aXPj6&_EV z_j8#e%A!ckSU#0W5u2zbs&n`D2SP}i$IF2WQTq@wyOh9ScWDK^QGSE*E6=LpRuGQC zXgP*NPuS!5TZAuh(?>URv{S8WQifV}-rZxLvw%%h)E1kX_K&GdL@CpG&?z79%ii+P zUFxS{3A=ge;S`F7V{6)WAF^YYyAQehMQ$JRB%X8+@9UBJ^7gbK)6V4EqV9&yP_6z%vNveXuv=`dYo_$EH^pc;>u=}~a*HVUgn25fR2|nhne#r#s z6iz&0wp?vg=gG1<1~rV08tFb{pdte!JPh6BuOSU?s!p@=jqUpI11y)Dk^ z2sg95fy^%Jma8qgrI;b*NXXTDg613>F6m>7D(&!Oy|lwVofzH1;JggY%)VpF54=V> z_aXE~;oU(Ad1|JH0ZPnZzae5m_&#J49lsC3OR?UEa18$T(0HGO*K$wsM;4aK8DdNe zF{u)gCce;AZ=m3UwF}3P0)6rccHWpoYsKa^@68y9tF(&YZiy7noGRy>BIZKjq<1NT zcRR3L*!L6T!;=~Ic&To$o}ZdL+TAM1uY5~T5#K<&y!$mew(a7yO9VJw5rs#o3^Z~u z<%3XorWAA^A~O^?JA8Q`@~-wb2arlK90B9%i32UGgts%2b~$Af_VC9_ZwJ~fn>M>H z#`*<@DkFKyS#4#Nt5O!0kL3iv4CG$u7&7bdT=3~wI_^@`DdsW8^6AWc;8e^$gq?$d zB1RC1o@n}K(I2I_Q36URi{}auds|N4XW?8y+6fOV6HMsYjbHjrD&gL0J52q2&9oCb zxi%mhqgaE{^~%O1j%?1r;_OoVVRZN_ZHzc{;Zw;%w`SbkS62hb#wI%wp#*-~Uby6T zH|x(DUvV5Muu>I7TzpJ%<#qq$1@?RCKIcB^hdADCQ`d`#O|w4LKEYqiH|%TVmZ_3Z zqCji)#h-HZgGVjlJ|v>9y>(nCbRVMV$kXnzOG6qBtw?`ijS!3Ln1qYWCqK1u&b=Sy z`sJ*G+o{@VmYbo~=QDAwkCZ7jGpTjRcechvXN|Rh*FmY0jgxM3C{gTn@8MEB*VP^o zg-B#n_3cB(N>h8wL*wCREAw|u#&q@}FCR9<7wV)1);6)5?KZ+1`bL)w(gq*5%i z7aTOFcpcxfQS<~`A0^TE=87Gwr$lFCln~%0RZ!YSoKNY;hw!rUyseGJQi^75Lj=m( z(UD@rl~ekAdKTj6)p}NhmZ0>);GK|A0x6eF+bYC@-pFU3PdvVki>dG9riMh`ww>y_ zCU^zUhqZ~Rul$&fv#vnHDP_N{@N8W5?>j55ZAefkJ$e`8G5eu&S$(dU$5==o8ZNSX(NXx~Vh7yZH`(YN z9#QbA00(O+HQ@rJ)7110g=+6I4U2@QNCrIiUFRiS~gx*n$4a1 zq!Wj|k7q3936e%;RAd=3#gdXMtREWK@t+CYD1@`X))6sbfi?qS0jFMzF!In9?;I+& zWAMBWbFEO5QgeHsnD%OkzH0L1=EY-)bNBHF5o@pJP-zjKIj>%%Cq;TGm2Thc+B9|S zefGTYVI=`yV2|cT;{2M=2ya+~KmI&?(j0!UNMPxxA5lLy)&Aj6nn341}?$9j$&vpNTkPSe?adM1(%SON-FqD6w6vtWx&)V86HhnV zJGMOvAuC*q8$L{h@0#xIvDKjVAxl}-2$hito?Qjy;nMl&H`L)4$;(qgA?(YzX%_L( z^Nmk2f`N!>za#insh}Op4Yyxjvkh1b7OS_<*@whmg7+Ea=uUsc-xQKX$b|YMGKhD~ z28CbA4CmXat6AIQZKw(A3)hg-x{=}O-HtoY)aOIHG`sFC@N&>kY<$o`N*8Xl+oZ-) ze4o6)2Mb(vcBTkWvJKcq4`;hA7 zcP#~3I;nx(P3%4-)kvZ9yDu6gz($j%F#;k?Y|0qR-AB7IVxbn%^b31~l@tT$JA%r^ zmBp_)+b2k&5#T921%U*una^uoDN4+73_8fI>#-C+rBwY;Cnb743lQgu?R(r$YuQ1`kW zykM+w0N*$LHd1tY5-t!e!?|;GnB8ZG2e~1P%9=LW`SJyCk6wUlTlT5mq(dB8o%)#? ze3$w1dKEaa8zQ4K5DyyS5RyY1B$BGq=Tkotx#XgZRF2y2FcsoH7D~Rt=0wm1fnzjH zkul8zgdYP5{U{6i3hhxoRVj|?#grBCQ%0{WLc|g@#9!KS;hejAh@K61d<0r<+Tv*V za*uJmUK3GxPPmEDJ4JjSQu+B^I=7?aUawU&DUX?hQ+Pru|J!uY&!urM-`(i6+E@>3 z?+{I>-<>qwo4&czzf}_|d+b@?)W^+q5#&PaR%r`qR0bI<%JS*ZW7OVr7oW#f8xN=D zjwMk_lJZt3-Axe+7mcrjSRD6jMWrG-TUcT;$Se0DBs(`ymg9Gp>M0ARZMTl4A1_bq za*yJUHa~af?cr{|+2*Tv_;*;~y9B#gdsK^!g0H0{L8EZgK&ilcwdHx&Zd9(4lncyg zx3DW>u76rr^16;?TllL5FXc`1wse`{l^y@tVlUMim6&K5Jle$9-nIyrYtCGEFFaM? zxsO9I$azZRhG13_F3wWV>8#tGoz!AH;-x+YC{JITFO!35bT?NgYDy!P8fI4~W6&N* zg}d(1V{djYrWgy!KfiOOGI36^$=2kQx!zz}yo<w@1qX(k5;Jka3 z-V}xx*a$3q0<13YWP@h1%~f9V=l}}8gUPhRHcWU0X3y;d#p=4QE5&Su;LY=a%TDd{)f+wF%GiFb?f2^LPxaqS7_pbigkH&m3ftpK#|7DZ((Muw!XXwcIo(s@YV;aep4yh9r4`%E z0o;-r)oZ0)%s$(eCLf@5YIjpxB|I}xM*9BGj4}?{k#`I4?wvQS@VQ|$*ZXEtsC?IO zcNMV;3N=E0mj0-+c@3@?Xr%%e)@ORg+soiX(s@Y1^`l*ppmsnB4LOy1X> z@JE3f!Ig^d;ubH4y}EQ+|4ZSiwdT_w?`_EJdRIfQzvvw#V{^Doj-R;?v1`=8q$2NJ z8IS6yGO@3XF<$2Zw3tVyc(>aPK?j0kK_yo1g2)kKT`WRFG^5#-? zZDR2(CUd=VS^nd@4E1f(48axM98*k?>u6N zP|=$yleslKHmm>g(jY6{$j%@$xRN*P8PQp&q!1}C%bD3};q6x~osQRL&(6`UMN!NTpJ->Hy)U-@S1By2vRwYBQ zqs5-Fxdq)RDg`a`^+#^4EJw3Z4-A$oXIeJ-_d1^EMSCdTpQhW{Z6QNWx-p}gRs)OF z>Sm_EaB51oLxvQIF7?Tq_P)7?ZXqfx7W6UdvE_{|6c$L(d_j2H_3=AqeC5qMdYJf< z9eqq6G{|G-7A&|i#`dYHq3j%={Fu`61lzQZ$BY9NVf_Of3b%OyzK%eVmnegFgk1;W znkJ@U+osMqcTd;4SPlPN4$X2P+v>95mu;PHqDkV5{pkLAkrbjxk9D?0QF>h+(hv=T z6VU`BZFZMC5dy(DWI(T6&%Ydavtr*Y1M$u>!Kk6)hMO6R=d(&}O#~9*?(OyIijQBz z%R}@pUA;87)TBj0Z7=RRGN5I#d~lt{yJ<8zOvPt*N1glp2NqTkQ(35M;RXF0(Q6Gzm>+(YXc zrFA!Oeo#p0QMc6!M)?QH#mOW{JVrZV|Lu2)|pUlgyTe zHAbLv!#xmC0{bobi~`li(=&Q%_Kx|6*1Z+6bC&w?_S|pphR|Jem58pqKG1ekC#TR3 zrd^U_?VJDcI<(3__C}0I^~0R3bux;s7xKE|ujr}y&^gXIw$-#-cb~s`W7xKCWMWhk zeTwa>ie%lj(@$~Z6d^dKcMz!L5Q%j90-Z;~8F5 z-*~*qFfrqD5=|N3_?sC{&bBNHAL~#$C;LQ9-jl`j)0jCVLYh>qZj7?EwwKaw$QD_F z=n#vW7+n#?dC#roN;FGWbQ8z)sfA0gS(I_n*#Gyx(i2%^mmTfcL~1n%c5&lz|QWySec#PX@czbkyg`b_n4@Kskx zG0P;0Gj-QC6w|avmN;hGesrwKJpR03>hNAN=|l6i#=s5V^%(e6x{y)cON&M%Z3k(j z&fbaVHG`Dx5W=GlT0 zE}P96eq80NsMB<1MZR-+)&DGawC0GBQ81le2VW=tlda^^>JDoy_S^@LAJ5U-P{HHLFG@UJaBYhEj6DBAZjdVBJiW|yTF97za#r>+Y6nDa^vWn8155X-K<{e zUw*rAZob|PZ3ZR7Z{LSR=e4)CHN9~xx$`*CaW`wJWoDT+1NCv(ZDu4 z6}3?@rdu_3qgA@N&Fb9ASobbjHf~7aVS*F)f_Of9+a=iPN%7j%!D^Mh7!8h`UDL={ z7uZDaLpVKOXJBfXPq1vzR)K+(iUDdhDu89Qkz&VY#LwJ1YZ?=;jH<6{Rj&)0n!D3_ zW1^Kx-Y56aNET21-ReZDOK;N^(ZppD^$G*lCCq05R96a zxIYn=eu&Pj-xV)63&BFRxaHp$^`+IYaFXX?3gL2zz*2U!-W#%4-4?CfxIv`24BHFA zIRmd%T2pJj_@vj(B!6ZFUx}}qk($R%eoy(6Tr}pD%GwU2{`Vj zr-o~HW@T@3#EfR+u!xKDXqsU6#g*g(lK z<*n#1XL|xO7g=n4jjy~tBRHvC>bW@hDl_&D&tbZEXGMn8Y8uL2#JoQsYF(h(s}1yNywAoZi>0G?OsM` zpqSBXYuqY-^z@^5w;AT>AU8qhAVNyt*IEkaCBxkS2Zz+A3Wt8dvuQq+%NF`3jHh!n zJj^w;Ez%piONv3m(l7v})X4G4p{1tUhonR2eY}>rXN|8c$RSPJ92vS-+YFL|W>dS7 zqrrtLqB-dHAUxQon!Lmp_Yq>RG-OOFdoU`9j;P{xb4!=}Hy`&{Q>fQJ(>uSOdeciO z_;N5!-20W~H7)XI?~Yw>Kn%A{^Hi2qS2IJJ%&F{xL$a*It{nmydv8kJNTM>gN@9Q3 z#`M@pq;;eSp^h1%K}K3~c~H?(H({qO;dsR@iL=v$6ryf%B*!nrU0a8_JjhblQdi#V zE>+uh_co}!u_5B((zM>XGmsJJpmt;mv)&53(v-tH{$-Cr2zRJxR;b4p9U3AORA2Hk zr}2{o&Mya z1em_5Lo62Fo-3s}Jhk&GaMR2r9%+wu81uv5Ed~2B4g_;xN}P5w%2>!c%>~|guC7Zp zi6V@AQsc!Z_ln)p&vqqRdYsYo2re98FNsHMyQ_I1eHy&RyIAZ=IP(<_NilIyWqiqe zKd-Z!;m1|7qmJpbpYxX=P=75PL(p>rW^QcQ#m=xKcE67-kK2Db$y1YGx^?;%c=0-< zsDbhVil%gKNeYTYW){3cpixU)fxEz0E)qp-2eap literal 0 HcmV?d00001 diff --git a/images/smiles/icon_arrow.gif b/images/smiles/icon_arrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..2880055cc0f11c60f5688ade044df280856df9a7 GIT binary patch literal 170 zcmZ?wbhEHbtSLu;wYQ>TAs=jBP*FkflM?zCbCrVb+sjSbO~t9>%IUtM${ Pu}&Z@V%kj=CI)K&O7cC% literal 0 HcmV?d00001 diff --git a/images/smiles/icon_biggrin.gif b/images/smiles/icon_biggrin.gif new file mode 100644 index 0000000000000000000000000000000000000000..d3527723c6d8a0ddfa7ca0bfe1ab8fce0055918c GIT binary patch literal 172 zcmZ?wbhEHbgxLc6$23b2ZD19|4%af-@@>3F2nzSlmGt}{{R2@|NpQ5 zKLsg(0L7myj0_CC3_2h#$P5OS$PJ#HS#x(>T`Hg?&Q{P6{IT@*|fe Qt&nb$oR(_V$-rO@0AZ~_>i_@% literal 0 HcmV?d00001 diff --git a/images/smiles/icon_confused.gif b/images/smiles/icon_confused.gif new file mode 100644 index 0000000000000000000000000000000000000000..0c49e06983f1fff4bc0834b4d86ce39b8a36a914 GIT binary patch literal 171 zcmZ?wbhEHbZXiyV-#U P9L#x)b-Z(h7#XYqI2k)k literal 0 HcmV?d00001 diff --git a/images/smiles/icon_cool.gif b/images/smiles/icon_cool.gif new file mode 100644 index 0000000000000000000000000000000000000000..cead0306c0e38e57bdb0cc85a407b995dcbdc656 GIT binary patch literal 172 zcmZ?wbhEHb+|z`)C(1LA_rU|@;d;3=6kcSq>7bCTj>1sqIsoCSRx)8`fJ$~w+{ zJX`yX^?~=R4m2(o_)+HS{ItMiUIk0)fwE>-?dDgxjscmQ{AM&TEaGA7z8`VSO88#> SHjRW8(oK@nQq4LU7_0%kd_$xF literal 0 HcmV?d00001 diff --git a/images/smiles/icon_cry.gif b/images/smiles/icon_cry.gif new file mode 100644 index 0000000000000000000000000000000000000000..7d54b1f994bb20c2a17c6e9e53edb39e0444b380 GIT binary patch literal 498 zcmZ?wbhEHbivPL&TtkAL9RpmA^bD98ftnS6varfA2r%e?3<5cWfi*@! zrOPq0Pa{O{R3VSL)CLZwJI;bVj@ow|9P^f2{b_KV;g#sD#JTIhK{X4eRSZoFOA4&E zE?xGWjgRM;Ia^8kzR>%TOS23r6eRl<`~6;g|7yg@*31^DX`|+%tO&MH1Y{u#11keN z5Hhd|DyTR-@tBu#X^wBxK7*WjP8?uWTo6?pKs7*@va%&Sa#%9C1z8HDof#;_rJ&H~ zFsWx*ry9h3B%L5>ZUqL1B|!6=oIFuX25Dyj%JU{%Vn~@hA!8Mj(`_aU6Ueh0) literal 0 HcmV?d00001 diff --git a/images/smiles/icon_curve.gif b/images/smiles/icon_curve.gif new file mode 100644 index 0000000000000000000000000000000000000000..fa9f58bca2e6e2b3f5e38a5a5f2b45ec8dada115 GIT binary patch literal 171 zcmZ?wbhEHbt=1( zW5Jkpu;B6jW-mnp!Mfv@83P3m6t$!t<=E>f%9dfY>QYMMDQ4bmjTy~Ov#uvZ$lQDB R!|LeHW31C1CB(>J4FFCcLT3N~ literal 0 HcmV?d00001 diff --git a/images/smiles/icon_eek.gif b/images/smiles/icon_eek.gif new file mode 100644 index 0000000000000000000000000000000000000000..5d3978106a2da37441ed17c9d05383b367570d46 GIT binary patch literal 170 zcmZ?wbhEHbd`4m;$l6XN^_D8SRJJ2FugV_ z;@-1W`~Ak%x7W!T7_8VEVD?C1V$(vmHm-x7t|ENQXTMbHG-$9e9m-TqP;V|s+-sI@ SDB66dp*Gz_Y_|#%gEasOPe3vN literal 0 HcmV?d00001 diff --git a/images/smiles/icon_evil.gif b/images/smiles/icon_evil.gif new file mode 100644 index 0000000000000000000000000000000000000000..ab1aa8e123fe263608d06126ce08c560ad419f97 GIT binary patch literal 236 zcmZ?wbhEHbgxLc6$23bKgaO@B*VYC4FCTM|KGy!A1Lx~^8f$G|7kJ& z%VnN6ZQB2*4FCVX1}P;4DE?$&WMB|r&;e-z*~!3~slec{BxBNqoiq9;sWfXDwJwx! zTfpypu*1~B&zIRcFi`x-!pOiN%b)||f$U^p%}h}5a*XWD2sb-X$e}K^frar-lVFcywmLVPpS#r! z1_#Bw>()y8Q=}6Xa7!$m)>9ItA-k>bRM`by3r4gxLc6$23b2ZD19|4%af-@@?!ukgRQ4FCU4{{R2@|EEBy z*B}*Op!k!8k%57iK?lSGnZdvkyTOw)YwnKFWkE{fYz4;!=ddvOIHYqKtO`15eTQk+ zwr{=ctfC9V1Rm6}I;$2M@y*$pa`Z}#oqrI+!z(?kVh8VTo6X#$!E$I32lMi<45x(( UGxi&cHs4b?vq7goSdhUQ00}uk)&Kwi literal 0 HcmV?d00001 diff --git a/images/smiles/icon_lol.gif b/images/smiles/icon_lol.gif new file mode 100644 index 0000000000000000000000000000000000000000..374ba150fb238d6a33605bb26e86d4449625a46c GIT binary patch literal 336 zcmZ?wbhEHbgxLc6$23b2ZD19|4%af-@@>3F2n!7!vFtG{{R2@|NpQ5 zKLsg(0LA~@ey$E)D;vwK1$ZJE z)->GK{b0hvv^Z;7;HB1zIS=v}c`BF7qB`mkh55UYFL448CX~YJS?+%vC0^DXyTAT=mC2Y$ux)_YXI57TebiI literal 0 HcmV?d00001 diff --git a/images/smiles/icon_mad.gif b/images/smiles/icon_mad.gif new file mode 100644 index 0000000000000000000000000000000000000000..1f6c3c2fb401596ec44f4a1189bde2cbc45364aa GIT binary patch literal 174 zcmZ?wbhEHb3F2nzSlmGt}{tp7j|Nnpe z|0z%&3KV~`FfuUkGU$N#ATt=w=n#h%i!wj$^cda zBq2cYCkv|x0}q1^hzl}aoaG8jR+sH5 z;LGade6U~GQPko`gGJNAq7#;kr@G#2#;~znnVhs^*T0km#>C~4JR&=FdsEeR+|3R= Q;9xFbtmB<4#K>R`0GZ1@LjV8( literal 0 HcmV?d00001 diff --git a/images/smiles/icon_question.gif b/images/smiles/icon_question.gif new file mode 100644 index 0000000000000000000000000000000000000000..9d072265bb9d7d5d4eeaaa9aadb44a49a60e5fe3 GIT binary patch literal 248 zcmZ?wbhEHbgxLc6~q5?4F69u{F}@0e+$F^zrz3jO@4oyp}v#>2=1R{ z`2YX-`F#xhd<^^7GyH$bps&p^e-cpewY&^Nd^p4X4Gi!1Fzlbske>!pj|LQfvM@3* zNHOSu#6fm4u$C@R>vD+fTM_1WrjSFOYeSph9VW&ehisimT`Ynp-iELv_k~jmS4OEzz h1Q^5k8{BNVn8hT-nI{@Cu+CwP)wEG_S5{=O1_1NkQKJ9= literal 0 HcmV?d00001 diff --git a/images/smiles/icon_razz.gif b/images/smiles/icon_razz.gif new file mode 100644 index 0000000000000000000000000000000000000000..7ddefe396b68e8878c1a028e29c5474bd1319421 GIT binary patch literal 934 zcmZ?wbhEHbtV@c*yy|9_MJ z|3Ci!|7)&Qw$Gs7{2#K|NnmWcSgp)ZKdDmF#NyN{%1+%|LxoV z&6x4L*vr+`_5YJ6|9^e`f9A~pR}4QI8vg%z`Rh8vzsC$emo5AMNBH0A=KudDKaP*T z>0!pe!0`X+%wGqqfegj}+zPv3R$%UgcxPlMx(u7qxxxfZd?$&YQ;PGndxWo3ZY ziH`8-T?`B&DNk$k=JGRs=w-6FQO@h2ko&aap$ji#VOF!1O><{wyHRCMkfx2Ai?Slv zYA%q~j0}tnyg^Qv|J?fJ`y}Jo`B}5IcZU0i%+^)m>vp{!Bqu6#)+xQyYu&8=mRY(7 z)}5aCNL5gG*%{+AHF>K87ridk_T^KXg3qiu^$yZP~SpxtUz5smy literal 0 HcmV?d00001 diff --git a/images/smiles/icon_rolleyes.gif b/images/smiles/icon_rolleyes.gif new file mode 100644 index 0000000000000000000000000000000000000000..d7f5f2f4b18f8a141c7a5dd1e09ff106a2f9fa1e GIT binary patch literal 485 zcmZ?wbhEHbgxLc6$23bKgaO@B*Xvz|NqTp_`ikW|G&xq{~!PVSNQ)^ zpx|qe3NTRo&+X?L671|4;A*62z|05~RQ$=p%EiFTpaW6>GM0fQZi6Rh*4!PT(*&f% z*$TRZ<}@?I^CYG*?eW$Pd$isBan+(fO1gn0b6dW=x%w~q}~tKE&`I~ zWZ+_80zw8BmJOU2m9Ux1yJ3o3D&v+$ZG#t4ZLVMy3?Qu_ZQMY+8CYaDcq&S-H42Fh z{c)CE%Sn@EnS+n-#i)qLlhWcv5Vs)dU<2w9+u*4hy}}}Vq4ah~j;>ScENX^v3nduQ d4TmZP8gAjeGaoDCD!-THXQ zaD}Q`!Ef~@t%4VS^H`jpHe@qRnmW&T1rN_M_11z^Th4v=m-`t@{9)jl*%hj`3F2nzSlmGt}{tp7jjg5`} z|9}1eDNqRrDE?$&WMJT9&;fBkW-zcsU+|R7ntLO3**QsZu>uaJIn9DTj_MrhAC|2y zn^DM@#l<(@zDcWq`B+oyDaGR~0+SdoFXD`_(PqAxy<2o0Q>0^(jhH~$tb+>(~Mkip?iSJVUgj;i&5c8M}8X Ru_pB?q(z8rRbgVV1^{|&Mb!WR literal 0 HcmV?d00001 diff --git a/images/smiles/icon_surprised.gif b/images/smiles/icon_surprised.gif new file mode 100644 index 0000000000000000000000000000000000000000..cb21424319829487d477e5f17262891c1be03e8c GIT binary patch literal 174 zcmZ?wbhEHbgxLc6$23bKgaNIF2n!7!vD80{0DM@;NRr`CxMLP|FjsU zO`B$HZ2T{m`TzgdAk{j*8D$QDUE*nK$ z7w|KG>@aokb7%R&!0WI`LE+V`jZbtHGVEq^HDzd8gshBhJhWk{9N&@6Gj#R{?N7d_ u@Ss3Q_U6Qmr`{j;vSH$AZf0`Va5JoNi_%bKV4KJmrQFw{HdRBB!5RP#AxjVd literal 0 HcmV?d00001 diff --git a/images/smiles/icon_wink.gif b/images/smiles/icon_wink.gif new file mode 100644 index 0000000000000000000000000000000000000000..d1482880421dde677d3302940aa875ff22a11b06 GIT binary patch literal 170 zcmZ?wbhEHba9D@n#Zhbsv zutHU>;J1F0R>6zE2`tV}8xE^#?@bGklrZsUYAp!;dbG*vY{CM88Jk-qvwbqQUtQFY Pm?x1IA$CiJiNP8Goi0B( literal 0 HcmV?d00001 diff --git a/images/smiles/index.html b/images/smiles/index.html new file mode 100644 index 0000000..408e221 --- /dev/null +++ b/images/smiles/index.html @@ -0,0 +1,15 @@ + + + + + Untitled + + + + +

+ + +

+ + diff --git a/images/smiles/smiles.dsfpak b/images/smiles/smiles.dsfpak new file mode 100644 index 0000000..6054037 --- /dev/null +++ b/images/smiles/smiles.dsfpak @@ -0,0 +1,17 @@ +:) :: images/smiles/icon_smile.gif +;( :: images/smiles/icon_cry.gif +:( :: images/smiles/icon_sad.gif +:/ :: images/smiles/icon_curve.gif +:| :: images/smiles/icon_neutral.gif +:idea: :: images/smiles/icon_idea.gif +:lol: :: images/smiles/icon_lol.gif +;) :: images/smiles/icon_wink.gif +:?: :: images/smiles/icon_question.gif +:!: :: images/smiles/icon_exclaim.gif +:P :: images/smiles/icon_razz.gif +:roll: :: images/smiles/icon_rolleyes.gif +:> :: images/smiles/icon_smile2.gif +:diabolek: :: images/smiles/icon_twisted.gif +:o :: images/smiles/icon_surprised.gif +:zly: :: images/smiles/icon_mad.gif +:zawstydzony: :: images/smiles/icon_redface.gif diff --git a/images/user_agent/Thumbs.db b/images/user_agent/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..ee7ea57fb723cc566f8b99a3b1d0b830cd2e7c69 GIT binary patch literal 73216 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 F{{xK3a6|wA literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_aix.gif b/images/user_agent/icon_aix.gif new file mode 100644 index 0000000000000000000000000000000000000000..6b081afb1948dab6028c053fffcefbd2664b7730 GIT binary patch literal 199 zcmV;&0670gNk%w1VKD#_0Pz3-0001)%*-=png9R)EC2ui05Jd(0007@oR6s&Ef3q8 zvx0!k4mMe85a&h_@@3SZkvR;ITgcST6T_V>1RhD0aE zqj<+y1(23k6sXxnl~4$m^+XluMbl!1%91%*Ll!8CcY$i9<;MCK#9C4~3lLBM06W9v BQ{n&s literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_amiga.gif b/images/user_agent/icon_amiga.gif new file mode 100644 index 0000000000000000000000000000000000000000..7c5ac6a084e75159726c484f2ed318d340760331 GIT binary patch literal 329 zcmV-P0k-}}Nk%w1VG;lm0K@#hos#a8zPE6D=FvzJ#7s#r z7?F(TQ!2n@a~2SG3>6+891A673JVYyHFq5z9~>A43v(0*2nh=p5f2!L9~u}65N3mR zX@?yd9Hk5gkfC=BlZP7`8nFli7k3q)4~K`mdu#&>4~4E78ypB6%RBaZMEH3+EC2ui022Tb z000AKSW2oB=E!+QW9>yMZTlM6eIO)OM5?BbV7#y~0Ca8N_Mq#5;QxUgkJO_W0vHET zU_^pegkEIoOcgwf;^dgT3TM6F>>DVX&w#V~bPzZfivio+EimLK`eKC_=}A{Vf^KPF HJP80hg`Gq& literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_avant.gif b/images/user_agent/icon_avant.gif new file mode 100644 index 0000000000000000000000000000000000000000..a4e9cb2972a8bc6bb3c8020af76f87c6c75ba237 GIT binary patch literal 327 zcmV-N0l5B0Nk%w1VG;lm0K@;O_SK`{wKQ+v@br&gqxa>zt(FvA5)=so1o# z)RK?STfzTw$o*xE`)afQgnPqnY|&+H{aSAQXjJl3S?*6|%~Dd$c5Jw1Td-MAvPwm? zNE z?R?)K35zB}Bx;UBgf$!0K@;`*5U5B$>HjallATK;8$S%{r+Q$yr8$% z;$my`;^vI0&#S=OEC2ui04)F#000I4ARvxpSr$U7u57ECFdVpa9pB?X)ciVXo?uXO z!0l8DMq|lPtT4+4=k?1-4hYJm7(=BN5Y9vJ;4~JgN5iRrI0YnxRV2x1ZiW;GGG0Bx z0t*%@eQ+ak5+WLQcw`NQevcdsE^%`JA6tqNS0gi%H4GSk7LbM_avvTQ9wQrf8kztz z5ok2EWD5-ug_em26%|+)2ncluA~OpSHMlAfYbm}W2NxS26dKw@$pRP_13xd` z8d$)f0D}bx@dTLRsO!xSP7)|Iq~vlyLJ)oc68Pa@fq?}vPipd_g5$=K9z1&97yuNg M&=~HD)(8OrI}aSHqyPW_ literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_dillo.gif b/images/user_agent/icon_dillo.gif new file mode 100644 index 0000000000000000000000000000000000000000..2d48c0311af6ef57a7d4078fc4ef240d1231d9ab GIT binary patch literal 455 zcmV;&0XY6gNk%w1VG;lm0M!5h(8#pY=Hl(?^857k{rmj+^!fAj_44id^zQNI=H|x5 z%GcJ}+uPgB%+;yr@3Yg{x4p!Os?)Nvwx*}3j-IQts*k9fiHVAgY?#ekjm&L`uTp@w za)OXdcdSNkpkjBAaCw4IYm7r?lRRCAk%C*Kmv)hdX@+@LIzl#FURHK=B08M`AKUJ(<)9XL)A7#=ht6eSTF8yOTYJ2}!3 x88+V&ys)@|`t+9;&%E;W< z)YHJe#-N_cv9868i@U3vw5h4Jk&vT}SgwJ6z>qP;Qd7ZmaFkwNt8r_&cXqR9XRl~e zu1`(4Sy|p&Afr$k@E{@PA|b^$HP|5`#3CcjAtCG^BikP%#~vZ;ARpEs9?2md?;ao4 zA0EUW9knz!xg;g2B_ok4DXktMttuS1Asvt=8N41HvmG3!92Tn`9ito^m>U_08y9_F zEqojoA^8Le2ml2DEC2ui0384l000L5z=Ci{NcbpRv^L%m1A~qpI(W>mhvP(#5jBevetO753;MgHACyx?8T!08c<3rGYE^gv8 zxS#+79Tp3Y+~I0BTO7KG7O0jqespXC}6}`VIu{LzawP4AXcJAj~Euz cWatp8fe;5AL`bgSxB!3!4m4!wDkKO1J8vN682|tP literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_firefox.gif b/images/user_agent/icon_firefox.gif new file mode 100644 index 0000000000000000000000000000000000000000..03c302c398ae7bd6ef1c04abfb9c73f9fea10814 GIT binary patch literal 696 zcmV;p0!RHvNk%w1VG;lm0OkMy001-p#5Bw^0JH%B0AHr|_V%fGQSf;kU?LRE%*+Kj zev(8n0GZ6yl3De}pFl}$tEHg;AZg)b47@i5?7J&#pv6KjP5^znBwUC6qbQt~k+UfR z=;-L=S_PGMO&k+2>e6M{zqib0Gvj|iQaV2tu;MK#V*ps1N`H`PXGY#o17UZkHHx|2 z#>BfjEdUWx?~oImpjwL-58SGsig$1`narJCTi@Q^izpfAv}L`$y@nzh0Wxz>PEhW0 zAiSJ{|NsC0nKS?KchyY^>dv_UM~ldfW2#s;BXpoeBrg_Lk7j0O0B*0%-0ShFK>puT z!*Mh1W)O#ccm;~Wf=NgIx-c&+LI4Ry<5v>#@9*fAEwWc7$VLk2i#z|!Gp?ESXV6Msm%7feh_T6t=G#U0iX21rZFyfGGRiGB1$kQ!SezS7(HIl z7#X5M1(zX1j%+#e=gJj4TB-z~GlPqYK7Fth#DU-g04rpwJaIAuhzmILac6+p0b}GyIB-U+ er5_dx%9`D<#gAJ{KoUTpVZ#Ou2niMi0suSnsUV^N literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_galeon.gif b/images/user_agent/icon_galeon.gif new file mode 100644 index 0000000000000000000000000000000000000000..68d65b8b07b6e034cc1e415f6e18bc68678d94b5 GIT binary patch literal 472 zcmV;}0Vn=PNk%w1VH5xo0M!5h;@iUi|Nr;*_weua<>&41@9*T~<;}>{-rnBU+uzpK z*38k?%*@Qe!^OYG&9=S8=hm6Ixx1{iyrZnOt*x!4rKOyvu#};#kesKAmZZJ2jG394 zk(8E&lAeK&pNor&f`o;4hLw7QjF5AnaD9tudyQ&%hGTPtT5f@+n|FtTU0_{sa&vQL zW@b}ncv@?GOJH?RWO_+lazs~aZD~_dQc*inYCckAHcMhJLs>RSToMv!Cn{?&GfE~Y zJPs2kA^8Le2mk>9EC2ui02BZc000K{z<_W_6k0N-qEe{1TpW{(YqA_p9u`T+61v^0 z!UyJ*31ucOSqAK|lw64pVIY|ds*g~o^B_Fx6AlCw92`XxAr}c5PYVYVFCYj888!_> z5*QW;2~Zg&F9-t)Av`)n9t#Q&7ak@qGcpDWBRo4lLkG`n9_N+ z>0P1MGPm~_k>&tn&O3U&A^8Le2mk{BEC2ui01*HZ000DpaL7rgF*Qqby3!Y-EC(Sq zm7yRk!!!%g6x5+A?%Om^s{F3SVz*0BNC($ML2O_KhJ>NPSX?;G&)`r<=$hGOQz%TB zNs_`iz%Fnuv;nhe2oM$yM?(>RfE@{bR0vN44hIT)U<`x+8xJN2fjcgQ6b27Z017s7 R83zw$2LT!>g{2Y^06UhMRyF_t literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_ie7.gif b/images/user_agent/icon_ie7.gif new file mode 100644 index 0000000000000000000000000000000000000000..121203d944fbcaa59ab5b51e8b34c53a72174b36 GIT binary patch literal 1018 zcmZ?wbhEHb6k-r&cs`whM?{WaR)bU4l2hJ>OUsE_H(XA~g3Ta}$t0e~B!t-{pVcB( z+B|^MzK+Sgmdmx6*QL(FPKV#Kki)Z=$#)`aKpRuQJf^@oOp$#|A*&_BnuTNL=tPvT zByClS?-Wm3;u7O6o7&EwvY9P&BYVzD)~x+pdGm#`mvQ7Akjb8)p4P{jf0(&soksd( zj^ZPd1*F4%pUzxR?r&vn_(OM?AZ(@Sc7Yo|$1 z*egHbjOes`2@O-C+8d>2Kh~Ie#bVk%*GZc?Tiq&pvK{9fR$Ka9Z{6$3(}U;D^tIUX z_D-K@?V=5fmIU6OELgH~pW~iS*JcY`pUbmkb@=^-94(tqgr52oapudj^}=(v?Z3Fy z`r$_XiF+@--lVW)Uw_(_Z|C8*!%pc zyw3;i&Yw*^ce?oN5!<7u=T<%Vb@N2!=i~ODPPl$N8};>a+=nZbpRSc&zH{d1>zCR@Sj140SG{Of`Q{Y!+%a0 zj|~eBHZ#9hFnPg#?ogxe7Zb0P6K5y3vMp&*Y{~GGF-@6cU?9Gc_f>`Y`h$ z!!dpppGglC0v8@Q;8FjkWTC;Mg$|xww`z76xEyxi*Ee&JP$&>mv2-&k=?HQ?x?e1y zW6cHy2L)C4%zv5=j!Svw+Gg+2&@4tmHBXgo;lTC}xMa4%C R78~aAH=R8DJHdg$8UPrsb+G^d literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_konqueror.gif b/images/user_agent/icon_konqueror.gif new file mode 100644 index 0000000000000000000000000000000000000000..3409c430acd2d46078c575365db4b9ddc74dc287 GIT binary patch literal 455 zcmV;&0XY6gNk%w1VG;lm0M!5h@bK~b_xk+%`~Lp^{r&y?{QUX(`TP6(`1tqq^zrug z_VV)b?Ck90teBplm8_eBkC2p- zlbM~Jotm1Nl$4W-ii(DYh3vzA*{N&Urdz_2O{tZ1os)E!gk-peLb8KAo^nKTZ*X{c zcx!BHA^8Le2mk~CEC2ui01^Na000K$K!R{c5Pd+RVF*-l5Qmq=0wfekC#B(07+r)2 zABJIJu~aJ*Q_Q-6`6>s)aWFC`@;6%7?B8#5hJH#~O-7cwUmB`h!* zG&R2qH#<3t2rzU)J{Bl8DZn}_A_fKwUqUV?5hyDhDLEb&J|GwJLMIm&Fd!ox84)4I xF<1~W@u7r_A3j>J=+VOmj2ADSoD)*3L_`8FU^F5k!i9@+8=qA0SYcxj06U_^&)@(6 literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_lindows.gif b/images/user_agent/icon_lindows.gif new file mode 100644 index 0000000000000000000000000000000000000000..2d36851f6f3985de5e2b1afca241337c672ebbfc GIT binary patch literal 199 zcmV;&0670gNk%w1VGjTj0J8u9+wAt|_U-ce^#A|=&F$B|<F5ly=*+WVlT8;A^8Le2mk{BEC2ui01p5X000DZaL5r%yQ$1QhWLO~pJ4i-X)&Kwi literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_linux.gif b/images/user_agent/icon_linux.gif new file mode 100644 index 0000000000000000000000000000000000000000..5c5d8cfbeb5c0b063f7fc55d2c0712f50191a517 GIT binary patch literal 690 zcmV;j0!{r#Nk%w1VGjTj0OkMy{QUg;`}_I%`SkSk?Ck8|+|=FO-PF?7)XmGu#l*(K z!pFqJz`ni4yQIv#lGMD1xVX5ov9h(bwX3hOq@<;#rkAv&f|{J0lai8=l8uUrij9to zgM);BfPuxPU%H!WsF`hvgmj;gNA}hw=*cSF!ZPyH8tu~-@ys6W$RF&(9P`Nt)3Y_f zn>FOO80WYL(ykoKq7~Y=4BV{;$DI_#l@HFF48?;4x`HvKgf+j8Ev1Srw2BtHjt6~! zdzXA7jB_fwc^0yJ6u*24i*_A*dwYIFDxA(7zq>=932}S9UUDS8X6H16Bid31_u%g3=s?q5fKm%6bB3m2L=la z3=R$s3JD7c2nYlP2nq=V0t5mE1_uQN1p);I1p@^E0|Ws90s;a8A^8Le2mk^AEC2ui z01p5X000O6fC7R75*Zvu92f=xgM&tAb7*U8U``Z`14wmwetvj=a%XEvgBNRhb$^|F zXG>ad90LYVo~m|!dT3s0d0-L}X@7cqeSUp*ben&8NgH*~dBuHud2@4mdSFI>Xwx36e5Ueh?8c1L1k#tRiFMw~cNqRO2; zco0P4G2_Jw6C+a0ut6mb8$JiF5TT)hgbEindbF@YXG@m@Sd`@8QRBuC9UdHnXoCgG Yg)k5qEaVUp1jmO41r}^^^Cb`fJ7pgP%>V!Z literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_linux_arch.gif b/images/user_agent/icon_linux_arch.gif new file mode 100644 index 0000000000000000000000000000000000000000..fed0239c71cfa00cf8d3aaa40f6da9b052563ad9 GIT binary patch literal 277 zcmV+w0qXuoNk%w1VG;lm0K@@eSLk*%*=qPj-rnBf>-l(%#lhC| zLuR*giLcq@^<#<8A^8La6aWtZEC2ui01^Na000G&;3JM?X^s{IQKvb0L7-giIAocp zD^Ptk4TXY2{GA#XOC$ohI0u^3WdPM24ikriLn#zU6YOMSc|KvYl>QO1ZvV3a|m zAA&^tg6L;T0SFul1Oy2WAAJlb3J4N~A|H}-ClV5e4;}^vi+}|c2^}LFn|~q!3k3oN b7!L-co2LsH3zQ-ou(&l3IJ>^TB_RMiqb_t* literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_linux_cdlinux.gif b/images/user_agent/icon_linux_cdlinux.gif new file mode 100644 index 0000000000000000000000000000000000000000..b16d0dd691d62c3de2f80a2dcfdd751fb28aa310 GIT binary patch literal 262 zcmZ?wbhEHblwuHJc+A8wbLPx5XU_cp|357)ZDtz7nVAeT(~Q%M8UD`%vW?H20m=hq zjDY~C1_%`Yi8>dhCYGe8D3oWGWGIAWq$;?3`UWs4{$yd~V&G@cVE_V<;S4OZKAiMi zy|oB?3VppS@99al46gICgTsB2dP)>c*x577vKN_1W#yVk7>Nrq GSOWmo3S!Uz literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_linux_debian.gif b/images/user_agent/icon_linux_debian.gif new file mode 100644 index 0000000000000000000000000000000000000000..85099dbd38fb516992e09433567ec92e25df1123 GIT binary patch literal 1140 zcmdVZ|4$or7zgmfRV-{q=U9ewl0qh7V@}5~f#_n1iGad{NkTvqVOoQ@p)+itBMw%j zOs0VhW}tD<@vW3%TcBN!_S*a0U9Z4$(+f4aCrMOeCPGN^E`jR zQ&{|dUVd!~lmcy_5PR?wSN?hDsRriMH?;7Ay|md`(!5xFnJH_bt6G_AF)3;fd@6CB zmAL9UnfhPnzV2E%-$VS=x7;Lk|JaYW_cN{1`4*|WRZ6x?Bh9zKZv*QsGOA~IXl!^$ zKH}&drG6hBofsQca^!ZYLOwYj>Q=g>O1WyBkt!$toB%^gg?eJGM>V0Dw2Y`Gr&X#c zHBhK=g?j0aDa-g2Ju;=zYSg-^%|4w?sh!blr{S4tSUUr2EgGG6R=0TzCZ_dqnL%%W z?-=zuL?6FxfRS0pi~-CVVDl_&HWq~^+YBZnh9H<3 z1ttVHg*7OGn@zYGU?>Zt1VGIMiarI*7C@UY)B-|UoFD)oF+k$LieXlqAn}Nf#3+KW zT5zs8HVb7XEjE(0Tdj60>9A6EigMVz-0h@T(ndLL6wR^I4tvZ@$55JfIlWGL8)2Mo zIzlipjG;X)55q95dmCpxKJSK&_4vIWKkM~-SwFi*`@C~3JI8KY{p`HYH}Ch&&-oVo zbBpuAg@r&c5Ln_Y27`->%faBvQfPUZn^<6ZCA<>48+s53M?&GyYB;&5lQdL<^$KIin zsaf*W$jR=38=^~(tK*xMZ(`h`{7P?tcM)sUqTOVGrul0;LgI1}BMTbFaJ zO8n*Smv`m5ukTHFOVWh=OT1@NECtt&3J&JiB=CwDNn2CazX>lU?#nFgKMEut9VrGm nV+t&b`TP6({r&y^{{H{}|MvU(`}_9w^z`)f z>gDI;?dE_Sh;N0ln#@Eop*4Ng?$HvRQ$Gp7DkdndV;;rW0sL;Z^ z>f)N=#Es(FnBCWh;k~!lwXepywbieK%8-lLoSWH$fTE*UM$-(?rsvZ@{K^wTN@x$UEoHFX+rC>CP>Ffqctv zUC&fWxpGmdbZoSHdy8jblXiHeRY;IfOqWqhv`9UTKs(_wBGxl4*eWdBEF{t^BgZQx zs53CQG%C3&C8sAOkufuuCnJU^C8j7Jm?s{GB^+QwL~?9ucXxMcXlYDLY)eW@Sz1|7 zQC2!TXgoYYCn#1WCrNKcHCa$RU_U>3CnjhnC08peZ5<5)BRxA^8Le2ml5EEC2ui z01^Na000N_fChpFFN21MhHGkwhC_x$Q(KIKBx`~tPib8SLPlC)hahR7KT>IFR#k3q zZ+CT+S+74=P(@L7v95!n5^m#bRh#FLB)aU^Ub{x literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_linux_gentoo.gif b/images/user_agent/icon_linux_gentoo.gif new file mode 100644 index 0000000000000000000000000000000000000000..d69ecee06ea51fb19c9ca0e2929738119525cd9c GIT binary patch literal 318 zcmV-E0m1%9Nk%w1VGsZk0K@hzVf!W=(@M~u&m6yy4Sh4%BrZv zq@%o$jHsQPw}gMCA^8Le2mk~CEC2ui01yBY000HMAR!XRkub@qic3^75A>v~F)71f zz*hyRi^(FFGbA9r$0!mR1e}o!#euv)L=r?!pvZhWlE-DNq-YL>fgr-+ge#ScB{J!F z8n}XDk%)~gR~jE58wNxP4i9h-5h4^G6lntm2#F643>YE|kwlaU0GJvS1TAU;MF=Jg zqa+cMr~?SIY#JgB3SnK1P$;R;tHm9EFAUXN9~9H)CDR_#Wd+KnWg+euot zleO+7Yu`)Pdyt`jH{1MCj?tqW<6HTTPx4Hk7MMLPFuzse{-oIYQK{qe607H>)-Ot} zAC~>Aa>ni&_@=Z6NDr!8TRTcbWS zxj$@+z0;BQsoDKQi`R!X-!E;R-#WbSPbhfRm-MkW;$v^*j~>4tJ^nv>{eScYy_lT+ zd`jNasfG8aSN)h6{(EBZpNYXQr{z7FUjAcp#MdeDU#BH~nwjx!ZqCz%t&bOXJzmoN zd~w^yg%z(>_dQ!P<@?%}R~u)&+%o_B#_rc!=f2xE=f{@bw>uVm-8=u?kuBejuKsj( z@3(V1KVCTW_2Rzom-hd-b^6<#i$Cw2{d(`puY2cyKDhGz(T(4aul;^;@6W4;zurFk z{qFhicQ1Z_di&?=r$665|NZ{u@6R89e*w|Yf4_hJ`}6zXpFjWp{`vRs-~UlS%Meif z$->CR@Sj140SG{Of`Q{JgRVh?1LI*fenqbx6AGC*CaMMrFbE_h9Bko|wwn-O=zM&F zN-&SlnhL|m$NJ=*`%(%XbxsyjuTJP(wCO;hg^ej-O9bN)J{g^WCK1c8O62-v?Pui;T z)E3i%1*c~jraj|{nzDj_wsHWcio(i;ZoB$UU{sVcKFvanV3y3r_@@Tw_H$QYUPo& Q=`i@%w9vVOk&(d~00v3SZ~y=R literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_linux_knoppix.gif b/images/user_agent/icon_linux_knoppix.gif new file mode 100644 index 0000000000000000000000000000000000000000..d4545402206c24eba22ed9ab9dbf79653d95b74e GIT binary patch literal 465 zcmV;?0WSVWNk%w1VG{rn0M!5h-{AH5`1kw!{Qdp?{{H^@`ug?t`SbJh=ji+E>ip#7 z`sU{S?dh10A;otS--R<4o@!8ks-P-NX(c{j};?U5~*wxwG+}zUA($~z@ z$Hvsn%-qh>%E!mb%Dm0ExyHW0u+yZD#ki=kpPR9(thlzjtgN@DrmCT#qMMtfkBp6$ zmztZJo0OE5h=_^A$#BTQS-QYz$hT+EyiBN!VwjO-xUf*xy&&GaAGD`8rJ6jNdS`ol zeHt1XA^8Le2mk~CEC2ui022Tb000K=K!R{cKr9xD217U?5)});2{k!3oW!F7^?J1s zPz4rpTvSpn*Q=@}awug^$!7C~%90deFgd*{01F`|BO@#*NERt6OA{6_FDMWv9}fo~ zD+wViD-;L>3=kYFFfA+}8I_zcFd+>c1Sn}OEif)8KR+jGv@R+r1g{)jFB%%TCl@|l zCmj<65?~y@4-XiX7`7Y=3JC-g(Fz?ZmIvk;D%(a&!A1)y|Nj2}|Nr&+{rvm&==AyO^!n!R z`QGvS)#~=h==sXp?zZFiyxjDs*!Q#6?WD@-kI?s=%JYcE^OnZxg1P0Myyb+a)_K71 zd&Kr>#QRX4-*C9?X}9c2tnF60_D8n&R;cH8qtQf`*;R_l1cBQrqwYAf`!lHaD5m!e zru-G4_$!v|6rK45llTOi`UsEl0*vz*mhA?T?HY{a1&8P|g4G3W*eiC;4{FaCc-9Df z+Y4sCA^8Le2ml2DEC2ui02BZc000K$z=E*QuwWv?q;j~RbVeb|a#~<;L?f2#LS0%^ zELbd*=oTQ5!b0SV#cmGuuHa8_NJrfThS}`_|1rjSQGBh+eJr@oJ5i2q=GdMUWLJ%g7I4C?C2E`;Wx;{G@ zNe~ki84eB*#S9hKfn5(DA{Go38yym64Oc5G5gZ>QD$%2;$Trt4!dI&WJKnVLQSI(-J#E%bYzinLxKtqTeiySgnT`IZnty zM4T0sFvflV_IL79JSgGG2*PGj9`4&>+Gh5m`@B=$iFjKi;oHO$`s-0=lOU-nwO{mkCUtt zvq>?hvzt*Sox+qL1@aWmf;Le~v`U$9C?T_@m1e_q#SWi%8A(njlYUGNAUGMZAB%_& zMLC!!YuG`1c^53K00Rj?Xb)a64_A7?MF7zOst(j%Pzg{~FsN`v1(yoM;pMw^qtM$2 z1OZLsyBFrbWz?(yoC~TS8A(HWqdESccK}8K%$h(Oa#hAm3JivH&2dn@9!RUE-&u|> zETmipgJvx*IPq|Psi9}9c76w%M@LiUzI5hAmCIJE7ptU3gpC)?%!vl$e>p=?tpcf` zogS~esY|7L|IO+7ZM?o_&Pb-=4(4-EQ~fbXYS2eB#sTJzfKfx(^EL+HJ5ip-IcV1w z961cI4;%*`!T!mk#~Z*7CC{=m()XGYApIvA^eSZN(Z=DSv96rAD({#&kV4DS+-L2_ z-)vZdt^E-S+lvvuCF=mRY;0~mXWeG9=%?Ig-zz%4w1_W$vSDCNwf;8xG(%U~bsD3V zrvlr~T`jv_QTJ6zZtlv}i^2~cm$|p=Gx6Hx_pgt+2KFwVD9KvI)Rw$7)Og;qua|OP zAc~`@_V@2^Jb6D4Z+&3O$MP|6@$~KXnS#~&lTS?@abzI-8nyP+svAwu*X&$3Ha?=pY>`u(z`>$Uz&(@Nx{7uT7dl$f&W6QS>hb+vuvpYAH# zx#Wj0uc9@v+1o8=h88W$nXeqxf6!6*ZYgH@JoDSJtO57SEAjG6Wy2>npXqH|^vm3> z3%Uc7dZqlvg)#KGyw~@>gO()%V^G$le_(_|wwab+G*bT4#ROpNqMT{Rd*TVXL E03mK7DgXcg literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_linux_redhat.gif b/images/user_agent/icon_linux_redhat.gif new file mode 100644 index 0000000000000000000000000000000000000000..b27db1fbe2aef7ef032279dae1336f98a2592d14 GIT binary patch literal 681 zcmV;a0#^M;Nk%w1VG;lm0OkMy{Py+z_V)ev_x$$u`SkSr_V)Vq_51bp`SbMo_4D}g z^7!-f_VV%a?(OsL?(*&J@ayXD>+0|5>Fns|?dRv~<>l+==H=ht;@sTc+1c6E)Y#L~ z*VEF_%*oBj$jivY%ErUT!NJGE!NkA4z`MG>ySlr$x4gHvxU{piv9GhRudAn~o0pcA zk&v8@ijt3xkx@vGKsMAkDbqM8)HW#6H!0IMDbqJ7(Kjg3I499JC(k%4#5gO-HYv_G zD8V)=!8a++Hz&3=DZMr)vNb2RG$y7pD6Tdosxc;^GA5-lCY>=RnlUAoFe92SB9|{E zjxQpMEh2|4Abxsze0XB|jk?Iv^T29~&?p z7bG7XAsrea8yP7c7bY7QAR8AV8y6lL7#xk2LlthnDMd%iIOO1>hQUuqJV)1 zDhwEa5TXN!4<*|0X~ih0(5D7OtT2#a&!0YB1gUTURp@~S2B>6FL3R+?u0l_+P{qk9 P)UpST+LE0cHxK|jMJy@P literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_linux_slackware.gif b/images/user_agent/icon_linux_slackware.gif new file mode 100644 index 0000000000000000000000000000000000000000..93731095973ec925416687c191549b3e1b4ea1d9 GIT binary patch literal 713 zcmV;)0yh0eNk%w1VG;lm0OkMy0001dquC2+(Eu}OIC(LI^JjaW z08+Tx-sYpR&LScq7c6W#Iy!%}?;~8WNqMV>m%ji)og{nNU14PaEsej$)O(i7gM))d zQ-?Wv)E!c^f2!FnV6jb;~Y0=En zv7Drh*UVeW80ZMv9A|h}s%zrC2UQjU*5Km7%1tl;_ zbxnPJZafteBWx~oNNOk{@F)#*bPrt=89y&kNk}9zGIT%*VIzr|7e7E`81N+xgDU_? z;J~4wND%=HB&4V^XHCO45QQMnQUpMPDGa`(n6qI?3Mpb5e6T^_Ly=)g)}%!AP)B(>DCQA<7U9bQT+eU&^Y?xD~3Fa>mXVPf1EgM61;3{p%hsis7vi(-^;a;h3rj1+<~7Q_i9 zAxb@>mOxaKOANc&E*x|Td@ruVppj7Jh?vc%3s1)77%xPKbk0I?UNaS@!==V0wu4OP z46dD#;vQoZ!5%<2k|-hxeWWoevz??EV1Z7mHndU((@tdbjuHo2LY8z7@1w+Ck77#c zyawW=kx+yXX(f%Rr&CG<87W!lA(?g@#wieDq!?|DA*Ri(Wh7*Z&X{JU6gkFm0bB}* zd@rHu$VzG`0t!zG$mFwQX(cImK6VLVLd!tb=SpWB!NzVI+|d!c`p_Nfkv!B`S$wQn7&=MNUo=Ld4Y50!naVkfvL3 zqzj%sE);>nQAV-F!sIy9MyeT6j1fi#0l$E3UbUxd8!!myCK8xrcEZt;vSfOUqylY9 z8G`#8~o+vS{NZm`^&6m!v^ZR`-%eXyc>{Y&+=%ZF}U*nk4WUR|i4)4OQvi4u3+y!HE*X@mL+W&ee~hMR3Ub#CeR zOV@d}e)uEmENXEm=FksD`Mi~1d#{vXmAB5k+7GJ!I*G2V*-)la#~vu(UjF1py7KCu zcXt88j((mG5Ht5xWGW9}=8S=Bd)L1^GNkSKYIempE>wN6YxiPm7`k#7=(;aH`}NfA z;H0tVkmD@eCO#8qN;!mAKB%r zhWPFCLyZfo=U=;i>Eg(;S!&ZCr6Ze5E^D=0@HtGPt8xjkkbbAOa!6V{<_yziMa>V7 z9)7F28?2Q1hS^mI=$llNk%w1VF~~e0J8u9zQwxK+}Q2+_4@kx(eC%3+UKa)>Xy~)LYus4#ou4L z+f%pGHL1=Nqs|VQ$_kpjA^8Le2mk{BEC2ui015yS000D2keow?y`!*2@gU06Bo$^b zk3(KTkT?#bBt-xKM*}y=fhmp03PT7c1Q&yWuy`y=gT#grgXSEmhT#H=AsoI-p`nm$ Uxr&7+$$)wk=d~fc&Rik@JAXS#2LJ#7 literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_linux_ubuntu.gif b/images/user_agent/icon_linux_ubuntu.gif new file mode 100644 index 0000000000000000000000000000000000000000..93a1bc790e7cc9890ceb6a0d9d95ac648abf313d GIT binary patch literal 1027 zcmeH`=}XgL0D#}+vBRm$BL^P2bh5%wEXX5BO5I#3vkxg`wjyw%*z$uPBE@E=d6(J& zX=;cmm}X^!QXW`o8J_dbxj9|UfzIu>{eIi~zTrR7r=EY{fd?L8VnSrpHBaCHETsTe z073-j08j#876DiZW&v0V4py?+GXS9OWNLNEP*;aK<0*}1MIgZXX{?{s<=sLgY16Eu zZzYzD!&@?$ZF5tbosBxqVakkmR;h_T`=>T*hOd46J<^O~o5k4Mi(c^YW3XLbZoQvs z?CUcp(dX!NTUV7e>!>9&j1W8Ma&w_h4PS;48GP6ljZJ^nghIIV85`Bes7C~WdL-yW zDsdhlwNjm$ipI*QigdE}1~t~X_qq)}bi+0?Y;c9Yrsmw-VAC;dBTaFDoc_KN8Vc*# zrk-|eG2uNeY!+DhyNU5}q+6q&WH!JW2HD?^v@2w_)IQv?%;%Hs z<@lM4p}d%oFqCwZ($)%mWcQ+$nj=1Mk4Ajvj$M8yDFAKJF=LJ+abSuj31miFpSd6pkY2+l$T3py;&A zGMgi5mpZj%S=rB}*9TQmPVqkkv9hEpAD;kjWKqb-s369fw{`N>Y6$NRq?jnS=&~{2fER)1My;V*Ubnc4<)n literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_macos.gif b/images/user_agent/icon_macos.gif new file mode 100644 index 0000000000000000000000000000000000000000..db6832b535b1a2c4a2985fe8e9326ff70f4bc30f GIT binary patch literal 445 zcmV;u0Yd&qNk%w1VG;lm0M!5h?eO{b_xbwz`u_g@_4W4X>H6sB=-J})%Fp!I+4$Gk z=*q_&8YteBj)h?%sPn5K-4oobHCcbLd*naN|B%Vn9&Wthulmdjm|!)TGcVUNC9 zgREVOxMp|5SAM8vbhSxqk7sCmPElS;Ova0 z4@MPGU{+!&(@8daXxfZqd7y}?WT?|E^q_npVhBPYTRki%JQH9S5DyRw2nTf|CpIoA zJ`!M?VF(fqXeTEoC_WCHn?)NhqN1e~6C$UZ5E!d@tvNqDKNO80jnJqI_hFwX6DoLk5Qrs0z7QZHg6Qx73lj(%GFrITBnSXIi5kKY literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_maxthon.gif b/images/user_agent/icon_maxthon.gif new file mode 100644 index 0000000000000000000000000000000000000000..69b8200ff2e40315840e267a977780665e803a65 GIT binary patch literal 700 zcmV;t0z>^rNk%w1VG;lm0OkMyA3&WWhu{A*%+>JlT8z)4)bC1Rub;Z#i>K9tz}zci zxbX7u(dFuNsNH<8!drN>GE%3W#?v5h$yO&7aKTHS$mg@%>MKR0+vD%M&E|Z$&4;DbC4bkw=k`f? z!_49Kbfehg>+L{w!a-iU!`=0Ny6oZp{+YVR=l}jAQL0aDz=yo%u-5hP`1&hcuo_9F zlEB?*jm>SQ-AtC?`uzG*bie>)-G7#Mtn@(AVhd>WaSHeYfOYgTp3l!zE0lu+-;CYPFZF)U3?n+~@RUh{SiV z<(9O;KW@8yz0{<^%+Kfc_W%FW@cH@r{7PxR;P^mj z&Dz5vt6iQ5iVH$HYL9Hn_JUa0p%DyrLqlI+0B{e1TMTFhB{eo{fE5aUT0ePnPazHs zIej*5OFo+mFb@qyV;5{^Ls9@13aS$YHjM`iL^vxxd0Pky0=z4Vu42R!1Pw8{4^zn< K77ZcE5db?c_gp6c literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_myie2.gif b/images/user_agent/icon_myie2.gif new file mode 100644 index 0000000000000000000000000000000000000000..08cac83a0580d2726a74d4f7e481689dcd9fecbd GIT binary patch literal 444 zcmV;t0Ym;rNk%w1VG;lm0M!5h?C|X4ziNlO zdxMQMdB`Vz)*pD#6?4xBXT%6=%Ls1H2WrekT!m3_u0(5+QgoRpak@NWs~Bdx24TB0 zTBsCOrw3fQ22-aoWSuQel?Y6iBR-QWJBb}MiyAkG0yd30O>rYCd=N2m94C1NC~P7) zUkNB&A^8Le2mk^AEC2ui01^Na000KrK!H$*XsJ{!84WRP3J@ks1rm{5I;|VCiP%sc z)X61-@vLy$=LQ@emp>pDT4(1v9dlBef=O6|K9yza%3p zI~yHk76iHk$e1D{FgXY=dMPL;E+{B4CMYo?wM-@}AR{8z@9yz4K14JuBl-IKFh6Ms mH(*@b7i@+hbjU_xSt#{r~^}ms*LMtdWG&49AEH)z_D;5zU6A&2*0uuoN z4gdfIA^8Le2mk{BEC2ui01^Na000L0z=2TMVBvPV8>=yF3SGGtY2zWaaxaB*aH~x> zV6ca#V-CBr56HuAw`{tEkX4(RG#ilqV$qmpHZB7SHZn3M2mlrx9UKb_Co(fR4G}Xj zF(?ZM02d)578WR&H7hPCCnks&2L%}+6c!&QqcAihY9I$46a@zv3=SY4BPcdBA{`eO z1r-wv1P2TZ7@s0EEF&4t1rpv11O*Hk)gvzvG93&H00q7W1OWvL6d^Gs11Sa#4ge)R zKLY;10fR+}ECNdC@Iep;4}lPSuo!~lA;gP2a5#YhLkB>CJ#@T)v1Nb?77!woC=nq7 Sixnk@Kv+R@MT9Lu0029vH>i35 literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_netsprint.gif b/images/user_agent/icon_netsprint.gif new file mode 100644 index 0000000000000000000000000000000000000000..42577e4e5cde96be7bd2ad2aaff023eec2456fa8 GIT binary patch literal 911 zcmV;A191FDNk%w1VMYKF0M!5h$F#xe+u85(^Y{7q`}_O<|NrOe>)7Y`%+>Gn=F-j1 z)SAfYv&{0g%l5m((Vo5NsJrK`wbGfU&5W4N@y)OJ#E|o}iN~_A&#RK7nVhhwtcQ}b zafiuofR%TKuZ47oZ+**8V4Q1sty*oXY;~7NSCTkOq&G>A3mtwOjbeFaENdoo6Q5FULfHFgp! zcoislA^8Le2ml2DEC2ui07d{3000L5z=Ci{EEjEW zdwMP}lU;Q=g+dA}Fq1M}IWZU#HaL?xUO6iaNtt1rG?g*CGq5Z|7^N~S7%nw3pc)xA z$TKlEEf)>b4M~``N4Rzc7q~Mk1qv}rSqu*laR~MY*VqLvIJp%C z=El(g2jB(`LVjYrkdY2Thkkal#F-!>M2Ha-M{p2<5kZ6v8$L?#u))Cu4qQ77Q3bm~g^JilZS?s8I3ahl&v+l&1JmqQ?mmQ>Us( z;UNTy6CNV)^Cv_DO_uCHxyZn_Er6a7fyx=-R3pb7KSGE&!6U^EA1X?S*x+G8hp8U+ z`Y7tdM~@9-X~;A?V<5{KuwVdSuwcQ12p1f{%{8k*1QI<^^gS`6#}Aby`rj)vl%L)W{AcJ&Rga(1Sz`(H>(PQ0*!0}V*;t`wu;Y83T0(!(T4+MZp6o(doLg0Wz3h-G#1Qc$d lk1cQrIw&>NWMNG{;dHQpqK}FZR2+hS8q}x^bgD-X06SVkgHr$i literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_next.gif b/images/user_agent/icon_next.gif new file mode 100644 index 0000000000000000000000000000000000000000..39d5144835ec45a79207cd8c6f61479c21b56660 GIT binary patch literal 272 zcmZ?wbhEHb6k-r!IKsfd!_A{J*QQTbMmAK%M@mFPMP$m9DJ@kZp`jtmrt#~GiCnQ$ zxpQ15Axg%_i097jJGHenJxx3p*mJgS+4AS#pB_G+Bb)eaZESu& z0*XIbI5`+Z7{G!cI~iDe6;!*#1Ln9ajC5a|sT``q&7e`5^p?{gPAZDGe1nDGG&WD; z!-567?)q`2Tw^%Yag@zM$uF$6H|)mL>gmE=)y6ORSSP;~NnkgcT4Q&ZjpbEcDHoS$ zQc`U_V_}SFZAU{-UrZP41cu&8^=7loX4It{`}TdMD~D8|4@YxSD>%2J`L Mmz%9uQe?0O024h~X#fBK literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_omniweb.gif b/images/user_agent/icon_omniweb.gif new file mode 100644 index 0000000000000000000000000000000000000000..aaadd5afa67d5c952466a0764f11d58555f410fb GIT binary patch literal 1105 zcmV-X1g`r>Nk%w1VG#fl0QUd@a*?WQ!S;y7?KOMW9c0j4we{8K`ASrZn&J6EhuS1( z$ZmL(jgXlmYSX#b@<@5a2|A{S%J8+ey)%K`W_hx<$>d9;>w}WTs>SFyJZNIN^moGU z!`JOzXp_y&(Yw6Bgt_M=Sh$wF<~xhylim4))cM5g{F>AAlE~}|BzdK#s?F~DH(01O zX1kKp^IK%7tmFHanW1c>+&6W}o!a!q-0})Dno_Cm*6{m`(DDrwQwk}EQJv>QlIC{G z`G=#}980T>+WAY6+i1S^D=%JiyzRBc*rDb5P*QjsSGo&Jycr{BWQNA6tFaYZ%L^N3 zN|WK8w%ROm)Jk5VYP9NDg2OL($%-n?78OrIYfsjLzI=R)_SVo7&eWu zsYVxrMKB+vF&2C@-KYeq1EyWL$Z8>lzEoGa>V({%FU+R^h}@Xb-D7Mps6f& z*-@nJ5LCq#OS46s>8jiH!NJ3FipF}r>zv#9CrqU0_x*;GzC&xd#Kp*6tmd@f^`_JD zZn^7is^O#F`h2wHS8}@#QNd1}!(yxC7+=k^yU=p5wv}X%;57rk>wICgEoob!|C>cim`~+_@&|Z&(G3EmgtwN%4MVE zJA~eX(DAI__FbdmrK!O~fzUH-)MdBpyT|fWukI38$dT6hG+(m1;`cz8=Az8+RHx+` zThtX;!^gG@`l z+BiRUcDUxr?)-bW>3@#Wi=fU+m*;Q2=4P_d=TS9YUNnX~almun0b{8zEbu*7$3+@s7LXV5I5E z>i8vY*Z=?jA^8Le2mt>8EC2ui01*HZ000R70RIUT7-NANFMeY28p!ZpD0JXB)TqV* z1Go+g8OB2QBc20RtZHEJlE;&pf$GvBx+LPx9T9_${iwnsUB-0u{zy8sh{lOUCk|C1 zMlW3-KkIZ>V0Z}%FdV} z@~~jJvjxVU9E5Ob!*Hh64GnBc1R+tZ8#Qx{a*V+6kCEp9n`R@R0n5Y|8bx*qtTAT{ z@E{0|9D&uXSdmez267NH#D}cevsN#-DW$JQ!$@K@gx<90L;z<-8fL-9U=5{0g}$r- X5JQ52hW}*I#s>rv*hUr%1q1*)SASyU literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_opera.gif b/images/user_agent/icon_opera.gif new file mode 100644 index 0000000000000000000000000000000000000000..5a33c73ef025e6766e7eaa7ac2956c71b803e9cf GIT binary patch literal 323 zcmV-J0lfZ4Nk%w1VH5xo0K@G}8f|NsB?($Lh;(9gfXxx2#4oSX5p zuJw_Gmz<`lsIabzi;a_=jE|aoeuwBrKKg4@(sOgoQ&gL7Zj4e==sq^eF*1}E7q}`b zsumfw7a4L?S9c^NA^8Le2mk~CEC2ui02BZc000HRAR&&ULS@@lDP%h)8^?X0rWWq# zY~7ZK7fmOFa~U$34rO%sbd)*AM3P~RJe*!}6i6r*lP$rL?fgiG%0gisk)KOaB7>0t zT8?rBzd=?EBzaGJ0Sycc7kUj1fCMloe+&>14T2pN4G<3u1`c!?n3E8PLYEB>q8?xv z3kaft1OWyO78f2D7TN?M06ScjdEfv5 literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_qnx.gif b/images/user_agent/icon_qnx.gif new file mode 100644 index 0000000000000000000000000000000000000000..b1b115ebd156bc72691a6a5c492f56f7e9587dca GIT binary patch literal 379 zcmV->0fhcXNk%w1VLbp60HOc@0x~j&ii*O<#$sk_>FMeI{{E(_s@B%nA^8Le2ml2D zEC2ui06hQ_000C2Sh`~IVZdj^x;QJsJHK9dMUr6(Xk!jipuI{oMaDwRq+1Bm5&oS+ z1eOT^00xgRaNs372Ef2_ko=mcgD)f@E{sP&Ae8e6q?W<}An+L0;p5=Rc?V4R^f!KF zdhTW{X;A=M1ZR9wYlc-7DRz5vD1-xsA#YO)aE4%Ul|pSDVEgqP7IHwH#}ewmdotVRQsSEZ5G+H(S^}NKX!$o}mYi#M@Q`4ktHUrqmvYfc#K+Vr ziWn2M8-_vV%EJa6J=IX~CZnfo<~VfYBW|URL)fqhIB=nf0~`<>6;Ot<ICTGVmEF0iS@6z#>ot!~%qXz>+zlR1(Fa zFyR863l5%Hn6&Q02c~B-lbmxVKmwX3n8u0mVGL=eagBj7!D>)LAY8s=HZ!290YsXn zkw%O$`k#(X`&I|l(>^O(KT+-9*wu646OKq>Z2fs6;HsAlBXnAwu3Wru|GdK>JAbB! zC^dR`_f%q2i>&O8&9h;xe{X@pMPAsCEppR zpyCd9`k(3(?y1q_0mXRY_vv15E)q%7%lPXY?ad|?mooEimge$?-X3^AbF9-Rh36#7 zx%9OUuVjz@Nb>BF3x#{iss5eU^>2Bx#0RMHxcJ@X?V{lSn%X)#>Nz~6v$x@0uKw%m z^<`x5EG_CzPpz2A{3a-znVJ8w*8D|C(jOt|fP>I~h4Rwk_BuPjrl{Sr#`sK1xo>gN zGBKZjzWo3H|5sP=A^8La6aXFoEC2ui01^Na000HdpeKq5)f}i$C}XP#D9X)8gSDP@ z%5#H65dmeSIL&4c&JVZ&AVieoWBL#P9YMfDVL5Q9Q$WGt=tKw)00jdExB;0?C*aTl z4x58UgGx6X0SRV7NfZ!=5EY6Dfr3C7i5m-(9~BT84hac#Kp&nP6B7fY6Bz-goDiWC z7^AKga&lN11`G@m7NVmIa~)U_w6+Wd9u&KBKoJNF!Uhs73KA7$i66oY2H8&{77h>w hq0QM6Hy#QR77Cyfw%Oy`I35HW5*PLx7%U?p06U+Zed+)J literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_solaris.gif b/images/user_agent/icon_solaris.gif new file mode 100644 index 0000000000000000000000000000000000000000..37878a6948fadbe667986b9b106542e3c4d19c79 GIT binary patch literal 420 zcmV;V0bBk@Nk%w1VH^Mw0M!5h{Qms>`uzO%^z`=h^z!uV>h%2X?ELEN^y1{?=IrF+ z?A+eu)Yjzm+T8Ts-1OGe^v1;W%FOi6%LeolVJKD(!rTXJ3Ue&B1%R?A3r7lZ2%-C0VF0nBaKNT zHYXtu0wI<|G(Cc2BsD%iI!h!vVpt?MB~S>hSf2m|3Je*$yt@<(3kgZP8!0R>GBPkL z92phB3DMHgLK-VCGubmTDi;X@cmNtQ+S)4$;Y2Ov+7;aAV#n9u!+Tx$P!(ExPOoNsGc>n)U z|Nk`q{|^5cRA4=Bco$S(A^8Le2mlNKEC2ui01^Na000DbkV!d?d(WLRJ1angjTk^I zo}n66cDxQJ6{}zynIRllAR!}%O>imjFo+N7QMl2T#^qs%lU|m?Bgt_kH3fwwri&?j ziDI&ud0T2mhVWx*LvWGusr;cE$_)%aUu14Ge05?YG9NK}Vv93`L698%F*qbDSHuyDq$GB8U%!CC zXF_1@K7;^4*eM{FOQ$E-G6t1~&fri|*aik?&F})V1UAozGT8Fmty>GYWo?Wj`H~9Q z=wd{GA}a!bA6Z0OHzQqWazQRB1`8ZVl|djYb5#@th>#s8p&Ua1 zVWxv0U|AoLL|h*QQfd?ev1&X+w5d!z$~2eD&J!Cv&(4g~(_28+K8yuc6$t=4taxAA literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_windows_98_nt_2000.gif b/images/user_agent/icon_windows_98_nt_2000.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0d7d1f26d638ffb1a4e9f3b8255ae25d8e96c78 GIT binary patch literal 790 zcmV+x1L^!nNk%w1VHW@r0OkMy_wwoZ`1Sq${rdX)_4oSv_4D)e^z8EXlnv==9y@>D%A&)8FXC)aS|C?(FB+_UGE{-qG^g%I(+0%+1o#($n4D+{wnp z!^6X{z}>#W%A~v4l&R8(pTN(?z3tGs;<1hAzN5*$xv-;~xVgEktgMEdzmb)Xm6w-= zg@uicj&YL2Ym&oShs9Qf#c_|lXO6s0aIJBDjznaRLu8UYW0Tyae$ke6*N0A}qHU10 zUyZk1@W}w{#{}240L7;Rs*wt@l>(T719p^9X^2PBeoD!CN|a_u z6)hzT0R|8j791TM9TXE37!nE*4-5$i2nq@c0|E&O1qB2I1OfsEA^8Le2mk^AEC2ui z02crf000O6fC7Spgo7wjT5N4?U515)EM0njeSCg?e}8%cC<0j;ET9}NQ*C!^cxGmP zR!3H7erX-iB_P<%)~KSzFX7Xl>$2^tj~Cn8;JN={8sf5XLoZ-NvP zIwMIJNjs<2*M3MoKE`$<0v81U6c!03B3xcc*4XRYb_9)}pu@tB3p{q@v7_Wk88d&* zoFOyDj~y2R9MG#!!h#MHU9hCt!-tNaIdkw}io-y_l?+i}rl7LRPMR+@aQG<_BnXi{ zZW;(eu|i51DSN80(LzH;j2wK500A-t=mP;C1YCuX!Gi}jabU!dfg|eFs@()N_#okh zgcx)o>V$#ew5(LBecnV6uvaZ#3~AIfjdA0T5g|d)3WCr8goGIqV5rEW#>N*haQ^Jc zgJ+H(H!TEkKp;Q?1OXjTbOE#G&m}*4`ds4UMvxQ^TT*m!kp|42I$*M_;4o+d3odH} U4amS@#S|B8T4+h}s8ApPJ0zD{qW}N^ literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_windows_vista.gif b/images/user_agent/icon_windows_vista.gif new file mode 100644 index 0000000000000000000000000000000000000000..66f9d849d5fbf57705a0582df43f6ed938da6c8b GIT binary patch literal 1340 zcmWlY{ZA7I06@!Hpv+T?o+z_!Hr_T2WkGhy5Kji>EK(~Xp3F2CgnD7vTpETaBD*wF zDlW}gSgj1nS+sT-n+s#ul!V+2vdToy%EyH`av=&G)1@;^%Ve%GbMGH`zr0skrqAD5 zn<>kb{ce%HSAdf~B(2f`ctyCy16z&ZSr4N}z?L9n!Wl0I)_G_jg%@Io6^9Hs<_wBc zqS3{GE}j||fjWQej~F|Ov5g4k3!7RzYYR!F+QAKnV?Ib#%>V`pZ0F%B+CPSSoR~Bx zf&J02NsHDwwC*s_$gxh8Y-i(t$EkoAj7UJAlyBozE@5d{3+TysKa`lkAsvxwVvJ7Y z<8lgX^Z?yL;vT%VfME0(Xb;0yy4mfQ8d1#d=f?!pLJD&+MHK_vIM5y>%qVCe!!uFX z%Ds3ICkKTZI}7M2rI`gP>HKOMbJB1VM|X4KF@f$!K+FMoMJ~kqZ;5NIeyK&P){%k_ zPBqZn7!_TNiWU^Mu+bifaB_(^2`VH4Zc$xG1Pxf0fdsBdhz$j8JR1lq>R5IdM+`XL zNDy7YrRQGI z80JR&VQqTiSz7Z`&h;*=Slh zon1}>7FL>%YTMbw6bhGyY2{ z*N!@BCvO~{KXNB&pjffH?JlKSv$&w>K6>AjqdD;eJEKmX%Z!)@n2wrb_Fpv@pLOQ$ z`>FfenbEA<-kPsLBz?vFu)F!MIc)Mm%EV`-DZu$=L2)|wWI|zD^-)m~pWWtuv%f%h zUn$Q!S+zk`PkRjjHeT=~(Di3})}CysRi3+7xfP{zlxO7Y=={mj9pfXq zy_(kM^$$KTHWsJ0o*=$ZrH?#rXkY(ogFFf9eWZE-n6(2B3lGtqduozTCkf!=*ryLS zMpUZ(@NQx2yJ<)L*WTHJI@}ej%3{}a1p9%KhUmK=XJN7F*HHA5fzpBR4j0F{+sVLFX5Edv--wCgtZ%yF73fe!=e|!iSBzAm3UJHGLuENj W$BHvEmZnGhhElR)`;(GnyZ!^6S$voP literal 0 HcmV?d00001 diff --git a/images/user_agent/icon_windows_xp_2003.gif b/images/user_agent/icon_windows_xp_2003.gif new file mode 100644 index 0000000000000000000000000000000000000000..1e68d2c0841e303338732c3df39b6a60c5f9b657 GIT binary patch literal 468 zcmV;_0W1DTNk%w1VH5xo0M!5hw8D?=;yFgs zEIZf5%2w&8VEmX$n4U|yvUQxSbFP|f`_Loy$PtmxBbwPMjL{L%kstnrFXp=t)vE>6 zs|JOsJE)W|g1Q;DlmMB62z!!7X^a|lum@zB0L483uVzv1R{;HaBKc|!)JFl9egL*H z09AMdA^8Le2ml5EEC2ui02BZc000K@K!ecm@O)G|U1Z2?8g!rIj^}$A3Qepq0{!T6 zR0$0bxCS1f;Zd5q;YL3j?9@5IW~2_TJwHjoAk6|WW<8XFEFA~Q8GFfJmW z1{N2vvKt#CJue*)5FINWtQW4a7#tWcJuxgRBqc0q1_-?j78M#C5;8L8CFw1?vCzO9 z6w1Xwm+l3#3K + + + + Untitled + + + + +

+ + +

+ + diff --git a/images/wyzz.js b/images/wyzz.js new file mode 100644 index 0000000..5190db5 --- /dev/null +++ b/images/wyzz.js @@ -0,0 +1,696 @@ +/** +* @package Dynamic Script Forum +* @file wyzz.js +* @version 1.0.x, 19-10-2007, 18:03 +* @copyright 2008(c) DSF Team +* @author ------------------ +* @link http://dsf.gim2przemysl.int.pl/ +* @license GNU GPL v3 +**/ +// Editor Width and Height +wyzzW = 600; +wyzzH = 200; + +image_path = skin_path + 'images/'; +// Number of toolbars - must be either 1 or 2 +// If set to 1, the first tooolbar (defined in array buttonName below) will be ignored +toolbarCount = 2; + +// Edit region stylesheet +editstyle = skin_path + 'wyzz_editarea.css'; +// Do we want to try to clean the code to emulate xhtml? 1=Yes, 0=No +xhtml_out = 0; + +// Style Sheet +document.write('\n'); + +// TOOLBARS ARRAYS +// Order of available commands in toolbar +// Remove from this any buttons not required in your application +var buttonName = new Array("font","headers","separator","bold","italic","underline","strikethrough","separator","cut","copy","paste","separator","subscript","superscript","separator","justifyleft","justifycenter","justifyright","justifyfull","indent","outdent","separator","insertunorderedlist","insertorderedlist","separator","link","insertimage","separator","undo","redo"); + + +// Order of available commands in toolbar2 +// Remove from this any buttons not required in your application +var buttonName2 = new Array("specialchar","separator","forecolor","backcolor","separator","inserthorizontalrule","separator","removeformat","separator","upsize","downsize","separator","htmlmode","separator"); + + +var myFonts = new Array("Andale Mono","Georgia","Verdana","Arial","Arial Black","impact","Times New Roman","Courier New","Comic Sans MS","Helvetica","Trebuchet MS","Tahoma"); + +var specialChars = new Array("©","®","™","à","á","ç","è","é","ë","ì","í","ñ","ò","ó","ö","ù","ú","ü","£","¢","¥","€","“","”","«","»","•","—","…","¶","†","‡","×","÷","°","±","¼","½","¾","¬","<",">","Δ","λ","Φ","Ψ","Σ","∫","α","β","Ω","μ","π","θ","↔","∞","√","≈","≠","≡","≤","≥","¡","¿","♠","♣","♥","♦"); + +// DON'T MODIFY BEYOND THIS LINE unless you know what you are doing ////////////// +/********************************************************************************/ + +version = "0.62"; // Please leave this + +var Headers = new Array("P","PRE","H1","H2","H3","H4","H5","H6"); + +// Mode wysiwyg = 1 or sourcecode = 0 +mode = 1; + +// Get browser +browserName = navigator.appName; + +nlBefore = new Array("div","p","li","h1","h2","h3","h4","h5","h6","hr","ul","ol"); + +function h2x(node,inPre) { // we will pass the node containing the Wyzz-generated html + var xout = ''; + var i; + var j; + // for each child of the node + for(i=0;i'; + } else { + if(tagname == 'style'||tagname == 'title'||tagname=='script'||tagname=='textarea'||tagname=='a') { + xout += '>'; + var innertext; + if(tagname=='script') { + innertext = node.childNodes[i].text; + } else { + innertext = node.childNodes[i].innerHTML; + } + if(tagname=='style') { + innertext = String(innertext).replace(/[\n]+/g,'\n'); + } + xout += innertext + ''; + } else { + xout += '/>'; + } + } + break; + } +// else if(node.childNodes[i].nodeType == 2) { // for attribute nodes + +// } + case 3: { // for text nodes + if(!inPre) { // don't change inside a
 tag
+        if(node.childNodes[i] != '\n') {
+          xout += fixents(fixtext(node.childNodes[i].nodeValue));
+        }
+      } else {
+          xout += node.childNodes[i].nodeValue;     
+        break;
+      }
+    }
+    default: 
+      break;
+    }
+  }
+  return xout;
+}
+
+function fixents(text) {
+  var i;
+  var ents = {8364 : "euro",402  : "fnof",8240 : "permil",352  : "Scaron",338  : "OElig",381  : "#381",8482 : "trade",353  : "scaron",339  : "oelig",382  : "#382",376  : "Yuml",162  : "cent",163  : "pound",164  : "curren",165  : "yen",166  : "brvbar",167  : "sect",168  : "uml",169  : "copy",170  : "ordf",171  : "laquo",172  : "not",173  : "shy",174  : "reg",175  : "macr",176  : "deg",177  : "plusmn",178  : "sup2",179  : "sup3",180  : "acute",181  : "micro",182  : "para",183  : "middot",184  : "cedil",185  : "sup1",186  : "ordm",187  : "raquo",188  : "frac14",189  : "frac12",190  : "frac34",191  : "iquest",192  : "Agrave",193  : "Aacute",194  : "Acirc",195  : "Atilde",196  : "Auml",197  : "Aring",198  : "AElig",199  : "Ccedil",200  : "Egrave",201  : "Eacute",202  : "Ecirc",203  : "Euml",204  : "Igrave",205  : "Iacute",206  : "Icirc",207  : "Iuml",208  : "ETH",209  : "Ntilde",210  : "Ograve",211  : "Oacute",212  : "Ocirc",213  : "Otilde",214  : "Ouml",215  : "times",216  : "Oslash",217  : "Ugrave",218  : "Uacute",219  : "Ucirc",220  : "Uuml",221  : "Yacute",222  : "THORN",223  : "szlig",224  : "agrave",225  : "aacute",226  : "acirc",227  : "atilde",228  : "auml",229  : "aring",230  : "aelig",231  : "ccedil",232  : "egrave",233  : "eacute",234  : "ecirc",235  : "euml",236  : "igrave",237  : "iacute",238  : "icirc",239  : "iuml",240  : "eth",241  : "ntilde",242  : "ograve",243  : "oacute",244  : "ocirc",245  : "otilde",246  : "ouml",247  : "divide",248  : "oslash",249  : "ugrave",250  : "uacute",251  : "ucirc",252  : "uuml",253  : "yacute",254  : "thorn",255  : "yuml",913  : "Alpha",914  : "Beta",915  : "Gamma",916  : "Delta",917  : "Epsilon",918  : "Zeta",919  : "Eta",920  : "Theta",921  : "Iota",922  : "Kappa",923  : "Lambda",924  : "Mu",925  : "Nu",926  : "Xi",927  : "Omicron",928  : "Pi",929  : "Rho",	931  : "Sigma",932  : "Tau",933  : "Upsilon",934  : "Phi",935  : "Chi",936  : "Psi",937  : "Omega",8756 : "there4",8869 : "perp",945  : "alpha",946  : "beta",947  : "gamma",948  : "delta",949  : "epsilon",950  : "zeta",951  : "eta",952  : "theta",953  : "iota",954  : "kappa",955  : "lambda",956  : "mu",957  : "nu",968  : "xi",969  : "omicron",960  : "pi",961  : "rho",962  : "sigmaf",963  : "sigma",964  : "tau",965  : "upsilon",966  : "phi",967  : "chi",968  : "psi",969  : "omega",8254 : "oline",8804 : "le",8260 : "frasl",8734 : "infin",8747 : "int",9827 : "clubs",9830 : "diams",9829 : "hearts",9824 : "spades",8596 : "harr",8592 : "larr",8594 : "rarr",8593 : "uarr",8595 : "darr",8220 : "ldquo",8221 : "rdquo",8222 : "bdquo",8805 : "ge",8733 : "prop",8706 : "part",8226 : "bull",8800 : "ne",8801 : "equiv",8776 : "asymp",8230 : "hellip",8212 : "mdash",8745 : "cap",8746 : "cup",8835 : "sup",8839 : "supe",8834 : "sub",8838 : "sube",8712 : "isin",8715 : "ni",8736 : "ang",8711 : "nabla",8719 : "prod",8730 : "radic",8743 : "and",8744 : "or",8660 : "hArr",8658 : "rArr",9674 : "loz",8721 : "sum",8704 : "forall",8707 : "exist",8216 : "lsquo",8217 : "rsquo",161  : "iexcl",977  : "thetasym",978  : "upsih",982  : "piv",8242 : "prime",8243 : "Prime",8472 : "weierp",8465 : "image",8476 : "real",8501 : "alefsym",8629 : "crarr",8656 : "lArr",8657 : "uArr",8659 : "dArr",8709 : "empty",8713 : "notin",8727 : "lowast",8764 : "sim",8773 : "cong",8836 : "nsub",8853 : "oplus",8855 : "otimes",8901 : "sdot",8968 : "lceil",8969 : "rceil",8970 : "lfloor",8971 : "rfloor",9001 : "lang",9002 : "rang",710  : "circ",732  : "tilde",8194 : "ensp",8195 : "emsp",8201 : "thinsp",8204 : "zwnj",8205 : "zwj",8206 : "lrm",8207 : "rlm",8211 : "ndash",8218 : "sbquo",8224 : "dagger",8225 : "Dagger",8249 : "lsaquo",8250 : "rsaquo"};
+
+  var new_text = '';
+
+  var temp = new RegExp();
+  temp.compile("[a]|[^a]", "g");
+
+  var parts = text.match(temp);
+
+  if (!parts) return text;
+  for (i=0; i/g,">").replace(/\u00A0/g," ");
+  return temptext.replace(/#h2x_lt/g,"&alt;").replace(/#h2x_gt/g,">");
+}
+
+function fixatt(text) {
+  var temptext = String(text).replace(/\</g,"#h2x_lt").replace(/\>/g,"#h2x_gt");
+  temptext = temptext.replace(/\&/g,"&").replace(//g,">").replace(/\"/g,""");
+  return temptext.replace(/#h2x_lt/g,"&alt;").replace(/#h2x_gt/g,">");  
+}
+
+function indexOf(thisarray, value)
+{
+    var i;
+    for (i=0; i < thisarray.length; i++) {
+        if (thisarray[i] == value) {
+            return i;
+        }
+    }
+    return -1;
+}
+
+// Color picker - here we make an array of all websafe colors
+// If you want to limit the colors available to users (e.g. to fit in with
+// a site design) then use a restricted array of colors
+// e.g. var buttonName = new Array("336699","66abff", .... etc
+var buttonColors = new Array(216);
+
+// Colors - replace this function with your own if you have special requirements for colors
+function getColorArray() {
+// Color code table 
+c = new Array('00', '33', '66', '99', 'cc', 'ff'); 
+var count = 0;
+// Iterate red
+for (r = 0; r < 6; r++) 
+  { 
+    // Iterate green
+    for (g = 0; g < 6; g++) 
+      { 
+        // Iterate blue
+        for (b = 0; b < 6; b++) 
+          { 
+            // Get RGB color
+            buttonColors[count] = c[r] + c[g] + c[b]; 
+            count++;
+          } 
+      } 
+  }
+}
+
+getColorArray();
+	
+/* Emulates insertAdjacentHTML(), insertAdjacentText() and insertAdjacentElement() three functions 
+so they work with Netscape 6/Mozilla - By Thor Larholm me@jscript.dk */
+if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement) {
+  HTMLElement.prototype.insertAdjacentElement = function (where,parsedNode) {
+  switch (where) {
+    case 'beforeBegin':
+      this.parentNode.insertBefore(parsedNode,this)
+      break;
+    case 'afterBegin':
+      this.insertBefore(parsedNode,this.firstChild);
+      break;
+    case 'beforeEnd':
+      this.appendChild(parsedNode);
+      break;
+    case 'afterEnd':
+      if (this.nextSibling) {
+        this.parentNode.insertBefore(parsedNode,this.nextSibling);
+      } else {
+        this.parentNode.appendChild(parsedNode);
+        break;
+      }
+    }
+  }
+
+  HTMLElement.prototype.insertAdjacentHTML = function (where,htmlStr) {
+    var r = this.ownerDocument.createRange();
+    r.setStartBefore(this);
+    var parsedHTML = r.createContextualFragment(htmlStr);
+    this.insertAdjacentElement(where,parsedHTML)
+  }
+
+  HTMLElement.prototype.insertAdjacentText = function (where,txtStr) {
+    var parsedText = document.createTextNode(txtStr)
+    this.insertAdjacentElement(where,parsedText)
+  }
+}
+
+function closeColorPicker(thisid) {
+  document.getElementById(thisid).style.display = "none";
+}
+
+// the hyperlink dialog
+function insertLink(n) {
+  var newWindow = 'blank';
+  var linkurl = '';
+  var linktitle = '';
+  var targetText = grabSelectedText(n);
+  var linkurl = prompt(editor_lng2);
+  var linktitle = prompt(editor_lng3);  
+  if(newWindow==''||linkurl==''||linktitle=='') {
+    alert();
+    insertLink(n);
+  } else {
+    var hyperLink = '' + linktitle + '';
+    insertHTML(hyperLink, n);
+  }
+}
+  
+function insertImage(n) {
+  var imgurl = prompt(editor_lng4);
+  var imgtitle = 'image';
+  var theImage = '' + imgtitle + '';
+  insertHTML(theImage, n);  }
+
+function insertSmile(imgurl, imgtitle) {
+  if(mode==0) {
+    alert(editor_lng1);
+  } else {
+  var n = 'textedit'; 
+  var theImage = '' + imgtitle + '';
+  insertHTML(theImage, n); } }
+
+function make_wyzz(textareaID) {
+  
+  // Hide the textarea 
+  document.getElementById(textareaID).style.display = 'none'; 
+	
+  // get textareaID
+  var n = textareaID;
+	
+  // Toolbars width is 2 pixels wider than the editor
+  toolbarWidth = parseFloat(wyzzW) + 2;
+
+  var toolbar = '';
+  
+  // We only generate toolbar 1 if toolbarCount is set to 2
+  if(toolbarCount == 2) {
+    // Generate WYSIWYG toolbar
+    toolbar =  '';
+  
+    // Output buttons for toolbar
+    var colNumbers = 0;
+    for (btn in buttonName) {
+      colNumbers ++;
+      if(buttonName[btn] == "separator") {
+        toolbar += '';
+        } else {
+        toolbar += '';
+        }
+    }
+    toolbar += '
  
'; + } + + + // Generate WYSIWYG toolbar2 + var toolbar2 = ''; + + // Output buttons for toolbar2 + var colNumbers = 0; + for (btn in buttonName2) { + colNumbers ++; + if(buttonName2[btn] == "separator") { + toolbar2 += ''; + } else { + toolbar2 += ''; + } + } + toolbar2 += ''; + +// the foreground color picker + var swatchcount = 0; + toolbar2 += '
  
'; + toolbar2 += ''; + // the background color picker + toolbar2 += ''; + // the font picker + toolbar2 += ''; + // the special character picker + toolbar2 += ''; + // the header picker + toolbar2 += ''; + // Add extra popups here + // The help/about box + // The copyright and link must remain unaltered + toolbar2 += '
'; + +// Create iframe for editor +var iframe = '
\n' + + '\n' + + '
\n'; + + // Insert toolbar after the textArea + document.getElementById(n).insertAdjacentHTML("afterEnd", toolbar + toolbar2 + iframe); + + // Give the iframe the required height and width + document.getElementById("wysiwyg" + n).style.height = wyzzH + "px"; + document.getElementById("wysiwyg" + n).style.width = wyzzW + "px"; + + // Pass the textarea's existing text into the editor + var content = document.getElementById(n).value; + var doc = document.getElementById("wysiwyg" + n).contentWindow.document; + + // Write the textarea's content into the iframe + doc.open(); + if (browserName == "Microsoft Internet Explorer") { + doc.write('' + content); + } else { + doc.write('' + content + '
'); + } + doc.close(); + +// var browserName = navigator.appName; + if (browserName == "Microsoft Internet Explorer"||browserName == "Opera") { + // Make the iframe editable + doc.body.contentEditable = true; + } else { + // Make the iframe editable + doc.designMode = "on"; + } + + // Update the textarea with content in WYSIWYG when user submits form + // var browserName = navigator.appName; + if (browserName == "Microsoft Internet Explorer"||browserName == "Opera") { + for (var idx=0; idx < document.forms.length; idx++) { + document.forms[idx].attachEvent('onsubmit', function() { updateTextArea(n); }); + } + } + else { + for (var idx=0; idx < document.forms.length; idx++) { + document.forms[idx].addEventListener('submit',function OnSumbmit() { updateTextArea(n); }, true); + } + } +} + +function formatTextColor(color, n, selected) { + document.getElementById('wysiwyg' + n).contentWindow.document.execCommand('forecolor', false, color); + document.getElementById('colorpicker' + n).style.display = "none"; +} + +function formatBackColor(color, n, selected) { + if (browserName == "Microsoft Internet Explorer") { + document.getElementById('wysiwyg' + n).contentWindow.document.execCommand('backcolor', false, color); + } else { + document.getElementById('wysiwyg' + n).contentWindow.document.execCommand('hilitecolor', false, color); + } + document.getElementById('colorbackpicker' + n).style.display = "none"; +} + +function formatFontName(fontname, n, selected) { + document.getElementById('wysiwyg' + n).contentWindow.document.execCommand('fontName', false, fontname); + document.getElementById('fontpicker' + n).style.display = "none"; +} + +function formatSpecialChar(charname, n, selected) { + insertHTML(charname, n); + document.getElementById('specialpicker' + n).style.display = "none"; +} + +function formatHeader(headername, n, selected) { + document.getElementById('wysiwyg' + n).contentWindow.document.execCommand('formatBlock', false, '<'+headername+'>'); + document.getElementById('headerpicker' + n).style.display = "none"; +} + +function formatText(id, n, selected) { + if(mode==0&&id!='htmlmode') { + alert(editor_lng1); + } else { + // When user clicks button make sure it always targets correct textarea + document.getElementById("wysiwyg" + n).contentWindow.focus(); + if(id=="upsize") { + var currentFontSize = document.getElementById("wysiwyg"+n).contentWindow.document.queryCommandValue("FontSize"); + if(currentFontSize == ''||!currentFontSize) currentFontSize = 3; // fudge for FF + if(currentFontSize < 7) { + var newFontSize = parseInt(currentFontSize) + 1; + } else { + var newFontSize = currentFontSize; + } + document.getElementById("wysiwyg" + n).contentWindow.document.execCommand("FontSize", false, newFontSize); + } + else if(id=="downsize") { + var currentFontSize = document.getElementById("wysiwyg"+n).contentWindow.document.queryCommandValue("FontSize"); + if(currentFontSize > 1) { + var newFontSize = currentFontSize - 1; + } else { + var newFontSize = currentFontSize; + } + document.getElementById("wysiwyg" + n).contentWindow.document.execCommand("FontSize", false, newFontSize); + } + else if(id=="forecolor"){ + if(document.getElementById('colorpicker' + n).style.display == ""){ + document.getElementById('colorpicker' + n).style.display = "none"; + } else { + document.getElementById('colorpicker' + n).style.display = ""; + } + } + else if(id=="backcolor"){ + if(document.getElementById('colorbackpicker' + n).style.display == ""){ + document.getElementById('colorbackpicker' + n).style.display = "none"; + } else { + document.getElementById('colorbackpicker' + n).style.display = ""; + } + } + else if(id=="font"){ + if(document.getElementById('fontpicker' + n).style.display == ""){ + document.getElementById('fontpicker' + n).style.display = "none"; + } else { + document.getElementById('fontpicker' + n).style.display = ""; + } + } + else if(id=="specialchar"){ + if(document.getElementById('specialpicker' + n).style.display == ""){ + document.getElementById('specialpicker' + n).style.display = "none"; + } else { + document.getElementById('specialpicker' + n).style.display = ""; + } + } + else if(id=="headers"){ + if(document.getElementById('headerpicker' + n).style.display == ""){ + document.getElementById('headerpicker' + n).style.display = "none"; + } else { + document.getElementById('headerpicker' + n).style.display = ""; + } + } + else if(id=="htmlmode"){ + var getDoc = document.getElementById("wysiwyg" + n).contentWindow.document; + if(mode == 1) { + if(navigator.appName == "Microsoft Internet Explorer"||browserName == "Opera") { + var iHTML = getDoc.body.innerHTML; + getDoc.body.innerText = iHTML; + } else { + var html = document.createTextNode(getDoc.body.innerHTML); + getDoc.body.innerHTML = ""; + getDoc.body.appendChild(html); + } + getDoc.body.style.fontSize = "12px"; + getDoc.body.style.fontFamily = "Courier New"; + mode = 0; + } else { + if(navigator.appName == "Microsoft Internet Explorer"||browserName == "Opera") { + var iText = getDoc.body.innerText; + getDoc.body.innerHTML = iText; + } else { + var html = getDoc.body.ownerDocument.createRange(); + html.selectNodeContents(getDoc.body); + getDoc.body.innerHTML = html.toString(); + } + mode = 1; + } + } + else if(id=="help"){ + if(document.getElementById('helpbox' + n).style.display == ""){ + document.getElementById('helpbox' + n).style.display = "none"; + } else { + document.getElementById('helpbox' + n).style.display = ""; + } + } + else if(id=="link"){ + // var browserName = navigator.appName; + if (browserName == "Microsoft Internet Explorer") { + var target = confirm('Should this link open in a new window?\n\nOK = Open in NEW Window\nCancel = Open in THIS window'); + document.getElementById("wysiwyg" + n).contentWindow.document.execCommand('createLink',true,' '); + if(target == true) + { + document.getElementById("wysiwyg" + n).contentWindow.document.selection.createRange().parentElement().target="_blank"; + } + } else { + insertLink(n); + } + } + else if(id=="insertimage") { + // var browserName = navigator.appName; + if (browserName == "Microsoft Internet Explorer") { + document.getElementById("wysiwyg" + n).contentWindow.document.execCommand(id, true, null); + } else { + insertImage(n); + } + } + else { + document.getElementById("wysiwyg" + n).contentWindow.document.execCommand(id, false, null); + } + } +} + +function insertHTML(html, n) { + // var browserName = navigator.appName; + if (browserName == "Microsoft Internet Explorer") { + document.getElementById('wysiwyg' + n).contentWindow.document.selection.createRange().pasteHTML(html); + } + + else { + var div = document.getElementById('wysiwyg' + n).contentWindow.document.createElement("span"); + + div.innerHTML = html; + var node = insertNodeAtSelection(div, n); + } +} + +function insertNodeAtSelection(insertNode, n) { + // get current selection + var sel = document.getElementById('wysiwyg' + n).contentWindow.getSelection(); + + // get the first range of the selection (there's almost always only one range) + var range = sel.getRangeAt(0); + + // deselect everything + sel.removeAllRanges(); + + // remove content of current selection from document + range.deleteContents(); + + // get location of current selection + var container = range.startContainer; + var pos = range.startOffset; + + // make a new range for the new selection + range = document.createRange(); + + if (container.nodeType==3 && insertNode.nodeType==3) { + + // if we insert text in a textnode, do optimized insertion + container.insertData(pos, insertNode.nodeValue); + + // put cursor after inserted text + range.setEnd(container, pos+insertNode.length); + range.setStart(container, pos+insertNode.length); + } + + else { + var afterNode; + + if (container.nodeType==3) { + // when inserting into a textnode we create 2 new textnodes and put the insertNode in between + var textNode = container; + container = textNode.parentNode; + var text = textNode.nodeValue; + + // text before the split + var textBefore = text.substr(0,pos); + + // text after the split + var textAfter = text.substr(pos); + + var beforeNode = document.createTextNode(textBefore); + afterNode = document.createTextNode(textAfter); + + // insert the 3 new nodes before the old one + container.insertBefore(afterNode, textNode); + container.insertBefore(insertNode, afterNode); + container.insertBefore(beforeNode, insertNode); + + // remove the old node + container.removeChild(textNode); + } + + else { + // else simply insert the node + afterNode = container.childNodes[pos]; + container.insertBefore(insertNode, afterNode); + } + + range.setEnd(afterNode, 0); + range.setStart(afterNode, 0); + } + + sel.addRange(range); +} + +function updateTextArea(n) { + if(xhtml_out == 1) { + document.getElementById(n).value = h2x(document.getElementById("wysiwyg" + n).contentWindow.document.body); + } else { + document.getElementById(n).value = document.getElementById("wysiwyg" + n).contentWindow.document.body.innerHTML; + } +} + + +function grabSelectedText(n){ + // var browserName = navigator.appName; + var selectedText = ''; + // for IE + if (browserName == "Microsoft Internet Explorer"||browserName == "Opera") { + var theText = document.getElementById("wysiwyg" + n).contentWindow.document.selection; + if(theText.type =='Text') { + var newText = theText.createRange(); + selectedText = newText.text; + } + } + // for Mozilla/Netscape + else { + var selectedText = document.getElementById("wysiwyg" + n).contentWindow.document.getSelection(); + } + return selectedText; +} diff --git a/includes/admin/class_forum.php b/includes/admin/class_forum.php new file mode 100644 index 0000000..f795ae7 --- /dev/null +++ b/includes/admin/class_forum.php @@ -0,0 +1,38 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if ( !defined('IN_uF') ) +{ + die('Hacking attempt'); +} +class Admin_Forum +{ + function AddCats($fid) + { + global $forum_config; + $cat = Forum::ForumInformation($fid,'c_id'); + $all=''; + $query = DataBase::sql_query("SELECT `name`, `c_id` FROM `".CATS_TABLE."`",'GENERAL','Could not obtain category information'); + while($t = @mysql_fetch_array($query)) + { + + if ($t['c_id']==$cat) + { + $all .= ''."\n"; + } + else + { + $all .= ''."\n"; + } + } + return $all; + unset($t, $all); + } +} +?> diff --git a/includes/admin/class_main.php b/includes/admin/class_main.php new file mode 100644 index 0000000..6dad0dc --- /dev/null +++ b/includes/admin/class_main.php @@ -0,0 +1,160 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if ( !defined('IN_uF') ) +{ + die('Hacking attempt'); +} +class Admin_Over +{ + function AddPages() + { + global $count; + global $page; + $content = ''; + for ($i=1;$i<=$count;$i++) + { + if ($i==$page) + { + $content .= ''; + } + else + { + $content .= ''; + } + } + return $content; + unset($content); + } + function AddSkins() + { + global $forum_config; + global $default_skin; + $all=''; + $query = DataBase::sql_query("SELECT `name`, `s_id` FROM `".SKINS_TABLE."`",'GENERAL','Could not obtain skins information'); + while($t = @mysql_fetch_array($query)) + { + + if ($t['name']==$default_skin) + { + $all .= ''; + } + else + { + $all .= ''; + } + } + return $all; + unset($t, $all); + } + function AddPages2($page)//for edit profile, not used in limit! + { + $content = ''; + for ($i=1;$i<=50;$i++) + { + if ($i==$page) + { + $content .= ''; + } + else + { + $content .= ''; + } + } + return $content; + unset($content); + } + function AddLangs() + { + global $forum_config; + global $default_lang; + $result=''; + $rep=opendir('./../lngs'); + $bAuMoinsUnRepertoire = false; + while ($file = readdir($rep)) + { + if($file != '..' && $file !='.' && $file !='') + { + if (is_dir('./../lngs/'.$file)){ + $bAuMoinsUnRepertoire = true; + if ($file==$default_lang) + { + $result .=''; + } + else + { + $result .=''; + } + } + } + } + return $result; + unset($rep, $bAuMoinsUnRepertoire, $file, $result); + } + function ViewSkinName() + { + global $forum_config; + if ($_SESSION['uid']>0) + { + $result = User::UserInformation($_SESSION['uid'],'skin'); + $sql = "SELECT * FROM `".SKINS_TABLE."` WHERE `s_id`='$result'"; + $result = mysql_fetch_array(DataBase::sql_query($sql,'CRITICAL','Could not obtain skin information.')); + return $result['name']; + } + else + { + $result = $forum_config['defaultskin']; + $sql = "SELECT * FROM `".SKINS_TABLE."` WHERE `s_id`='$result'"; + $result = mysql_fetch_array(DataBase::sql_query($sql,'CRITICAL','Could not obtain skin information.')); + return $result['name']; + } + } + function DefaultLang() + { + global $forum_config; + if ($_SESSION['uid']>0) + { + return User::UserInformation($_SESSION['uid'],'lang'); + } + else + { + return $forum_config['defaultlang']; + } + } + function TotalTopics() + { + $sql = "SELECT `t_id` FROM ".TOPICS_TABLE.";"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain total posts information'); + $result = mysql_num_rows($query); + return($result); + } + function TotalPosts() + { + $sql = "SELECT `p_id` FROM ".POSTS_TABLE.";"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain total posts information'); + $result = mysql_num_rows($query); + return($result); + } + function GenerateHeader() + { + global $default_skin; + global $lng; + echo ' + + + + + + DSF Administration + + +
'.$lng['uf_pa'].'
'; + } +} +?> diff --git a/includes/admin/index.html b/includes/admin/index.html new file mode 100644 index 0000000..408e221 --- /dev/null +++ b/includes/admin/index.html @@ -0,0 +1,15 @@ + + + + + Untitled + + + + +

+ + +

+ + diff --git a/includes/cache/cache_forums.php b/includes/cache/cache_forums.php new file mode 100644 index 0000000..feba837 --- /dev/null +++ b/includes/cache/cache_forums.php @@ -0,0 +1,83 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if(!defined('IN_uF')) +{ + die('Hacking attempt'); +} +//cache forums and posts - version v1.0 Alpha 2--------------------------------- +$default_skin = Over::ViewSkinName(); +$sql = "SELECT `name`,`lock` FROM ".FORUMS_TABLE." WHERE `f_id`='$fid' LIMIT 1"; +$result = @mysql_fetch_array(DataBase::sql_query($sql,'GENERAL','Could not obtain forum information')); +if ($result['name']=='') +{ + message_forum($lng['no_forum'],'index.php'); +} +$forum = array( +'name'=>$result['name'], +'lock'=>$result['lock'] +); +$sql = "SELECT COUNT(*) as `p_id`, `t_id` FROM ".POSTS_TABLE." GROUP BY `t_id`"; +$query = DataBase::sql_query($sql,'GENERAL', 'Could not obtain amout of posts in forum'); +while($result = @mysql_fetch_array($query)) +{ + $count_topic[$result['t_id']]=$result['p_id']; +} +$sql = "SELECT ".POSTS_TABLE.".*, ".USERS_TABLE.".* FROM ".POSTS_TABLE." LEFT JOIN ".USERS_TABLE." ON ".USERS_TABLE.".u_id = ".POSTS_TABLE.".u_id WHERE `f_id`='$fid' ORDER BY `ptime`"; +$query = DataBase::sql_query($sql,'GENERAL', 'Could not obtain amout of posts in forum'); +while($result = @mysql_fetch_array($query)) +{ + $lastpost[$result['t_id']]['tp_id']=$result['tp_id']; + $lastpost[$result['t_id']]['u_id']=$result['u_id']; + $lastpost[$result['t_id']]['time']=$result['ptime']; + $lastpost[$result['t_id']]['user_nick']=$result['nick']; + $lastpost[$result['t_id']]['user_rank']=$result['rank']; +} +// +//generate output pages +// +if ($_SESSION['uid']>0) +{ + $limiter = $userdata['limit_ftid']; +} +else +{ + $limiter = $forum_config['limit_ftid']; +} +if (isset($_GET['page'])&&($_GET['page']!=1)) +{ + if (!is_numeric($_GET['page'])) + { + die('Hacking attempt'); + } + $value = ($_GET['page']-1)*$limiter; + $limit = 'LIMIT '.$value . ', '.$limiter; + $page = $_GET['page']; +} +else +{ + $limit = 'LIMIT 0, '.$limiter; + $page=1; +} +$count = @mysql_fetch_array(DataBase::sql_query("SELECT COUNT(`t_id`) as `t_id` +FROM ".TOPICS_TABLE." WHERE `f_id`='$fid'",'GENERAL','Could not obtain count amout of topics')); +$count = $count['t_id']; +$count = ceil($count / $limiter); +if ($count==0) +{ + $count +=1; +} +if(isset($_GET['page']) && ($_GET['page']>$count)) +{ + message_forum($lng['invalidpage'],'index.php'); +} +// +//end generating pages +// +?> diff --git a/includes/cache/cache_index.php b/includes/cache/cache_index.php new file mode 100644 index 0000000..3249758 --- /dev/null +++ b/includes/cache/cache_index.php @@ -0,0 +1,48 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if(!defined('IN_uF')) +{ + die('Hacking attempt'); +} +// +//cache forums and posts - version v1.0 Alpha 2--------------------------------- +// +//lastpost in forum cache +$sql = "SELECT ".POSTS_TABLE.".*, ".USERS_TABLE.".* FROM ".POSTS_TABLE." LEFT JOIN ".USERS_TABLE." ON ".POSTS_TABLE.".u_id = ".USERS_TABLE.".u_id GROUP BY `f_id`, `ptime` ORDER BY `ptime`"; +$query = DataBase::sql_query($sql,'GENERAL','Could not obtain last post in topic', true); +$post_count = @mysql_num_rows($query); +while($result = @mysql_fetch_array($query)) +{ + $last_post[$result['f_id']]['tp_id'] = $result['tp_id']; + $last_post[$result['f_id']]['u_id'] = $result['u_id']; + $last_post[$result['f_id']]['t_id'] = $result['t_id']; + $last_post[$result['f_id']]['time'] = $result['ptime']; + $last_post[$result['f_id']]['user_rank'] = $result['rank']; + $last_post[$result['f_id']]['user_nick'] = $result['nick']; +} +//cache forums --don't modify!!! +$cache_id=1; +$sql = "SELECT ".FORUMS_TABLE.".*, COUNT(".POSTS_TABLE.".p_id) as amout, ".POSTS_TABLE.".f_id AS count FROM ".FORUMS_TABLE." LEFT JOIN ".POSTS_TABLE." ON ".FORUMS_TABLE.".f_id= ".POSTS_TABLE.".f_id GROUP BY `f_id` ORDER BY `c_id`, `sort`"; +$query = DataBase::sql_query($sql,'CRITICAL','Could not obtain forum information.'); +while($result = @mysql_fetch_array($query)) +{ + $forum[$cache_id]['f_id'] = $result['f_id']; + $forum[$cache_id]['name'] = $result['name']; + $forum[$cache_id]['desc'] = $result['desc']; + $forum[$cache_id]['c_id'] = $result['c_id']; + $forum[$cache_id]['sort'] = $result['sort']; + $count_forum[$result['f_id']] = $result['amout']; + $cache_id+=1; +} +$sql = "SELECT `u_id`,`nick`, `regdate` AS count FROM ".USERS_TABLE." ORDER BY `regdate` DESC"; +$query = DataBase::sql_query($sql,'GENERAL','Could not obtain amout of count users information'); +$lastuser = @mysql_fetch_array($query); +$count_users = @mysql_num_rows($query) -1; +?> diff --git a/includes/cache/cache_topic.php b/includes/cache/cache_topic.php new file mode 100644 index 0000000..81e2172 --- /dev/null +++ b/includes/cache/cache_topic.php @@ -0,0 +1,95 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if(!defined('IN_uF')) +{ + die('Hacking attempt'); +} +//||topic.php script cache ------------------------------------------------------------------------------ +$sql = "SELECT ".TOPICS_TABLE.".*, ".TOPICS_TABLE.".name AS topic_name, ".TOPICS_TABLE.".lock AS topic_lock, ".FORUMS_TABLE.".* FROM ".TOPICS_TABLE." LEFT JOIN ".FORUMS_TABLE." ON ".TOPICS_TABLE.".f_id = ".FORUMS_TABLE.".f_id WHERE `t_id`='$tid' LIMIT 1"; +$result = @mysql_fetch_array(DataBase::sql_query($sql,'GENERAL','Could not obtain forum information')); +if ($result['t_id']=='') +{ + message_forum($lng['no_topic'], 'index.php'); +} +$topic['name']=$result['topic_name']; +$topic['lock']=$result['topic_lock']; +$topic['sticky']=$result['sticky']; +$topic['f_id']=$result['f_id']; +$fid = $topic['f_id']; +$forum['name']=$result['name']; +$forum['lock']=$result['lock']; +$forum['moderate']=$result['moderate']; + + +$sql = "SELECT `u_id`,`value` FROM `".WARNINGS_TABLE."`"; +$query = DataBase::sql_query($sql,'GENERAL','Could not obtain user warns information'); +$result = mysql_num_rows($query); +while ($result = @mysql_fetch_array($query)) +{ + if(!isset($user_warnlevel[$result['u_id']])) + { + $user_warnlevel[$result['u_id']]=0; + } + if ($result['value']=='-') + { + $user_warnlevel[$result['u_id']] -=1; + } + else + { + $user_warnlevel[$result['u_id']] +=1; + } +} + +//check online for user +$sql = "SELECT `s_id`, `u_id`, `time` FROM ".SESSIONS_TABLE." WHERE time+1250>".time(); +$query = DataBase::sql_query($sql, 'GENERAL', 'Could not read user active.'); +while($result = @mysql_fetch_array($query)) +{ + $user[$result['u_id']]['online']='1'; +} +unset($sql, $query, $result); +// +//generate output pages +// +if ($_SESSION['uid']>0) +{ + $limiter = $userdata['limit_tpid']; +} +else +{ + $limiter = $forum_config['limit_tpid']; +} +if (isset($_GET['page'])&&($_GET['page']!=1)) +{ + if (!is_numeric($_GET['page'])) + { + die('Hacking attempt'); + } + $value = ($_GET['page']-1)*$limiter; + $limit = 'LIMIT '.$value . ', '.$limiter; + $page = $_GET['page']; +} +else +{ + $limit = 'LIMIT 0, '.$limiter; + $page=1; +} +$count = @mysql_fetch_array(DataBase::sql_query("SELECT COUNT(`p_id`) as `p_id` +FROM ".POSTS_TABLE." WHERE `t_id`='$tid'",'GENERAL','Could not obtain count amout of posts')); +$count = $count['p_id']; +$count = ceil($count / $limiter); +if(isset($_GET['page']) && ($_GET['page']>$count)) +{ + message_forum($lng['invalidpage'],'index.php'); +} +// +//end generating pages +// +?> diff --git a/includes/cache/index.html b/includes/cache/index.html new file mode 100644 index 0000000..408e221 --- /dev/null +++ b/includes/cache/index.html @@ -0,0 +1,15 @@ + + + + + Untitled + + + + +

+ + +

+ + diff --git a/includes/class_db.php b/includes/class_db.php new file mode 100644 index 0000000..8d4992b --- /dev/null +++ b/includes/class_db.php @@ -0,0 +1,65 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if ( !defined('IN_uF') ) +{ + die('Hacking attempt'); +} +class DataBase +{ + function db_connect() + { + $connect = mysql_pconnect(DB_HOST, DB_USER, DB_PASS) or message_die('CRITICAL',' Could not connect to database server.',mysql_error()); + mysql_query("SET NAMES 'utf8'",$connect); + mysql_select_db(DB_NAME, $connect) or message_die('CRITICAL',' Could not connect to database.',mysql_error()); + } + function sql_query($sql, $type, $msg, $no_count = false) + { + if (isset($_COOKIE['queries'])) + { + $no_count = false; + if(!$no_count) + { + $_COOKIE['queries'] = $_COOKIE['queries']+1; + } + } + //echo ''.$sql.'
'; //for optymalization ONLY!!!!!!!!!!!!!! + $query = mysql_query($sql) or message_die($type, $msg, mysql_error()); + return $query; + } + function new_id($table) + { + //check table id + switch($table) + { + case BANLIST_TABLE: { $id = 'b_id'; break; } + case CATS_TABLE: { $id = 'c_id'; break; } + case CENSORLIST_TABLE: { $id = 'w_id'; break; } + case FORUMS_TABLE: { $id = 'f_id'; break; } + case GROUPS_TABLE: { $id = 'g_id'; break; } + case PM_INBOX_TABLE: { $id = 'm_id'; break; } + case PM_SENTBOX_TABLE: { $id = 'm_id'; break; } + case POSTS_TABLE: { $id = 'p_id'; break; } + case TOPICS_TABLE: { $id = 't_id'; break; } + case SESSIONS_TABLE: { $id = 's_id'; break; } + case SKINS_TABLE: { $id = 's_id'; break; } + case SMILES_TABLE: { $id = 's_id'; break; } + case USERS_TABLE: { $id = 'u_id'; break; } + case USERS_GROUP_TABLE: { $id = 'id'; break; } + case WARNINGS_TABLE: { $id = 'w_id'; break; } + } + $sql = "SELECT `$id` FROM $table ORDER BY `$id` DESC LIMIT 1"; + $return_id = mysql_fetch_array(DataBase::sql_query($sql,'GENERAL','Error with obtain last id.
File: class_db.php, Line: '.__LINE__)); + $return_id = $return_id[$id]; + $return_id = $return_id+1; + return $return_id; + unset($table, $return_id, $id, $sql); + } +} +?> diff --git a/includes/class_email.php b/includes/class_email.php new file mode 100644 index 0000000..ffae7fa --- /dev/null +++ b/includes/class_email.php @@ -0,0 +1,80 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if ( !defined('IN_uF') ) +{ + die('Hacking attempt'); +} +class Email +{ + function SendEmail($email, $title, $content) + { + global $forum_config; + $email_headers = "MIME-Version: 1.0\r\n"; + $email_headers .= "Content-type: text/html; charset=iso-8859-2\r\n"; + $email_headers .= "From: ".$forum_config['forumname']." \n"; + $email_date = date('d-m-Y, G:i',time()); + $email_content = ' + + + '.$title.' + + + '.$content.'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ + Message generated automatic by DSF v'.VERSION.'. ('.$email_date.') + + '; + if ( !mail($email, $title, $email_content, $email_headers )) + { + message_die('GENERAL','Could not send email from: '.$email.'. sorry :(',''); + } + } + function SendRegisterEmail() + { + global $forum_config; + global $original_pass; + global $lng; + $email_content = $lng['email_newpasswd_msg']; + $email_content = str_replace('%forum%',$forum_config['forumname'],$email_content); + $email_content = str_replace('%url_f%',$forum_config['forumpatch'],$email_content); + $email_content = str_replace('%ip%',$_SERVER['REMOTE_ADDR'],$email_content); + $email_content = str_replace('%forum%',$forum_config['forumname'],$email_content); + $email_content = str_replace('%login%',$_POST['nick'],$email_content); + $email_content = str_replace('%pass%',$original_pass,$email_content); + Email::SendEmail($_POST['email'],$lng['email_welcome'].$forum_config['forumname'],$email_content); + + } + function SendForgotPassEmail($newpass) + { + global $forum_config; + global $original_pass; + global $lng; + global $uid; + $email_content = $lng['email_register_msg']; + $email_content = str_replace('%forum%',$forum_config['forumname'],$email_content); + $email_content = str_replace('%url_f%',$forum_config['forumpatch'],$email_content); + $email_content = str_replace('%ip%',$_SERVER['REMOTE_ADDR'],$email_content); + $email_content = str_replace('%forum%',$forum_config['forumname'],$email_content); + $email_content = str_replace('%login%',$_POST['username'],$email_content); + $email_content = str_replace('%pass%',$newpass,$email_content); + Email::SendEmail(User::UserInformation($uid,'email'),$lng['email_sent_forget_pass'].$forum_config['forumname'],$email_content); + } + function SendMassEmail($title,$content) + { + $sql = "SELECT `email`,`u_id` FROM ".USERS_TABLE." WHERE `u_id`>0"; + $query = DataBase::sql_query($sql,'CRITICAL','Could not read users table'); + while($item = @mysql_fetch_array($query)) + { + Email::SendEmail($item['email'], $title, $content); + } + } +} +?> diff --git a/includes/class_error.php b/includes/class_error.php new file mode 100644 index 0000000..fa8ece6 --- /dev/null +++ b/includes/class_error.php @@ -0,0 +1,72 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if ( !defined('IN_uF') ) +{ + die('Hacking attempt'); +} +function message_die($type, $msm, $sql) +{ + $msg =''; + $msg = ' + + + + + + + + + +
+ DSF v'.VERSION.' - '; + $msg .= ($type='CRITICAL') ? 'CRITICAL ERROR' : 'GENERAL ERROR' ; + $msg .= ' +
+ '; + $msg = $msg.$msm.' + +
'; + if ($sql !='') + { + $msg = $msg.''.$sql.''; + } + $msg = $msg.'
Problems? Questions? Visit: + http://pioder.gim2przemysl.int.pl/forum
'; + die($msg); + +} +function message_forum($text, $url, $interval = 1.8) +{ + global $lng; + global $forum_config; + $skin = array( + 'url' => $url, + 'msg' => $text, + 'queries' => '', + 'pa_link' => '', + ); + $skin = array_push_associative($skin,Over::generate_header($lng['message_forum'], '> '.$lng['message_forum'])); + die( + include('./skins/'.Over::ViewSkinName().'/message_body.tpl') + ); +} +function admin_message_forum($text, $url) +{ +$skin = array( +'url'=>$url, +'msg'=>$text, +); +$skin['queries'] = ''; +$skin['pa_link'] = ''; +die( + include('./../skins/'.Admin_Over::ViewSkinName().'/admin/message_body.tpl') + ); +} +?> diff --git a/includes/class_forum.php b/includes/class_forum.php new file mode 100644 index 0000000..c58353a --- /dev/null +++ b/includes/class_forum.php @@ -0,0 +1,136 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if ( !defined('IN_uF') ) +{ + die('Hacking attempt'); +} +class Forum +{ + function AddForums($tid) + { + global $forum_config; + $forum = Topic::TopicInformation($tid,'f_id'); + $all=''; + $query = DataBase::sql_query("SELECT `name`, `f_id` FROM `".FORUMS_TABLE."` ORDER BY `f_id`",'GENERAL','Could not obtain forum information'); + while($t = @mysql_fetch_array($query)) + { + + if ($t['f_id']==$forum) + { + $all .= ''."\n"; + } + else + { + $all .= ''."\n"; + } + } + return $all; + unset($t, $all); + } + function PostsInForum($forum_name) + { + $sql = "SELECT count(*) as `p_id` FROM ".POSTS_TABLE." WHERE f_id='$forum_name'"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain posts information.'); + $result = mysql_fetch_array($query); + return $result['p_id']; + } + function LastPost($posts, $forum) + { + global $lng; + global $user; + global $last_post; + global $userdata; + global $forum_config; + if ($posts==0) { return '

'.$lng['nopost'].'

';} + else + { + $id = $last_post[$forum]['tp_id']; + $topic = $last_post[$forum]['t_id']; + $userid = $last_post[$forum]['u_id']; + $un = $last_post[$forum]['user_nick']; + $rank = $last_post[$forum]['user_rank']; + switch($rank) + { + case '0': + { + $user_color_name = $un; + break; + } + case '1': + { + $user_color_name = ''.$un.''; + break; + } + case '2': + { + $user_color_name = ''.$un.''; + break; + } + } + if ($_SESSION['uid']>0) + { + $limiter = $userdata['limit_tpid']; + } + else + { + $limiter = $forum_config['limit_tpid']; + } + $count = ceil($id / $limiter); + if ($count >1) + { + $page= '&page='.$count; + } + else + { + $page=''; + } + return '

'.Over::GenerateTime($last_post[$forum]['time']).'
'.$lng['topic'].' #'.$topic.': '.$user_color_name.'

'; + } + } + function LastPostImg($postsinforum) + { + global $last_post; + global $i; + global $forum; + global $default_skin; + $time = time()-129600; + if ($_SESSION['uid']>0) + { + if ($postsinforum>0) + { + if ($last_post[$forum[$i]['f_id']]['time']>$time) + { + return 'folder_new_posts'; + } + else + { + return 'folder_no_new_posts'; + } + } + else + { + return 'folder_no_new_posts'; + } + } + else + { + return 'folder_no_new_posts'; + } + } + function ForumInformation($fid, $inf) + { + $sql = "SELECT `f_id`, `$inf` FROM ".FORUMS_TABLE." WHERE f_id='$fid';"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain forum information.'); + $result = mysql_fetch_array($query); + $result = $result[$inf]; + return $result; + } +} +?> diff --git a/includes/class_mod.php b/includes/class_mod.php new file mode 100644 index 0000000..b158d0f --- /dev/null +++ b/includes/class_mod.php @@ -0,0 +1,96 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if ( !defined('IN_uF') ) +{ + die('Hacking attempt'); +} +class Mod +{ + function MoveTopic($tid, $fid) + { + $sql = "UPDATE `".TOPICS_TABLE."` SET `f_id`='$fid' WHERE `t_id`='$tid'"; + DataBase::sql_query($sql,'GENERAL','Could not update topic'); + $sql = "UPDATE `".POSTS_TABLE."` SET `f_id`='$fid' WHERE `t_id`='$tid'"; + DataBase::sql_query($sql,'GENERAL','Could not update post'); + } + function TopicLocked($tid) + { + global $default_skin; + global $default_lang; + $lock = Topic::TopicInformation($tid,'lock'); + if ($lock=='1') + { + return 'unlock'; + } + else + { + return 'lock'; + } + } + function DeleteTopic($topicid) + { + $sql="SELECT * FROM ".POSTS_TABLE." WHERE `t_id`='$topicid'"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain post information'); + while($item = @mysql_fetch_array($query)) + { + $uid = Topic::PostInformation($item['p_id'],'u_id'); + $posts = User::UserInformation($uid,'posts'); + $posts = $posts -1; + $sql = "UPDATE `".USERS_TABLE."` SET `posts`='$posts' WHERE `u_id`='$uid'"; + DataBase::sql_query($sql,'GENERAL','Could not update user amout of posts'); + } + $sql = "DELETE FROM ".POSTS_TABLE." WHERE t_id='$topicid';"; + DataBase::sql_query($sql,'GENERAL','Could not delete topic posts.'); + $sql = "DELETE FROM ".TOPICS_TABLE." WHERE t_id='$topicid';"; + DataBase::sql_query($sql,'GENERAL','Could not delete topic posts.'); + } + function LockTopic($topicid) + { + $sql = "UPDATE `".TOPICS_TABLE."` SET `lock` = '1' WHERE `t_id` =$topicid;"; + DataBase::sql_query($sql,'GENERAL','Could not lock topic.'); + } + function StickTopic($topicid, $mode) + { + $sql = "UPDATE `".TOPICS_TABLE."` SET `sticky` = '$mode' WHERE `t_id` =$topicid;"; + DataBase::sql_query($sql,'GENERAL','Could not stick topic.'); + } + function UnlockTopic($topicid) + { + $sql = "UPDATE `".TOPICS_TABLE."` SET `lock` = '0' WHERE `t_id` =$topicid;"; + DataBase::sql_query($sql,'GENERAL','Could not unlock topic.'); + } + function DeletePost($postid) + { + $uid = Topic::PostInformation($postid,'u_id'); + $tid = Topic::PostInformation($postid,'t_id'); + $posts = User::UserInformation($uid,'posts'); + $posts = $posts -1; + $sql = "UPDATE `".USERS_TABLE."` SET `posts`='$posts' WHERE `u_id`='$uid'"; + DataBase::sql_query($sql,'GENERAL','Could not update user amout of posts'); + $sql2 = "DELETE FROM ".POSTS_TABLE." WHERE p_id='$postid';"; + DataBase::sql_query($sql2,'GENERAL','Could not delete post.'); + $sql = "SELECT * FROM ".POSTS_TABLE." WHERE p_id>'$postid' AND `t_id`='$tid';"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain post information.'); + while($item=mysql_fetch_array($query)) + { + $number = $item['tp_id']; + $number = $number-1; + $number2 = $item['p_id']; + $sql3 = "UPDATE `".POSTS_TABLE."` SET `tp_id` = '$number' WHERE `p_id` =$number2;"; + DataBase::sql_query($sql3,'GENERAL','Could not update post.'); + } + } + function AcceptPost($postid) + { + $sql = "UPDATE `".POSTS_TABLE."` SET `moderated`='0' WHERE `p_id`='$postid'"; + DataBase::sql_query($sql, 'GENERAL', 'Could not accept post'); + } +} +?> diff --git a/includes/class_overall.php b/includes/class_overall.php new file mode 100644 index 0000000..e0818f4 --- /dev/null +++ b/includes/class_overall.php @@ -0,0 +1,328 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if ( !defined('IN_uF') ) +{ + die('Hacking attempt'); +} +class Over +{ + function set_counter() + { + global $forum_config; + if (!isset($_COOKIE['forum_visited'])) + { + setcookie('forum_visited','1'); + $visit_count = $forum_config['forum_counter'] +1; + DataBase::sql_query("UPDATE `".CONFIG_TABLE."` SET `value`='$visit_count' WHERE `name`='forum_counter'",'GENERAL','Could not update forum counter'); + } + else + { + $visit_count = $forum_config['forum_counter']; + } + return $visit_count; + } + function generate_header($title, $navigator) + { + global $lng; + global $forum_config; + $skin = array( + 'forumname' => $forum_config['forumname'], + 'forumdesc' => $forum_config['forumdesc'], + 'users' => $lng['lusers'], + 'pm' => $lng['lpm'], + 'register' => $lng['lregister'], + 'search' => $lng['lsearch'], + 'eprofile' => $lng['leprofile'], + 'groups' => $lng['lgroups'], + 'keywords' => $forum_config['meta_keywords'], + 'description' => $forum_config['meta_description'], + 'mainpage' => $title, + 'lmainpage' => $navigator, + 'lactual_time'=>$lng['lactualtime'], + 'modelogin' => ($_SESSION['uid']>0) ? 'logout' : 'login', + 'llogin' => ($_SESSION['uid']>0) ? $lng['lunlogin'] : $lng['llogin'] + ); + return $skin; + } + function user_agent($agent) + { + global $lng; + /*This original function is in phpBB 1.12.5 modified by Przemo*/ + /*Modified by PioDer: added new browsers and systems and other replaces*/ + $agent_tst = ' ' . strtolower($agent); + $system = $browser = ''; + if ( + strpos($agent_tst, 'windows') || + strpos($agent_tst, 'win9') || + strpos($agent_tst, 'win32') || + strpos($agent_tst, 'nt 5.') || + strpos($agent_tst, 'nt 4') ) + { + $system = ( strpos($agent_tst, 'windows 9') || strpos($agent_tst, 'nt 4') || strpos($agent_tst, 'windows') || strpos($agent_tst, 'win32') ) ? 'windows_98_nt_2000' : $system; + $system = ( strpos($agent_tst, 'nt 5.') || strpos($agent_tst, 'nt 6.') || strpos($agent_tst, 'nt 7.') || strpos($agent_tst, 'nt 8.') ) ? 'windows_xp_2003' : $system; + $system = (strpos($agent_tst, 'nt 5.0')) ? 'windows_98_nt_2000' : $system; + $system = (strpos($agent_tst, 'nt 6.0')) ? 'windows_vista' : $system; + } + else + { + $system = (strpos($agent_tst, 'linux')) ? 'linux' : $system; + $system = (strpos($agent_tst, 'suse')) ? 'linux_suse' : $system; + $system = (strpos($agent_tst, 'knoppix')) ? 'linux_knoppix' : $system; + $system = (strpos($agent_tst, 'turbolinux')) ? 'linux_turbolinux' : $system; + $system = (strpos($agent_tst, 'slackware')) ? 'linux_slackware' : $system; + $system = (strpos($agent_tst, 'gentoo')) ? 'linux_gentoo' : $system; + $system = (strpos($agent_tst, 'lycoris')) ? 'linux_lycoris' : $system; + $system = (strpos($agent_tst, 'debian')) ? 'linux_debian' : $system; + $system = (strpos($agent_tst, 'redhat')) ? 'linux_redhat' : $system; + $system = (strpos($agent_tst, 'archlinux')) ? 'linux_arch' : $system; + $system = (strpos($agent_tst, 'ubuntu')) ? 'linux_ubuntu' : $system; + $system = (strpos($agent_tst, 'cdlinux')) ? 'linux_cdlinux' : $system; + $system = (strpos($agent_tst, 'mandriva')) ? 'linux_mandriva' : $system; + $system = (strpos($agent_tst, 'kateos')) ? 'linux_kateos' : $system; + $system = (strpos($agent_tst, 'bsd')) ? 'linux_freebsd' : $system; + } + if ( $system == '') + { + $system = (strpos($agent_tst, 'mac')) ? 'macos' : $system; + $system = (strpos($agent_tst, 'aix')) ? 'aix' : $system; + $system = (strpos($agent_tst, 'lindows')) ? 'lindows' : $system; + $system = (strpos($agent_tst, 'amiga')) ? 'amiga' : $system; + $system = (strpos($agent_tst, 'athe')) ? 'athe' : $system; + $system = (strpos($agent_tst, 'beos')) ? 'beos' : $system; + $system = (strpos($agent_tst, 'zeta')) ? 'beos' : $system; + $system = (strpos($agent_tst, 'BlueEyed')) ? 'beos' : $system; + $system = (strpos($agent_tst, 'nextstep')) ? 'nextstep' : $system; + $system = (strpos($agent_tst, 'warp')) ? 'warp' : $system; + $system = (strpos($agent_tst, 'qnx')) ? 'qnx' : $system; + $system = (strpos($agent_tst, 'risc')) ? 'risc' : $system; + $system = (strpos($agent_tst, 'solaris')) ? 'solaris' : $system; + $system = (strpos($agent_tst, 'unix')) ? 'unix' : $system; + $system = (strpos($agent_tst, 'macos')) ? 'macos' : $system; + $system = (strpos($agent_tst, 'mac os')) ? 'macos' : $system; + $system = (strpos($agent_tst, 'symbian')) ? 'symbian' : $system; + $system = ($system == '' && strpos($agent_tst, 'win9') || strpos($agent_tst, 'win3') || strpos($agent_tst, 'windows') ) ? 'windows_98_nt_2000' : $system; + } + $browser = (strpos($agent_tst, 'mozilla')) ? 'mozilla' : $browser; + $browser = (strpos($agent_tst, 'msie')) ? 'ie' : $browser; + $browser = (strpos($agent_tst, 'msie 7')) ? 'ie7' : $browser; + $browser = (strpos($agent_tst, 'netscape')) ? 'netscape' : $browser; + $browser = (strpos($agent_tst, 'opera')) ? 'opera' : $browser; + $browser = (strpos($agent_tst, 'konqueror')) ? 'konqueror' : $browser; + $browser = (strpos($agent_tst, 'galeon')) ? 'galeon' : $browser; + $browser = (strpos($agent_tst, 'firefox')) ? 'firefox' : $browser; + $browser = (strpos($agent_tst, 'netsprint')) ? 'netsprint' : $browser; + $browser = (strpos($agent_tst, 'firebird')) ? 'firebird' : $browser; + $browser = (strpos($agent_tst, 'links')) ? 'links' : $browser; + $browser = (strpos($agent_tst, 'dillo')) ? 'dillo' : $browser; + $browser = (strpos($agent_tst, 'omniweb')) ? 'omniweb' : $browser; + $browser = (strpos($agent_tst, 'avant')) ? 'avant' : $browser; + $browser = (strpos($agent_tst, 'myie2')) ? 'myie2' : $browser; + $browser = (strpos($agent_tst, 'seamonkey')) ? 'seamonkey' : $browser; + $browser = (strpos($agent_tst, 'maxthon')) ? 'maxthon' : $browser; + + $browser = ($browser == '') ? 'unknown' : $browser; + $system = ($system == '') ? 'unknown' : $system; + + return array('icon_' . $system . '.gif', 'icon_' . $browser . '.gif', ($system=='unknown') ? $lng['unknown'] : $system, ($browser=='unknown') ? $lng['unknown'] : $browser); + } + function GenerateTime($request_time) + { + global $lng; + if (date('d-m-Y',$request_time)== date('d-m-Y',time())) + { + $date = $lng['today'].', '.date('G:i', $request_time); + } + else + { + if ((date('d',$request_time))== (date('d',time())-1) && (date('m-Y',$request_time)== date('m-Y',time()))) + { + $date = $lng['yesterday'].', '.date('G:i', $request_time); + } + else + { + $date = date('d-m-Y, G:i',$request_time); + } + } + return $date; + } + function AddPages() + { + global $count; + global $page; + $content = ''; + for ($i=1;$i<=$count;$i++) + { + if ($i==$page) + { + $content .= ''; + } + else + { + $content .= ''; + } + } + return $content; + unset($content); + } + function AddPages2($page)//for edit profile, not used in limit! + { + $content = ''; + for ($i=1;$i<=50;$i++) + { + if ($i==$page) + { + $content .= ''; + } + else + { + $content .= ''; + } + } + return $content; + unset($content); + } + function AddSkins() + { + global $forum_config; + global $default_skin; + $all=''; + $query = DataBase::sql_query("SELECT `name`, `s_id` FROM `".SKINS_TABLE."`",'GENERAL','Could not obtain skins information'); + while($t = @mysql_fetch_array($query)) + { + + if ($t['name']==$default_skin) + { + $all .= ''; + } + else + { + $all .= ''; + } + } + return $all; + unset($t, $all); + } + function AddLangs() + { + global $forum_config; + global $default_lang; + $result=''; + $rep=opendir('./lngs'); + $browseruMoinsUnRepertoire = false; + while ($file = readdir($rep)) + { + if($file != '..' && $file !='.' && $file !='') + { + if (is_dir('./lngs/'.$file)){ + $browseruMoinsUnRepertoire = true; + if ($file==$default_lang) + { + $result .=''; + } + else + { + $result .=''; + } + } + } + } + return $result; + unset($rep, $browseruMoinsUnRepertoire, $file, $result); + } + function TimeGeneration() + { + list($usec, $sec ) = explode(" ",microtime()); + return ((float)$usec + (float)$sec); + } + function IfModGroup($guid) + { + global $lng; + $uid = $_SESSION['uid']; + if ($guid==$uid) + { + return' + + + '.$lng['addusrtogrp'].': + + + '.$lng['delusrforgrp'].': + + + + + '; + } + } + function TotalPosts() + { + $sql = "SELECT count(*) as `p_id` FROM ".POSTS_TABLE.""; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain total posts information'); + $result = mysql_fetch_array($query); + $result = $result['p_id']; + return($result); + } + function DefaultLang() + { + global $forum_config; + global $userdata; + if ($_SESSION['uid']>0) + { + //$sql = "SELECT `u_id`, `lang` FROM ".USERS_TABLE." WHERE `u_id`='".$_SESSION['uid']."' LIMIT 1"; + //$result = @mysql_fetch_array(DataBase::sql_query($sql,'GENERAL','Could not obtain user information')); + return $userdata['lang']; + } + else + { + return $forum_config['defaultlang']; + } + } + function ShowQueries($start, $stop) + { + global $forum_config; + global $lng; + if ($forum_config['show_time_generation']) + { + $result = $stop - $start; + $result = round($result,3); + if (extension_loaded('xdebug')) + { + return $lng['script_generated'].$result.' '.$lng['seconds'].'. SQL: '.$_COOKIE['queries'].'.
+ Wersja Xdebug: '.phpversion('xdebug').', Użycie pamięci: '.round((xdebug_memory_usage()/1024),2).'KB.'; + } + else + { + return $lng['script_generated'].$result.' '.$lng['seconds'].'. SQL: '.$_COOKIE['queries'].'.'; + } + } + else + { + return ''; + } + } + function ViewSkinName() + { + + global $forum_config; + global $userdata; + if ($_SESSION['uid']>0) + { + $result = $userdata['skin']; + } + else + { + $result = $forum_config['defaultskin']; + } + $sql = "SELECT * FROM `".SKINS_TABLE."` WHERE `s_id`='$result'"; + $result = mysql_fetch_array(DataBase::sql_query($sql,'CRITICAL','Could not obtain skin information.')); + return $result['name']; + } +} +?> diff --git a/includes/class_posting.php b/includes/class_posting.php new file mode 100644 index 0000000..0d420d1 --- /dev/null +++ b/includes/class_posting.php @@ -0,0 +1,116 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if ( !defined('IN_uF') ) +{ + die('Hacking attempt'); +} +class Post +{ + + function NewPost($tid, $post, $uid) + { + #read last post + $last = DataBase::new_id(POSTS_TABLE); + #read last post in topic + $sql = "SELECT * FROM ".POSTS_TABLE." WHERE t_id='$tid' ORDER BY tp_id DESC LIMIT 1;"; + $query = DataBase::sql_query($sql,'GENERAL','Could not last post information.'); + $result = mysql_fetch_array($query); + $forum = $result['f_id'];//forum id + $moderate = Forum::ForumInformation($forum,'moderate'); + $tpid = $result['tp_id'];//post in topic id + $tpid = $tpid+1; + # + $time = time(); + #add new post + $sql = "INSERT INTO `".POSTS_TABLE."` VALUES ('$last','$tid', '$uid', '$post', '".$_SERVER['HTTP_USER_AGENT']."', '$time', '$tpid', '$forum','$moderate','".$_SERVER['REMOTE_ADDR']."')"; + $query = DataBase::sql_query($sql,'GENERAL','Could not add new post.'); + $result=User::UserInformation($uid,'posts'); + $result = $result+1; + $sql="UPDATE ".TOPICS_TABLE." SET lastpost_time='$time' WHERE t_id='$tid' "; + $query = DataBase::sql_query($sql,'GENERAL','Could not update user information.'); + $sql="UPDATE ".USERS_TABLE." SET posts='$result' WHERE u_id='$uid' "; + $query = DataBase::sql_query($sql,'GENERAL','Could not update user information.'); + return $tpid; + } + function EditPost($postid, $text) + { + $sql = "UPDATE `".POSTS_TABLE."` SET text='$text' WHERE `p_id`='$postid';"; + $query = DataBase::sql_query($sql,'GENERAL','Could not edit post.'); + } + function NewTopic($posttext, $ntopic, $forum, $uid, $sticky) + { + //Select last topic + $moderate = Forum::ForumInformation($forum,'moderate'); + $time = time(); + $lastt=DataBase::new_id(TOPICS_TABLE); + $sql = "INSERT INTO ".TOPICS_TABLE." VALUES ('$lastt', '$forum', '0', '$sticky', '$ntopic', '$uid','$time')"; + $query = DataBase::sql_query($sql,'GENERAL','Could not add new topic'); + //add post + //select last post + $last = DataBase::new_id(POSTS_TABLE); + //add post + $sql = "INSERT INTO ".POSTS_TABLE." VALUES ('$last','$lastt', '$uid', '$posttext','".$_SERVER['HTTP_USER_AGENT']."', '$time', '1', '$forum', '$moderate','".$_SERVER['REMOTE_ADDR']."');"; + $query = DataBase::sql_query($sql,'GENERAL','Could not add new post.'); + $sql = "SELECT * FROM ".USERS_TABLE." WHERE u_id='$uid';"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain user information.'); + $result = mysql_fetch_array($query); + $result = $result['posts']; + $result = $result+1; + $sql = "UPDATE ".USERS_TABLE." SET posts='$result' WHERE u_id='$uid' "; + $query = DataBase::sql_query($sql,'GENERAL','Could not update user information.'); + return $lastt; + } + function SmilesShow() + { + $text =''; + $result=''; + $sql = "SELECT * FROM ".SMILES_TABLE.""; + $query = DataBase::sql_query($sql,'GENERAL','Cold not obtain smiles information.'); + $i = 1; + while($smile = mysql_fetch_array($query)) + { + $action = "insertSmile('".$smile['url']."','".$smile['smile']."')"; + $mouse = "this.style.cursor='hand';"; + $text = "\n".''.$smile['smile'].' '."\n"; + $result = $result.$text; + if ($i%5==0) + { + $i = 1; + $result=$result.'
'; + } + else + { + $i +=1; + } + } + return $result; + } + function SmilesReplace($text) + { + $sql = "SELECT * FROM ".SMILES_TABLE.""; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain emoticons information.'); + $i = 1; + while($result = mysql_fetch_array($query)) + { + $smile[$i]['smile'] = $result['smile']; + $smile[$i]['url'] = $result['url']; + $i +=1; + } + $smile = (!isset($smile)) ? array() : $smile; + $i = 1; + for($i=1;$i<=count($smile);$i++) + { + $text = str_replace(' '.$smile[$i]['smile'],''.$smile[$i]['smile'].'', $text); + $text = str_replace(' '.$smile[$i]['smile'],''.$smile[$i]['smile'].'', $text); + } + return $text; + } +} +?> diff --git a/includes/class_shoutbox.php b/includes/class_shoutbox.php new file mode 100644 index 0000000..cdb0303 --- /dev/null +++ b/includes/class_shoutbox.php @@ -0,0 +1,51 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if ( !defined('IN_uF') ) +{ + die('Hacking attempt'); +} +class ShoutBox +{ + function new_message($message,$uid) + { + $time = time(); + $sql = "INSERT INTO ".SHOUTBOX_TABLE." VALUES ('', '$uid', '$message','$time')"; + DataBase::sql_query($sql,'GENERAL','Could not add shoutbox message.'); + } + function read_messages($limit) + { + $sb_content = ''; + $rank_mod = ($_SESSION['uid']>0) ? User::UserInformation($_SESSION['uid'],'rank') : 0; + global $user; + global $default_skin; + $sql = "SELECT * FROM ".SHOUTBOX_TABLE." ORDER BY `time` LIMIT $limit"; + $query = DataBase::sql_query($sql,'CRITICAL', 'Could not read shoutbox table'); + while($sb_msg = @mysql_fetch_array($query)) + { + $del_edit_msg = ($rank_mod>0) ? 'x e' : ' '; + $sb_content .= ''.$del_edit_msg.' + ' + .Topic::UserName($user[$sb_msg['u_id']]['nick'],$user[$sb_msg['u_id']]['rank']). + ' ['.date('d-m, G:i',$sb_msg['time']).']: + '.$sb_msg['msg_content'].''; + } + return $sb_content; + + } + function del_old_msgs($limiter) + { + $sql = "DELETE FROM ".SHOUTBOX_TABLE." WHERE `time`+$limiter<'".time()."'"; + DataBase::sql_query($sql,'GENERAL','Could not delete old messages in shoutbox'); + unset($sql); + } +} +?> diff --git a/includes/class_topic.php b/includes/class_topic.php new file mode 100644 index 0000000..de1a3a7 --- /dev/null +++ b/includes/class_topic.php @@ -0,0 +1,197 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if ( !defined('IN_uF') ) +{ + die('Hacking attempt'); +} +class Topic +{ + function LastPostInTopic($topic) + { + global $lng; + global $lastpost; + global $forum_config; + global $userdata; + $id = $lastpost[$topic]['tp_id']; + $userid = $lastpost[$topic]['u_id']; + $un = $lastpost[$topic]['user_nick']; + $rank = $lastpost[$topic]['user_rank']; + switch($rank) + { + case '0': + { + $user_color_name = $un; + break; + } + case '1': + { + $user_color_name = ''.$un.''; + break; + } + case '2': + { + $user_color_name = ''.$un.''; + break; + } + } + if ($_SESSION['uid']>0) + { + $limiter = $userdata['limit_tpid']; + } + else + { + $limiter = $forum_config['limit_tpid']; + } + $count = ceil($id / $limiter); + if ($count >1) + { + $page= '&page='.$count; + } + else + { + $page=''; + } + return '

'.Over::GenerateTime($lastpost[$topic]['time']).'
Post #'.$id.': '.$user_color_name.'

'; + } + function LastPostImg() + { + global $lastpost; + global $record; + global $default_skin; + $time = time()-129600; + if ($_SESSION['uid']>0) + { + if ($lastpost[$record['t_id']]['time']>$time) + { + return 'folder_new_posts'; + } + else + { + return 'folder_no_new_posts'; + } + } + else + { + return 'folder_no_new_posts'; + } + } + function TopicAuthor($uid) + { + global $record; + global $forum_config; + $rank = $record['rank']; + $nick = $record['nick']; + switch($rank) + { + case '0': + { + $user_color_name = $nick; + break; + } + case '1': + { + + $user_color_name = ''.$nick.''; + break; + } + case '2': + { + $user_color_name = ''.$nick.''; + break; + } + } + return ''.$user_color_name.''; + } + function TopicInformation($tid, $mode) + { + $sql = "SELECT * FROM ".TOPICS_TABLE." WHERE t_id='$tid';"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain topic information'); + $result = mysql_fetch_array($query); + $result = $result[$mode]; + return $result; + } + function PostInformation($pid, $mode) + { + $sql = "SELECT * FROM ".POSTS_TABLE." WHERE p_id='$pid';"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain topic information'); + $result = mysql_fetch_array($query); + $result = $result[$mode]; + return $result; + } + function PostText($text,$postmoderate, $pid) + { + global $forum; + global $lng; + $text = stripslashes($text); + $text = Topic::TagsReplace($text); + if($forum['moderate']==1) + { + if ($postmoderate==1) + { + if ($_SESSION['uid']>0) + { + if (RANK>0) + { + return ''.$lng['moderated_post_text'].':
'.Topic::TagsReplace('[quote]'.$text.'[/quote]').'
'.$lng['visible_of_post'].''; + } + else + { + return ''.$lng['post_moderated'].''; + } + } + else + { + return ''.$lng['post_moderated'].''; + } + } + else + { + return $text; + } + } + else + { + return $text; + } + + } + function UserName($nick, $rank) + { + global $forum_config; + switch($rank) + { + case '0': + { + return $nick; + break; + } + case '1': + { + return ''.$nick.''; + break; + } + case '2': + { + return ''.$nick.''; + break; + } + } + } + function TagsReplace($text) + { + global $lng; + //quote + $text = preg_replace("#\[quote\](.*?)\[/quote]#si", "
".$lng['quote2'].":
\\1
", $text); + //code + $text = preg_replace("#\[code\](.*?)\[/code]#si", "
Code:
\\1
", $text); + return $text; + } +} +?> diff --git a/includes/class_user.php b/includes/class_user.php new file mode 100644 index 0000000..46ee71d --- /dev/null +++ b/includes/class_user.php @@ -0,0 +1,208 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if ( !defined('IN_uF') ) +{ + die('Hacking attempt'); +} +class User +{ + function LastUser() + { + global $lastuser; + $usr = $lastuser['nick']; + $uid = $lastuser['u_id']; + return ''.$usr.''; + } + function UserInformation($uid, $inf) + { + $sql = "SELECT `$inf` FROM ".USERS_TABLE." WHERE u_id='$uid';"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain user information.'); + $result = mysql_fetch_array($query); + $result = $result[$inf]; + return $result; + } + function UserIdByNick($nick) + { + $sql = "SELECT * FROM `".USERS_TABLE."` WHERE `nick`='$nick';"; + $result = mysql_fetch_array(DataBase::sql_query($sql,'GENERAL','Could not obtain user information.')); + $result = $result['u_id']; + /*if ($result=='') + { + message_forum('nick failed','admin_groups.php'); + }*/ + return $result; + } + function AddToGroup($uid, $gid) + { + $last= DataBase::new_id(USERS_GROUP_TABLE); + $sql = "INSERT INTO `".USERS_GROUP_TABLE."` VALUES ('$last','$uid', '$gid')"; + DataBase::sql_query($sql,'GENERAL','Could not add user to group.'); + } + function DeleteFromGroup($uid, $gid) + { + $sql = "DELETE FROM `".USERS_GROUP_TABLE."` WHERE `u_id`='$uid' AND `g_id`='$gid'"; + DataBase::sql_query($sql,'GENERAL','Could not delete user for group.'); + } + function LogedAs($sid, $uid) + { + global $lng; + global $userdata; + if ($uid>0) + { + $nick = $userdata['nick']; + return(''.$lng['youareloggedas'].' '.$nick.''); + } + else + { + return($lng['youarenotlogd']); + } + } + function PostWithForum($posts) + { + $result2 = Over::TotalPosts(); + if($result2>0) + { + $result3 = ($posts/$result2*100); + $result3 = round($result3,2); + return($result3); + } + else + { + return(0); + } + + } + function LastRegVisit($uid, $mode) + { + global $lng; + $result = User::UserInformation($uid,$mode); + if ($result=='0') + { + return($lng['never']); + } + else + { + $date = date('d-m-Y, G:i',$result); + return($date); + } + } + function UserRank($rank) + { + global $lng; + global $forum_config; + switch($rank) + { + case '0': {$result=$lng['user']; break; } + case '1': {$result=''.$lng['mod'].''; break; } + case '2': {$result=''.$lng['admin'].''; break; } + } + return($result); + } + function RankAdminMod($uid) + { + if ($uid>0) + { + $sql = "SELECT * FROM ".USERS_TABLE." WHERE u_id='$uid'"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain user`s rank information.'); + $result = mysql_fetch_array($query); + $rank = $result['rank']; + if (($rank=='1') or ($rank=='2')) + { + return '1'; + } + else + { + return '0'; + } + } + else + { + return '0'; + } + + } + function UpdateProfile($uid, $gg, $email, $interests, $sig, $avatar, $allow_qr, $allow_email, $allow_gg, $skin, $lang, $limit_tpid, $limit_ftid, $limit_users, $allow_shoutbox) + { + $sql ="UPDATE `".USERS_TABLE."` SET + `gg` = '$gg', + `email` = '$email', + `allow_gg` = '$allow_gg', + `allow_email` = '$allow_email', + `allow_qr` = '$allow_qr', + `interests` = '$interests', + `sig` = '$sig', + `avatar` = '$avatar', + `skin`='$skin', + `lang`='$lang', + `limit_tpid` = '$limit_tpid', + `limit_ftid` = '$limit_ftid', + `view_shoutbox` = '$allow_shoutbox', + `limit_users` = '$limit_users' + WHERE `u_id` ='$uid' LIMIT 1 ;"; + DataBase::sql_query($sql,'CRITICAL','Could not update user information'); + } + function UpdateAdminPools($uid, $posts, $rank, $active, $nick) + { + $sql ="UPDATE `".USERS_TABLE."` SET + `posts` = '$posts', + `rank` = '$rank', + `active` = '$active' + WHERE `u_id` ='$uid' LIMIT 1 ;"; + DataBase::sql_query($sql,'CRITICAL','Could not update user information'); + } + function UpdatePassword($uid, $pass) + { + $sql ="UPDATE `".USERS_TABLE."` SET + `pass` = '$pass' + WHERE `u_id` ='$uid' LIMIT 1 ;"; + DataBase::sql_query($sql,'CRITICAL','Could not update user information'); + } + function CreateProfile($nick, $pass, $email, $gg, $allow_gg, $allow_email, $allow_qr, $sig, $av, $interests) + { + global $forum_config; + $last = DataBase::new_id(USERS_TABLE); + $time = time(); + $sql = "INSERT INTO ".USERS_TABLE." VALUES + ('$last', '$nick', '$pass', '$email', '0', '$time', '0', '$gg', '$allow_gg', '$allow_email', '$allow_qr', '".$forum_config['view_shoutbox']."', '".$forum_config['defaultskin']."', '".$forum_config['defaultlang']."','".$forum_config['limit_tpid']."', '".$forum_config['limit_ftid']."', '".$forum_config['limit_users']."', '$sig', '$av', '1','0','$interests');"; + DataBase::sql_query($sql,'CRITICAL','Could not create new user'); + } + function UserMsgs() + { + $uid = $_SESSION['uid']; + if($uid>0) + { + $sql = "SELECT count(*) as `m_id` FROM ".PM_INBOX_TABLE." WHERE `u_id`='$uid' AND `read`='0'"; + $result = mysql_fetch_array(DataBase::sql_query($sql,'GENERAL','Could not obtain amounts PM of User.')); + $result = $result['m_id']; + if ($result>0) + { + return ''.$result.''; + } + else + { + return $result; + } + } + } + function UserAddWarn($uid, $value, $motive) + { + $sql = "INSERT INTO `".WARNINGS_TABLE."` ( `w_id` , `u_id` , `value` , `motive` ) VALUES('','$uid','$value','$motive');"; + DataBase::sql_query($sql,'GENERAL','Could not add new warn.'); + if (User::UserLevelWarns($uid)==100) + { + $ban_ip = '0.0.0.0'; + $ban_uid = $uid; + $ban_motive = $lng['warns_ban']; + $sql = "INSERT INTO ".BANLIST_TABLE." VALUES ('', '$ban_uid', '$ban_ip', '$ban_motive')"; + DataBase::sql_query($sql,'GENERAL','Could not update add ban.'); + } + } +} +?> diff --git a/includes/classes/class_pms.php b/includes/classes/class_pms.php new file mode 100644 index 0000000..695ec7e --- /dev/null +++ b/includes/classes/class_pms.php @@ -0,0 +1,79 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if ( !defined('IN_uF') ) +{ + die('Hacking attempt'); +} +class Pms +{ + function UserName($uid) + { + global $user; + global $forum_config; + $nick = $user[$uid]['nick']; + $rank = $user[$uid]['rank']; + switch($rank) + { + case '0': + { + return $nick; + break; + } + case '1': + { + return ''.$nick.''; + break; + } + case '2': + { + return ''.$nick.''; + break; + } + } + } + function SendMessage($text, $name, $nick) + { + //general variables + $u_n_id = $_SESSION['uid']; + $uid = User::UserIdByNick($nick); + //For work! + NewMessage::AddToInbox($text, $name, $u_n_id, $uid); + NewMessage::AddToSentbox($text, $name, $u_n_id, $uid); + } + function DeleteMsgUser($mid) + { + $sql = "DELETE FROM `".PM_INBOX_TABLE."` WHERE `m_id`='$mid'"; + DataBase::sql_query($sql,'GENERAL','Could not delete message in inbox'); + } + function DeleteMsgAuthor($mid) + { + $sql = "DELETE FROM `".PM_SENTBOX_TABLE."` WHERE `m_id`='$mid'"; + DataBase::sql_query($sql,'GENERAL','Could not delete message in sentbox'); + } +} + +class NewMessage +{ + function AddToInbox($text, $name, $unid, $uid) + { + $last = DataBase::new_id(PM_INBOX_TABLE); + $time = time(); + $sql = "INSERT INTO `".PM_INBOX_TABLE."` VALUES ('$last', '$uid', '$name', '$text', '$time', '$unid','0')"; + DataBase::sql_query($sql,'GENERAL','Could not add new message at inbox'); + } + function AddToSentbox($text, $name, $unid, $uid) + { + $last=DataBase::new_id(PM_SENTBOX_TABLE); + $time = time(); + $sql = "INSERT INTO `".PM_SENTBOX_TABLE."` VALUES ('$last', '$uid', '$name', '$text', '$time', '$unid')"; + DataBase::sql_query($sql,'GENERAL','Could not add new message at inbox'); + } +} +?> diff --git a/includes/classes/secure.php b/includes/classes/secure.php new file mode 100644 index 0000000..1165246 --- /dev/null +++ b/includes/classes/secure.php @@ -0,0 +1,193 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if ( !defined('IN_uF') ) +{ + die('Hacking attempt'); +} +class Secure +{ + function forum_exists($fid) + { + global $lng; + $sql = "SELECT * FROM ".FORUMS_TABLE." WHERE f_id='$fid'"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain forum information.'); + $result = mysql_fetch_array($query); + $result = $result['f_id']; + if ($result=='') + { + message_forum($lng['no_forum'],'index.php'); + } + } + function UseCensorList($text) + { + global $forum_config; + if ($forum_config['use_censorlist']) + { + $sql = "SELECT * FROM ".CENSORLIST_TABLE.";"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain censorlist information.'); + while($word = mysql_fetch_array($query)) + { + $text = str_replace($word['word'],'[censored]', $text); + } + } + return $text; + } + function generate_code() + { + $number = array( + 1 => 1, + 2 => 2, + 3 => 4, + 4 => 6, + 5 => 10, + 6 => 20, + 7 => 30, + 8 => 40, + 9 => 50, + 10 => 60, + 11 => 70, + 12 => 80, + 13 => 90, + 14 => 100 + ); + $first_id = rand(1,14); + $second_id = rand(1,14); + $first_num = $number[$first_id]; + $second_num = $number[$second_id]; + return array($first_num, $second_num, ($first_num + $second_num)); + } + + function message_u_exists($mid) + { + global $lng; + $sql = "SELECT * FROM ".PM_INBOX_TABLE." WHERE m_id='$mid'"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain user information.'); + $result = mysql_fetch_array($query); + $result = $result['m_id']; + if ($result=='') + { + message_forum($lng['no_message'],'pms.php'); + } + } + function message_author_loged($mid) + { + global $lng; + $sql = "SELECT * FROM ".PM_SENTBOX_TABLE." WHERE m_id='$mid'"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain user information.'); + $result = mysql_fetch_array($query); + $result = $result['u_n_id']; + if ($result!=$_SESSION['uid']) + { + message_forum($lng['merror_1'],'index.php'); + } + } + function message_user_loged($mid) + { + global $lng; + $sql = "SELECT * FROM ".PM_INBOX_TABLE." WHERE m_id='$mid'"; + $result = mysql_fetch_array(DataBase::sql_query($sql,'GENERAL','Could not obtain user information.')); + $result = $result['u_id']; + if ($result!=$_SESSION['uid']) + { + message_forum($lng['merror_2'],'index.php'); + } + } + function message_a_exists($mid) + { + global $lng; + $sql = "SELECT * FROM ".PM_SENTBOX_TABLE." WHERE m_id='$mid'"; + $result = mysql_fetch_array(DataBase::sql_query($sql,'GENERAL','Could not obtain user information.')); + $result = $result['m_id']; + if ($result=='') + { + message_forum($lng['no_message'],'index.php'); + } + } + function topic_exists($tid) + { + global $lng; + $sql = "SELECT * FROM `".TOPICS_TABLE."` WHERE `t_id`='$tid'"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain topic information.'); + $result = mysql_fetch_array($query); + $result = $result['t_id']; + if ($result=='') + { + message_forum($lng['no_topic'],'index.php'); + } + } + function post_exists($pid) + { + global $lng; + $sql = "SELECT * FROM ".POSTS_TABLE." WHERE p_id='$pid'"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain topic information.'); + $result = mysql_fetch_array($query); + $result = $result['p_id']; + if ($result=='') + { + message_forum($lng['no_post'],'pms.php'); + } + } + function user_exists($uid) + { + global $lng; + $sql = "SELECT * FROM ".USERS_TABLE." WHERE u_id='$uid'"; + $result = mysql_fetch_array(DataBase::sql_query($sql,'GENERAL','Could not obtain user information.')); + $result = $result['u_id']; + if (($result=='') or ($result=='-1')) + { + message_forum($lng['no_user'],'index.php'); + } + } + function group_exists($gid) + { + global $lng; + $sql = "SELECT `g_id` FROM `".GROUPS_TABLE."` WHERE g_id='$gid'"; + $result = mysql_fetch_array(DataBase::sql_query($sql,'GENERAL','Could not obtain group information.')); + $result = $result['g_id']; + if ($result=='') + { + message_forum($lng['no_group'],'groups.php'); + } + } + function TagsReplace($text) + { + $text = strip_tags($text,ALLOWED_TAGS); + $text = str_replace('?>', '?>', $text); + $text = str_replace(' diff --git a/includes/constants.php b/includes/constants.php new file mode 100644 index 0000000..c899437 --- /dev/null +++ b/includes/constants.php @@ -0,0 +1,68 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if (!defined('IN_uF')) +{ + die('Hacking attempt'); +} + +//sessions constants +define('SESSION_LIFETIME',129600); +define('SESS_NAME','uf_auth'); +//maximum filesize of avatar +define('AV_CATALOG','images/avatars/'); +//posting allowed tags HTML + +define('ALLOWED_TAGS','



  • '; + } + break; + } + case 'step2': + { + if (isset($_POST['accept'])) + { + header('Location: index.php?page=step3'); + } + else + { + echo $header.' + '.$lng['licence'].' + + + + +
    '; + } + break; + } + case 'step3': + { + if (isset($_POST['next'])) + { + header('Location: index.php?page=step4'); + } + else + { + $bad = 0; + if (!@is_writable($folders[0])) { $bad =+1; } + if (!@is_writable($folders[1])) { $bad =+1; } + if (!@is_writable($folders[2])) { $bad =+1; } + if (phpversion()<'4.3.10') { $bad=+1; } + if (mysql_get_client_info()<'4.1') { $bad =+1; } + if ($count>1) { $bad =+1; } + echo $header; + $skin=array( + 'L.name'=>$lng['name'], + 'L.value'=>$lng['value'], + 'L.php_version'=>$lng['php_version'], + 'PHP.version'=>phpversion(), + 'PHP.value' => (phpversion()>='4.3.10') ? 'OK' : ' Error - No OK', + 'mySQL.version'=>mysql_get_client_info(), + 'L.mySQL_version'=>$lng['mysql_version'], + 'mySQL.value'=>(mysql_get_client_info()>='4.1') ? 'OK' : ' Error - No OK', + 'L.cat_name'=>$lng['catalog'], + 'cat1.name'=> $folders[0], + 'cat1.value'=> (@is_writable($folders[0])) ? ''.$lng['is_writable'].' - OK' : ''.$lng['not_writable'].' Error - No OK', + 'cat2.name'=> $folders[1], + 'cat2.value'=> (@is_writable($folders[1])) ? ''.$lng['is_writable'].' - OK' : ''.$lng['not_writable'].' Error - No OK', + 'cat3.name'=> $folders[2], + 'cat3.value'=> (@is_writable($folders[2])) ? ''.$lng['is_writable'].' - OK' : ''.$lng['not_writable'].' Error - No OK', + 'successfully' => ($count <1) ? ''.$lng['files_is_good'].' ('.count($script_files).')' : ''.$lng['files_not_good'].' ('.$count.')' + ); + include('./tpls/install_check_script.tpl'); + for($i=0; $i$lng['actual_sum'], + 'sum_actual'=>$actual, + 'L.invalid_md5sum'=>$lng['invalid_md5sum'].' ('.substr($script_files[$i], strrpos($script_files[$i], '/') + 1, strlen($script_files[$i])).')' + ); + include('./tpls/invalidfile_body.tpl'); + } + } + echo ''; + if ($bad>0) + { + echo '
    '; + echo ''.$lng['click_next'].''; + } + else + { + echo ''; + } + echo ''; + } + break; + + } + case 'step4': + { + if (isset($_POST['mysql_host'],$_POST['database'],$_POST['mysql_prefix'],$_POST['mysql_user'],$_POST['mysql_pass'])) + { + $open = @fopen('../config.php','a+'); + $config_file = @fread($open,@filesize('../config.php')); + $config_file = str_replace('%host%',strip_tags($_POST['mysql_host']),$config_file); + $config_file = str_replace('%user%',strip_tags($_POST['mysql_user']),$config_file); + $config_file = str_replace('%pass%',strip_tags($_POST['mysql_pass']),$config_file); + $config_file = str_replace('%dbname%',strip_tags($_POST['database']),$config_file); + $config_file = str_replace('%dbprefix%',strip_tags($_POST['mysql_prefix']),$config_file); + $connect = @mysql_connect($_POST['mysql_host'],$_POST['mysql_user'],$_POST['mysql_pass']) or message_die('GENERAL','Could not connect to database server. Error with installation!',@mysql_error()); + @fwrite(@fopen('../config.php','w'),$config_file) or message_die('GENERAL','Could not write config file. Error with installation!',''); + @mysql_query("SET NAMES 'utf8'",$connect); + @mysql_select_db($_POST['database'],$connect) or message_die('GENERAL','Could not connect to database. Error with installation!',@mysql_error()); + include('./../includes/sql_parse.php'); + $sql = @fread(@fopen('uf_tables.sql','r'),@filesize('uf_tables.sql')); + $sql = preg_replace('/uf_/', $_POST['mysql_prefix'], $sql); + $sql = remove_remarks($sql); + $sql = split_sql_file($sql); + for ($i=0;$i$lng['mysql_host'], + 'L.mysql_user'=>$lng['mysql_user'], + 'L.database'=>$lng['db_name'], + 'L.mysql_pass'=>$lng['mysql_pass'], + 'L.mysql_prefix'=>$lng['mysql_prefix'], + 'L.submit'=>$lng['start_install'], + ); + include('./tpls/install_step4.tpl'); + break; + } + case 'step5': + { + echo $header.''.$lng['install_complete'].''; + break; + } + case 'step6': + { + DataBase::db_connect(); + if (isset($_POST['user_name'],$_POST['password'],$_POST['retype_password'],$_POST['email'])) + { + if ($_POST['password']==$_POST['retype_password']) + { + if (ereg("^.+@.+\..+$", $_POST['email'])) + { + $sql = "UPDATE `".USERS_TABLE."` SET + `nick`='".htmlspecialchars($_POST['user_name'])."', + `pass`='".md5(htmlspecialchars($_POST['password']))."', + `email`='".htmlspecialchars($_POST['email'])."', + `lang`= '".$_COOKIE['lang']."', + `regdate`='".time()."', + `lastvisit`='".time()."' + WHERE `u_id`='1';"; + DataBase::sql_query($sql,'CRITICAL','Could not update user. Error with install script!'); + $sql = "UPDATE `".POSTS_TABLE."` SET `ptime`='".time()."' WHERE `p_id`='1'"; + DataBase::sql_query($sql,'CRITICAL','Could not update post. Error with install script!'); + $sql = "UPDATE `".TOPICS_TABLE."` SET `lastpost_time`='".time()."' WHERE `t_id`='1'"; + DataBase::sql_query($sql,'CRITICAL','Could not update topic. Error with install script!'); + header('Location: index.php?page=step7'); + } + else + { + alert($lng['invalid_email']); + } + } + else + { + alert($lng['invalid_passwords']); + } + } + else + { + if (!isset($_POST['user_name'])) { $_POST['user_name'] = ''; } + if (!isset($_POST['email'])) { $_POST['email'] = ''; } + $_POST['password'] = ''; + $_POST['retype_password'] = ''; + } + echo $header; + $skin = array( + 'L.user_name'=>$lng['user_name'], + 'L.password'=>$lng['password'], + 'L.retype_password'=>$lng['retype_password'], + 'L.email'=>$lng['email'], + 'L.submit'=>$lng['save'] + ); + include('./tpls/install_step6.tpl'); + break; + } + case 'step7': + { + $open = @fopen('../config.php','a+'); + $config_file = @fread($open,@filesize('../config.php')); + $config_file = str_replace('false','true',$config_file); + @fwrite(@fopen('../config.php','w'),$config_file) or message_die('GENERAL','Could not write config file. Error with installation!',''); + echo $header.''.$lng['info_2'].''; + break; + } +} +?> diff --git a/install/licence.html b/install/licence.html new file mode 100644 index 0000000..ecadb99 --- /dev/null +++ b/install/licence.html @@ -0,0 +1,627 @@ +

    GNU GENERAL PUBLIC LICENSE

    +

    Version 3, 29 June 2007

    + +

    Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>

    + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed.

    + +

    Preamble

    + +

    The GNU General Public License is a free, copyleft license for +software and other kinds of works.

    + +

    The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too.

    + +

    When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things.

    + +

    To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others.

    + +

    For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights.

    + +

    Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it.

    + +

    For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions.

    + +

    Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users.

    + +

    Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free.

    + +

    The precise terms and conditions for copying, distribution and +modification follow.

    + +

    TERMS AND CONDITIONS

    + +

    0. Definitions.

    + +

    “This License” refers to version 3 of the GNU General Public License.

    + +

    “Copyright” also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks.

    + +

    “The Program” refers to any copyrightable work licensed under this +License. Each licensee is addressed as “you”. “Licensees” and +“recipients” may be individuals or organizations.

    + +

    To “modify” a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a “modified version” of the +earlier work or a work “based on” the earlier work.

    + +

    A “covered work” means either the unmodified Program or a work based +on the Program.

    + +

    To “propagate” a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well.

    + +

    To “convey” a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying.

    + +

    An interactive user interface displays “Appropriate Legal Notices” +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion.

    + +

    1. Source Code.

    + +

    The “source code” for a work means the preferred form of the work +for making modifications to it. “Object code” means any non-source +form of a work.

    + +

    A “Standard Interface” means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language.

    + +

    The “System Libraries” of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +“Major Component”, in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it.

    + +

    The “Corresponding Source” for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work.

    + +

    The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source.

    + +

    The Corresponding Source for a work in source code form is that +same work.

    + +

    2. Basic Permissions.

    + +

    All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law.

    + +

    You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you.

    + +

    Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary.

    + +

    3. Protecting Users' Legal Rights From Anti-Circumvention Law.

    + +

    No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures.

    + +

    When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures.

    + +

    4. Conveying Verbatim Copies.

    + +

    You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program.

    + +

    You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee.

    + +

    5. Conveying Modified Source Versions.

    + +

    You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions:

    + +
      +
    • a) The work must carry prominent notices stating that you modified + it, and giving a relevant date.
    • + +
    • b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + “keep intact all notices”.
    • + +
    • c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it.
    • + +
    • d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so.
    • +
    + +

    A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +“aggregate” if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate.

    + +

    6. Conveying Non-Source Forms.

    + +

    You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways:

    + +
      +
    • a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange.
    • + +
    • b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge.
    • + +
    • c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b.
    • + +
    • d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements.
    • + +
    • e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d.
    • +
    + +

    A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work.

    + +

    A “User Product” is either (1) a “consumer product”, which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, “normally used” refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product.

    + +

    “Installation Information” for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made.

    + +

    If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM).

    + +

    The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network.

    + +

    Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying.

    + +

    7. Additional Terms.

    + +

    “Additional permissions” are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions.

    + +

    When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission.

    + +

    Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms:

    + +
      +
    • a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or
    • + +
    • b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or
    • + +
    • c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or
    • + +
    • d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or
    • + +
    • e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or
    • + +
    • f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors.
    • +
    + +

    All other non-permissive additional terms are considered “further +restrictions” within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying.

    + +

    If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms.

    + +

    Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way.

    + +

    8. Termination.

    + +

    You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11).

    + +

    However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation.

    + +

    Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice.

    + +

    Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10.

    + +

    9. Acceptance Not Required for Having Copies.

    + +

    You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so.

    + +

    10. Automatic Licensing of Downstream Recipients.

    + +

    Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License.

    + +

    An “entity transaction” is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts.

    + +

    You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it.

    + +

    11. Patents.

    + +

    A “contributor” is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's “contributor version”.

    + +

    A contributor's “essential patent claims” are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, “control” includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License.

    + +

    Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version.

    + +

    In the following three paragraphs, a “patent license” is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To “grant” such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party.

    + +

    If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. “Knowingly relying” means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid.

    + +

    If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it.

    + +

    A patent license is “discriminatory” if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007.

    + +

    Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law.

    + +

    12. No Surrender of Others' Freedom.

    + +

    If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program.

    + +

    13. Use with the GNU Affero General Public License.

    + +

    Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such.

    + +

    14. Revised Versions of this License.

    + +

    The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns.

    + +

    Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License “or any later version” applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation.

    + +

    If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program.

    + +

    Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version.

    + +

    15. Disclaimer of Warranty.

    + +

    THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

    + +

    16. Limitation of Liability.

    + +

    IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES.

    + +

    17. Interpretation of Sections 15 and 16.

    + +

    If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee.

    + +

    END OF TERMS AND CONDITIONS

    \ No newline at end of file diff --git a/install/tpls/index.html b/install/tpls/index.html new file mode 100644 index 0000000..ff17433 --- /dev/null +++ b/install/tpls/index.html @@ -0,0 +1,15 @@ + + + + + Untitled + + + + +

    + + +

    + + diff --git a/install/tpls/install_check_script.tpl b/install/tpls/install_check_script.tpl new file mode 100644 index 0000000..d209b57 --- /dev/null +++ b/install/tpls/install_check_script.tpl @@ -0,0 +1,49 @@ + +  + + + + + + + + + + + + + + + + + + + + + + + + +
    + ():   + + +
    + ():   + + +
    + ():   + + +
    + ():   + + +
    + ():   + + +
    + +
    diff --git a/install/tpls/install_step4.tpl b/install/tpls/install_step4.tpl new file mode 100644 index 0000000..8851424 --- /dev/null +++ b/install/tpls/install_step4.tpl @@ -0,0 +1,26 @@ + +  +
    + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    :
    :
    :
    + \ No newline at end of file diff --git a/install/tpls/install_step6.tpl b/install/tpls/install_step6.tpl new file mode 100644 index 0000000..2970cfc --- /dev/null +++ b/install/tpls/install_step6.tpl @@ -0,0 +1,22 @@ + +  + + + + + + + + + + + + + + + + + + +
    :
    :
    :
    :
    + \ No newline at end of file diff --git a/install/tpls/install_step8.tpl b/install/tpls/install_step8.tpl new file mode 100644 index 0000000..6355456 --- /dev/null +++ b/install/tpls/install_step8.tpl @@ -0,0 +1,279 @@ + +  + + + + + + + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + :  
    +    +
    + +
    + :   + + +
    + :   + + +
    + :  
    +    +
    + +
    + :   + + +
    + :   + + value="1"> +
    + :   + + value="1"> +
    +  + + + + + + + +
    + +
    + + + + + + + + + + + +
    + :   + + +
    + :   + + +
    +  + + + + + + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + :   + + value="1"> +
    + :   + + +
    + :   + + +
    + :   + + +
    +  + + + + + + + +
    + +
    + + + + + + + + + + + + + + + + +
    + :   + + value="1"> +
    + :   + + +
    + :   + + +
    +  + + + + + + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + :   + + value="1"> +
    + :   + + value="1"> +
    + :   + + value="1"> +
    + :   + + value="1"> +
    + :   + + value="1"> +
    + + + +
    + diff --git a/install/tpls/invalidfile_body.tpl b/install/tpls/invalidfile_body.tpl new file mode 100644 index 0000000..4ab39bb --- /dev/null +++ b/install/tpls/invalidfile_body.tpl @@ -0,0 +1,5 @@ +
    + , + : +
    +  \ No newline at end of file diff --git a/install/uf_tables.sql b/install/uf_tables.sql new file mode 100644 index 0000000..6ad74c2 --- /dev/null +++ b/install/uf_tables.sql @@ -0,0 +1,396 @@ +#uF tables for uForum + +#---------------------------------------------------- + +#- +#- Table structure for `uf_banlist` +#- + +CREATE TABLE `uf_banlist` ( + `b_id` mediumint(8) NOT NULL auto_increment, + `u_id` varchar(8) NOT NULL default '-2', + `IP` varchar(15) NOT NULL default '0.0.0.0', + `motive` varchar(40) NOT NULL default '', + PRIMARY KEY (`b_id`) +) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +#- +#- Table structure for `uf_banlist` +#- + + +#---------------------------------------------------- + +#- +#- Table structure for `uf_categories` +#- + +CREATE TABLE `uf_categories` ( + `c_id` mediumint(8) NOT NULL default '0', + `name` varchar(30) NOT NULL default '', + `sort` mediumint(8) NOT NULL default '0', + PRIMARY KEY (`c_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +#- +#- Table structure for `uf_categories` +#- + +INSERT INTO `uf_categories` VALUES (1, 'Testowa Kategoria', 1); + +#---------------------------------------------------- + +#- +#- Table structure for `uf_censorlist` +#- + +CREATE TABLE `uf_censorlist` ( + `w_id` mediumint(8) NOT NULL default '0', + `word` varchar(45) NOT NULL default '', + PRIMARY KEY (`w_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +#- +#- Table structure for `uf_censorlist` +#- + + +#---------------------------------------------------- + +#- +#- Table structure for `uf_config` +#- + +CREATE TABLE `uf_config` ( + `name` varchar(255) NOT NULL default '', + `value` text NOT NULL, + PRIMARY KEY (`name`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +#- +#- Table structure for `uf_config` +#- + +INSERT INTO `uf_config` VALUES ('forumname', 'Forum Test'); +INSERT INTO `uf_config` VALUES ('forumpatch', ''); +INSERT INTO `uf_config` VALUES ('meta_keywords', ''); +INSERT INTO `uf_config` VALUES ('meta_description', ''); +INSERT INTO `uf_config` VALUES ('defaultlang', 'Polish'); +INSERT INTO `uf_config` VALUES ('defaultskin', '1'); +INSERT INTO `uf_config` VALUES ('show_time_generation', '1'); +INSERT INTO `uf_config` VALUES ('disable_forum', ''); +INSERT INTO `uf_config` VALUES ('date_install', '1162663995'); +INSERT INTO `uf_config` VALUES ('use_censorlist', '1'); +INSERT INTO `uf_config` VALUES ('allow_warns', '1'); +INSERT INTO `uf_config` VALUES ('warns_in_topic', '1'); +INSERT INTO `uf_config` VALUES ('enable_confirms', '1'); +INSERT INTO `uf_config` VALUES ('allow_send_email', '1'); +INSERT INTO `uf_config` VALUES ('forum_counter','0'); +INSERT INTO `uf_config` VALUES ('limit_tpid', '20'); +INSERT INTO `uf_config` VALUES ('limit_ftid', '20'); +INSERT INTO `uf_config` VALUES ('limit_users', '30'); +INSERT INTO `uf_config` VALUES ('shoutbox_max_time', '14400'); +INSERT INTO `uf_config` VALUES ('shoutbox_max', '50'); +INSERT INTO `uf_config` VALUES ('view_shoutbox', '1'); +INSERT INTO `uf_config` VALUES ('allow_upload_avatars', '1'); +INSERT INTO `uf_config` VALUES ('forumdesc', 'Tu wpisz swój opis forum'); +INSERT INTO `uf_config` VALUES ('ip_post_for_mod', '1'); +INSERT INTO `uf_config` VALUES ('color_mod', 'green'); +INSERT INTO `uf_config` VALUES ('color_admin', 'red'); +INSERT INTO `uf_config` VALUES ('max_av_x', '150'); +INSERT INTO `uf_config` VALUES ('max_av_y', '150'); +INSERT INTO `uf_config` VALUES ('max_av_filesize', '102400'); +INSERT INTO `uf_config` VALUES ('sig_len', '300'); +INSERT INTO `uf_config` VALUES ('time_antiflood', '30'); +INSERT INTO `uf_config` VALUES ('tables_width', '900'); +INSERT INTO `uf_config` VALUES ('newpasswd_len', '6'); + + +#---------------------------------------------------- + +#- +#- Table structure for `uf_forums` +#- + +CREATE TABLE `uf_forums` ( + `f_id` mediumint(8) NOT NULL default '0', + `lock` tinyint(1) NOT NULL default '0', + `moderate` int(11) NOT NULL default '0', + `name` varchar(30) NOT NULL default '', + `desc` text NOT NULL, + `c_id` int(8) NOT NULL default '0', + `sort` mediumint(8) NOT NULL default '0', + PRIMARY KEY (`f_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +#- +#- Table structure for `uf_forums` +#- +INSERT INTO `uf_forums` VALUES (1, 0, 0, 'Testowe Forum', 'Pierwsze testowe forum skryptu Dynamic Script Forum.', 1, 1); + +#---------------------------------------------------- + +#- +#- Table structure for `uf_groups` +#- + +CREATE TABLE `uf_groups` ( + `g_id` mediumint(8) NOT NULL default '0', + `name` varchar(50) NOT NULL default '', + `desc` varchar(255) NOT NULL default '', + `m_id` mediumint(8) NOT NULL default '0', + `sort` mediumint(8) NOT NULL default '0', + PRIMARY KEY (`g_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +#- +#- Table structure for `uf_groups` +#- + +#---------------------------------------------------- + +#- +#- Table structure for `uf_msg_inbox` +#- + +CREATE TABLE `uf_msg_inbox` ( + `m_id` mediumint(8) NOT NULL default '0', + `u_id` mediumint(8) NOT NULL default '0', + `name` varchar(30) NOT NULL default '', + `message` text NOT NULL, + `time` varchar(40) NOT NULL default '', + `u_n_id` mediumint(8) NOT NULL default '0', + `read` int(1) NOT NULL default '0', + PRIMARY KEY (`m_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +#- +#- Table structure for `uf_msg_inbox` +#- + + +#---------------------------------------------------- + +#- +#- Table structure for `uf_msg_sentbox` +#- + +CREATE TABLE `uf_msg_sentbox` ( + `m_id` mediumint(8) NOT NULL default '0', + `u_id` mediumint(8) NOT NULL default '0', + `name` varchar(30) NOT NULL default '', + `message` text NOT NULL, + `time` varchar(40) NOT NULL default '', + `u_n_id` mediumint(8) NOT NULL default '0', + PRIMARY KEY (`m_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +#- +#- Table structure for `uf_msg_sentbox` +#- + + +#---------------------------------------------------- + +#- +#- Table structure for `uf_posts` +#- + +CREATE TABLE `uf_posts` ( + `p_id` mediumint(8) NOT NULL default '0', + `t_id` mediumint(8) NOT NULL default '0', + `u_id` mediumint(8) NOT NULL default '0', + `text` text NOT NULL, + `user_agent` varchar(255) NOT NULL, + `ptime` int(1) NOT NULL default '0', + `tp_id` int(2) NOT NULL default '0', + `f_id` mediumint(8) NOT NULL default '0', + `moderated` int(1) NOT NULL default '0', + `post_ip` varchar(30) NOT NULL default '0.0.0.0', + PRIMARY KEY (`p_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +#- +#- Table structure for `uf_posts` +#- + +INSERT INTO `uf_posts` VALUES +(1, 1, 1, 'Witamy na forum opartym na skrypcie uf(Dynamic Script Forum). Miłego korzystania z niego ;)
    W razie pytań, pisz:
    uf Forum', '', 1181666444, 1, 1, 0, '127.0.0.1'); + +#---------------------------------------------------- + +#- +#- Table structure for `uf_sessions` +#- + +CREATE TABLE `uf_sessions` ( + `s_id` mediumint(3) NOT NULL auto_increment, + `session_id` varchar(50) NOT NULL default '', + `u_id` int(2) NOT NULL default '0', + `time` varchar(30) NOT NULL default '', + PRIMARY KEY (`s_id`) +) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; + +#---------------------------------------------------- + +#- +#- Table structure for `uf_shoutbox` +#- + +CREATE TABLE `uf_shoutbox` ( + `m_id` mediumint(8) NOT NULL auto_increment, + `u_id` mediumint(8) NOT NULL, + `message` text NOT NULL, + `mtime` varchar(20) NOT NULL, + PRIMARY KEY (`m_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + + +#- +#- Table structure for `uf_skins` +#- + +CREATE TABLE `uf_skins` ( + `s_id` mediumint(8) NOT NULL default '0', + `name` varchar(20) NOT NULL default '', + PRIMARY KEY (`s_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +#- +#- Table structure for `uf_skins` +#- + +INSERT INTO `uf_skins` VALUES (1, 'subPurple'); + +#---------------------------------------------------- + +#- +#- Table structure for `uf_smiles` +#- + +CREATE TABLE `uf_smiles` ( + `s_id` mediumint(8) NOT NULL default '0', + `smile` varchar(20) NOT NULL default '', + `url` varchar(40) NOT NULL default '', + PRIMARY KEY (`s_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +#- +#- Table structure for `uf_smiles` +#- + +INSERT INTO `uf_smiles` VALUES (1, ':)', 'images/smiles/icon_smile.gif'); +INSERT INTO `uf_smiles` VALUES (2, ';(', 'images/smiles/icon_cry.gif'); +INSERT INTO `uf_smiles` VALUES (3, ':(', 'images/smiles/icon_sad.gif'); +INSERT INTO `uf_smiles` VALUES (4, ':/', 'images/smiles/icon_curve.gif'); +INSERT INTO `uf_smiles` VALUES (5, ':|', 'images/smiles/icon_neutral.gif'); +INSERT INTO `uf_smiles` VALUES (6, ':idea:', 'images/smiles/icon_idea.gif'); +INSERT INTO `uf_smiles` VALUES (7, ':lol:', 'images/smiles/icon_lol.gif'); +INSERT INTO `uf_smiles` VALUES (8, ';)', 'images/smiles/icon_wink.gif'); +INSERT INTO `uf_smiles` VALUES (9, ':?:', 'images/smiles/icon_question.gif'); +INSERT INTO `uf_smiles` VALUES (10, ':!:', 'images/smiles/icon_exclaim.gif'); +INSERT INTO `uf_smiles` VALUES (11, ':P', 'images/smiles/icon_razz.gif'); +INSERT INTO `uf_smiles` VALUES (12, ':roll:', 'images/smiles/icon_rolleyes.gif'); +INSERT INTO `uf_smiles` VALUES (13, ':>', 'images/smiles/icon_smile2.gif'); +INSERT INTO `uf_smiles` VALUES (14, ':evil:', 'images/smiles/icon_twisted.gif'); +INSERT INTO `uf_smiles` VALUES (15, ':o', 'images/smiles/icon_surprised.gif'); +INSERT INTO `uf_smiles` VALUES (16, ':mad:', 'images/smiles/icon_mad.gif'); +INSERT INTO `uf_smiles` VALUES (17, ':redface:', 'images/smiles/icon_redface.gif'); + +#---------------------------------------------------- + +#- +#- Table structure for `uf_topics` +#- + +CREATE TABLE `uf_topics` ( + `t_id` mediumint(8) NOT NULL default '0', + `f_id` mediumint(8) NOT NULL default '0', + `lock` int(1) NOT NULL default '0', + `sticky` int(1) NOT NULL, + `name` varchar(100) NOT NULL default '', + `author` mediumint(8) NOT NULL default '0', + `lastpost_time` int(1) NOT NULL, + PRIMARY KEY (`t_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +#- +#- Table structure for `uf_topics` +#- + +INSERT INTO `uf_topics` VALUES (1, 1, 0, 0, 'Witamy na forum uf', 1,0); + +#---------------------------------------------------- + +#- +#- Table structure for `uf_users` +#- + +CREATE TABLE `uf_users` ( + `u_id` mediumint(8) NOT NULL default '0', + `nick` varchar(25) NOT NULL default '', + `pass` varchar(32) NOT NULL default '', + `email` varchar(40) default NULL, + `rank` int(11) NOT NULL default '0', + `regdate` int(1) NOT NULL default '0', + `lastvisit` int(1) NOT NULL default '0', + `gg` int(7) NOT NULL default '0', + `allow_gg` tinyint(1) NOT NULL default '0', + `allow_email` tinyint(1) NOT NULL default '0', + `allow_qr` tinyint(1) NOT NULL default '0', + `view_shoutbox` int(1) NOT NULL default '1', + `skin` mediumint(4) NOT NULL default '0', + `lang` varchar(30) NOT NULL default '', + `limit_tpid` mediumint(2) NOT NULL default '15', + `limit_ftid` mediumint(2) NOT NULL default '20', + `limit_users` mediumint(2) NOT NULL default '30', + `sig` text NOT NULL, + `avatar` varchar(100) NOT NULL default '', + `active` tinyint(1) NOT NULL default '0', + `posts` int(11) NOT NULL default '0', + `interests` varchar(100) NOT NULL default '', + PRIMARY KEY (`u_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +#- +#- Table structure for `uf_users` +#- + +INSERT INTO `uf_users` VALUES (-1, 'Guest', 'null', NULL, 0, 0, 0, 0, 0, 0, 0, 1, 1, '', 15, 20, 30, '', '', 0, 0, ''); +INSERT INTO `uf_users` VALUES (1, '%login%', '%pass%', '%email%', 2, '%regdate%', 0, 0, 1, 1, 1, 1, 1, '%lang%', 15, 20, 30, '', '', 1, 1, ''); + +#---------------------------------------------------- + +#- +#- Table structure for `uf_users_group` +#- + +CREATE TABLE `uf_users_group` ( + `id` mediumint(8) NOT NULL default '0', + `u_id` mediumint(8) NOT NULL default '0', + `g_id` mediumint(8) NOT NULL default '0', + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +#- +#- Table structure for `uf_users_group` +#- + + +#---------------------------------------------------- + +#- +#- Table structure for `uf_warns` +#- + +CREATE TABLE `uf_warns` ( + `w_id` mediumint(8) NOT NULL auto_increment, + `u_id` mediumint(8) NOT NULL default '0', + `value` varchar(10) NOT NULL default '', + `motive` varchar(255) NOT NULL default '', + PRIMARY KEY (`w_id`) +) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +#- +#- Table structure for `uf_warns` +#- diff --git a/lngs/Polish/admin.php b/lngs/Polish/admin.php new file mode 100644 index 0000000..db86d77 --- /dev/null +++ b/lngs/Polish/admin.php @@ -0,0 +1,286 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +include('./../lngs/Polish/wysiwyg.php'); +// +//on all...------------------------------------------------ +// +$lng['with']='z'; +$lng['page']='Strona'; +$lng['invalid_email']='Nieprawidłowy adres email!'; +$lng['uf_pa']='µForum - Panel Administracyjny'; +$lng['uf_pa_nav']='µForum
    PA'; +$lng['go_to_forum']='Przejdź na forum'; +$lng['index']='Indeks'; +$lng['scriptstat']='Stan skryptu'; +$lng['scriptconfig']='Ustawienia'; +$lng['admin_forums']='Zarządzaj forami'; +$lng['admin_groups']='Grupy'; +$lng['mass_email']='Masowa wiadomość'; +$lng['styles']='Style'; +$lng['admin_users']='Użytkownicy'; +$lng['admin_banlist']='Banuj użytkowników'; +$lng['admin_censorlist']='Cenzura słów'; +$lng['admin_smilelist']='Zarządzaj emotikonami'; +$lng['invalidmode']='Nieprawidłowa opcja pliku'; +$lng['submit']='Zapisz'; +$lng['reset']='Wyczyść'; +$lng['yournotadmin']='Nie jesteś administratorem'; +$lng['allow']='Włącz'; +$lng['yes']='Tak'; +$lng['no']='Nie'; +$lng['lpassw'] = 'Hasło'; +// +//on mass email....------------------------------------------- +// +$lng['mass_email2']='Wyślij email do wszystkich użytkowników'; +$lng['msg_content']='Treść wiadomości'; +$lng['mass_email3']='Masowa wiadomość z forum %forum%'; +$lng['mass_email_sended']='Masowa wiadomość przez email została rozesłana.
    Powrót do strony głównej administracji'; +$lng['mass_email_disabled']='Masowa wiadomość przez email została wyłączona w ustawieniach forum.
    Powrót do strony głównej administracji'; +$lng['to_short_msg_content']='Za krótka treść wiadomości!'; +// +//on admin groups....------------------------------------------- +// +$lng['edit_group']='Edytuj grupę'; +$lng['new_group']='Nowa grupa'; +$lng['group_name']='Nazwa grupy'; +$lng['group_desc']='Opis grupy'; +$lng['group_mod']='Moderator grupy'; +$lng['group_saved']='Grupa została zapisana.
    Powrót do administracji grupami.'; +$lng['to_short_group_name'] = 'Nazwa forum jest za krótka!'; +$lng['c_delete_group']='Czy NAPEWNO chcesz usunąć grupę?'; +// +//on admin users... -------------------------------------------- +// +$lng['allow_shoutbox']='Pokaż ShoutBox'; +$lng['no_user']='Użytkownik nie istnieje!'; +$lng['incorrect_password']='Nieprawidłowe obecne hasło!'; +$lng['incorrect_password2']='Hasła nie pasują do siebie!'; +$lng['user']='Użytkownik'; +$lng['luregister']='Zarejestrowany'; +$lng['profile_modernized']='Twój profil został zaktualizowany.
    Powrót do administracji uzytkownikami.
    '; +$lng['luinterests']='Zainteresowania'; +$lng['save']='Zapisz'; +$lng['user_name']='Nazwa użytkownika'; +$lng['profile_settings']='Ustawienia profilu'; +$lng['general_settings']='Ustawienia ogólne'; +$lng['avatar_file']='Wyślij avatar z komputera'; +$lng['signature_settings']='Ustawienia podpisu'; +$lng['avatar_settings']='Ustawienia Avatara'; +$lng['allow_gg']='Pokaż moje GG'; +$lng['allow_email']='Pokaż mój e-mail'; +$lng['allow_qr']='Pokaż szybką odpowiedź'; +$lng['picture_adress']='Adres do obrazka'; +$lng['serve_email']='Podaj e-mail'; +$lng['new_password']='Nowe hasło'; +$lng['confirm_password']='Powtórz hasło'; +$lng['gg_number']='Numer Gadu-Gadu'; +$lng['sig']='Podpis'; +$lng['lulastvisit']='Ostatnia wizyta'; +$lng['user_name']='Nazwa użytkownika'; +$lng['admin_settings']='Ustawienia administatora'; +$lng['user_rank']='Ranga użytkownika'; +$lng['user_actived']='Użytkownik jest aktywny'; +$lng['sort_u_by']='Sortuj użytkowników według'; +$lng['desc']='Rosnąco'; +$lng['lgo']='Wykonaj'; +$lng['never']='Nigdy'; +$lng['c_delete_user']='Czy NAPEWNO chcesz usunąć użytkownika?'; +$lng['user_deleted']='Użytkownik został skasowany.
    Powrót do administracji użytkownikami.'; +$lng['signature_too_long']='Podpis jest za długi!'; +// +//on main page...------------------------------------------------ +// +$lng['forum_stats']='Statystyki Forum'; +$lng['pa_mainpage']='Strona Główna PA'; +$lng['pa_welcome']='Witamy w panelu administracji skryptu µForum!
    Możesz tutaj zmieniać ustawienia forum, edytować konta użytkowników, banować, zarządzać grupami oraz forami. Jeżeli nie jesteś administratorem - wyloguj się natychmiast! Pamiętaj - aby forum było bezpieczne, musi być zawsze aktualne!'; +$lng['name']='Nazwa'; +$lng['value']='Wartość'; +$lng['forum_installed']='Data instalacji skryptu'; +$lng['topics']='Liczba tematów'; +$lng['posts']='Liczba postów'; +$lng['scriptversion']='Wersja skryptu'; +$lng['updates']='Aktualizacje'; +$lng['noupdates']='Twoje forum jest aktualne.'; +$lng['updatenow']='Skrypt jest nieaktualny, zaaktualizuj najszybciej!'; +// +//on check script.......---------------------------------------- +// +$lng['invalid_md5sum']='Nieprawidłowa wielkość pliku!'; +$lng['original_sum']='Praw. wartość'; +$lng['actual_sum']='Aktualna wartość'; +$lng['files_is_good']='Wszystkie pliki są poprawne!'; +$lng['files_not_good']='Nie wszystkie pliki są poprawne. Jest ich: '; +$lng['php_version']='Wersja PHP'; +$lng['mysql_version']='Wersja mySQL'; +$lng['not_writable']='Katalog nie do zapisu!'; +$lng['is_writable']='Katalog do zapisu'; +$lng['catalog']='Katalog'; +$lng['db_size']='Wielkość bazy'; +$lng['forum_size']='Wielkość plików forum'; +// +//on forum config....-------------------------------------------------- +// +//|| messages------------------- +$lng['no_skin']='Nie podałeś domyślnego stylu!'; +$lng['no_limit_tpid']='Nie podałeś limitu postów!'; +$lng['no_limit_ftid']='Nie podałeś limitu tematów!'; +$lng['no_limit_users']='Nie podałeś limitu użytkowników!'; +$lng['no_lang']='Nie podałeś domyślnego języka!'; +$lng['no_path']='Nieprawidłowo zapisana ścieżka forum!'; +$lng['invalid_forum_name']='Nazwa dla forum musi być dłuższa niż 3 znaki i nie dłuższa niż 30.'; +$lng['invalid_forum_desc']='Opis dla forum musi być dłuższy niż 3 znaki i nie dłuższy niż 30.'; +$lng['forum_config_modernized']='Konfiguracja forum została zmianiona.
    Powrót do konfiguracji skryptu.'; +//|| shoutbox------------------ +$lng['shoutbox_preferences']='Ustawienia ShoutBox\'a'; +$lng['shoutbox_time_clear']='Maksymalny czas (w sek.) wiadomości'; +$lng['shoutbox_max_view']='Maksymalna ilość pokazywanych wiadomości'; +$lng['allow_shoutbox']='Włącz ShoutBox'; +//|| other---------------------- +$lng['sig_len']='Długość podpisu'; +$lng['color_mod']='Kolor Moderatora'; +$lng['color_admin']='Kolor Administratora'; +$lng['time_antiflood']='Czas reakcji (antiflood)'; +$lng['newpasswd_len']='Długość generowanego hasła'; +$lng['max_av_x']='Maksymalna szerokość awataru'; +$lng['max_av_y']='Maksymalna wysokość awataru'; +$lng['max_av_filesize']='Maksymalna rozmiar awataru(w KB)'; +$lng['tables_width']='Szerokość forum (w pikselach)'; +$lng['allow_ip_for_mods'] = 'Pokazuj IP postu moderatorom'; +$lng['forum_description']='Krótki opis forum'; +$lng['allow_upload_avatars']='Włącz wysyłanie awatatów na serwer'; +$lng['enable_send_email']='Wysyłaj email\'e'; +$lng['warns_enabled']='Ostrzeżenia włączone'; +$lng['warns_in_topic']='Poziom ostrzeżeń w temacie'; +$lng['general_preferences']='Ustawienia ogólne'; +$lng['users_preferences']='Ustawienia użytkowników'; +$lng['forum_path']='Ścieżka do forum'; +$lng['t_forum_path']='Jeżeli forum działa poprawnie nie zmieniaj tej ścieżki!'; +$lng['forum_name']='Nazwa forum'; +$lng['forum_disabled']='Forum wyłączone'; +$lng['t_forum_disabled']='Aby wyłączyć forum podaj powód, w innym przypadku pozostaw pole puste!'; +$lng['default_skin']='Domyślny styl forum (Zarządzaj)'; +$lng['default_skin2']='Styl forum'; +$lng['select_skin']='Wybierz styl'; +$lng['default_lang']='Domyślny język'; +$lng['select_lang']='Wybierz język'; +$lng['positioning_preferences']='Pozycjonowanie'; +$lng['meta_keywords']='Słowa kluczowe'; +$lng['meta_description']='Opis'; +$lng['other']='Inne'; +$lng['show_time_generation']='Pokazuj czas generowania strony'; +$lng['enable_censorlist']='Cenzura słów włączączona'; +$lng['enable_confirms']='Potwierdzenia czynności(Kasacja, przenoszenie, itp.)'; +$lng['select_value']='Wybierz wartość'; +$lng['limit_users']='Użytkowników na stronę'; +$lng['limit_posts']='Postów na stronę'; +$lng['limit_topics']='Tematów na stronę'; +$lng['admin_mod_preferences']='Ustawienia administracji/moderowania'; +// +//on admin forums...--------------------------------------------------- +// +//|| messages-------------------- +$lng['to_short_cat_name'] = 'Nazwa kategorii jest za krótka!'; +$lng['to_short_forum_name'] = 'Nazwa forum jest za krótka!'; +$lng['to_short_forum_desc'] = 'Opis forum jest za krótki!'; +$lng['cat_saved']='Kategoria została zapisana.
    Powrót do administracji forami.'; +$lng['forum_saved']='Forum zostało zapisane.
    Powrót do administracji forami.'; +$lng['c_del_forum']='CZY NAPEWNO CHCESZ USUNĄĆ DZIAŁ ZE WSZYSTKIMI POSTAMI I TEMATAMI?'; +$lng['c_del_cat']='CZY NAPEWNO CHCESZ USUNĄĆ KATEGORIĘ I WSZYSTKIE DZIAŁY Z ZAWARTOŚCIĄ?'; +//|| main------------------------ +$lng['new_cat']='Nowa kategoria'; +$lng['change_cat']='Wybierz kategorię'; +$lng['forum_locked']='Forum zablokowane'; +$lng['forum_desc']='Opis forum'; +$lng['edit_cat']='Edytuj kategorię'; +$lng['cat_name']='Nazwa kategorii'; +$lng['new_cat']='Nowa kategoria'; +$lng['edit_forum']='Edytuj forum'; +$lng['new_forum']='Nowe forum'; +$lng['forums_and_cats']='Fora i kategorie'; +$lng['moveup']='W górę'; +$lng['movedown']='W dół'; +$lng['delete']='Usuń'; +$lng['here_write_name_forum']='Tu wpisz nazwę forum'; +$lng['here_write_name_cat']='Tu wpisz nazwę kategorii'; +$lng['new_forum_submit']='Nowe Forum'; +$lng['new_cat_submit']='Nowa Kategoria'; +$lng['moderate_posts']='Włącz moderowanie postów'; +$lng['no_forum']='Forum nie istnieje!
    Powrót do administracji forami.'; +$lng['no_category']='Kategoria nie istnieje!
    Powrót do administracji forami.'; +// +//on censorlist...--------------------------------------------------------- +// +$lng['show_all_words']='Pokaż wszystkie słowa (Uwaga, może obciążyć serwer!)'; +$lng['view_all_words']='Pokaż wszystkie słowa'; +$lng['delete_all_words']='Usuń wszystkie słowa (Uwaga, może obciążyć serwer!)'; +$lng['what_do_you_want']='Co chcesz zrobić'; +$lng['add_from_file']='Dodaj z pliku *.txt'; +$lng['add_word']='Dodaj słowo'; +$lng['words_added']='Słowa zostały dodane.
    Powrót do cenzury słów'; +$lng['word_added']='Słowo zostało dodane.
    Powrót do cenzury słów'; +$lng['table_cleanout']='Wszystkie słowa zostały usunięte.
    Powrót do cenzury słów'; +$lng['edit']='Edytuj'; +$lng['file_name']='Nazwa pliku'; +$lng['word_name']='Słowo'; +$lng['no_words']='Cenzura słów jest pusta'; +$lng['word_deleted']='Słowo zostało usunięte.
    Powrót do cenzury słów.'; +$lng['word_edited']='Słowo zostało wyedytowane.
    Powrót do cenzury słów.'; +$lng['edit_word']='Edytuj słowo'; +// +//on banlist... ------------------------------------------------------------ +// +$lng['motive']='Powód'; +$lng['banlist_add_user']='Zabanuj Użytkownika'; +$lng['banlist_add_ip']='Zabanuj IP'; +$lng['banlist_add_all']='Zabanuj Użytkownika i IP'; +$lng['banlist_add_from_file']='Zabanuj IP z pliku *.txt'; +$lng['ban_deleted']='BAN został ściągnięty.
    Powrót do banlisty'; +$lng['ban_edited']='BAN został wyedytowany.
    Powrót do banlisty'; +$lng['ban_added']='BAN został dodany.
    Powrót do banlisty'; +$lng['banlist_no_items']='Banlista jest pusta'; +$lng['banlist_clean']='Wyczyść Banlistę'; +$lng['banlist_cleanout']='Wszystkie BANy zostały usunięte.
    Powrót do banlisty'; +$lng['banlist_info_1']='Jeżeli pole pozostawisz puste to nikt nie zostanie zbanowany po ID'; +$lng['banlist_info_2']='Jeżeli wpiszesz 0.0.0.0 to nikt nie zostanie zbanowany po IP'; +$lng['banlist_info_3']='IP w pliku oddzielaj klawiszem ENTER, nie używaj spacji!'; +$lng['banlist_edit_ban']='Edytuj bana'; +$lng['banlist_user_id']='Nr. ID użytkownika'; +$lng['no_ban_me']='Nie możesz zbanować samego siebie!'; +$lng['no_ban_admin']='Nie możesz zbanować administratora!'; +// +//on admin styles...--------------------------------------------------------- +// +$lng['admin_styles']='Zarządzaj stylami'; +$lng['install']='Instaluj'; +$lng['skins_added']='Styl został dodany.
    Powrót do administracji stylami.'; +$lng['skins_deleted']='Styl został usunięty.
    Powrót do administracji stylami.'; +$lng['invalid_skin']='Nieprawidłowa nazwa stylu.
    Powrót do administracji stylami.'; +$lng['styles_info_1']='Nie możesz kasować domyślnego stylu forum!'; +$lng['new_skin']='Nazwa nowego stylu'; +$lng['actual_skins']='Obecnie zainstalowane style'; +// +//on admin smiles...--------------------------------------------------------- +// +$lng['no_smile']='Emotikon nie istnieje!'; +$lng['smilelist_add']='Dodaj emotikon'; +$lng['smilelist_add_from_file']='Dodaj emotikony z pliku *.dsfpak'; +$lng['smilelist_edit']='Edytuj emotikonę'; +$lng['smilelist_clean']='Wyczyść listę emotikonów'; +$lng['smilelist_cleanout']='Wszystkie uśmieszki zostały usunięte.
    Powrót do administracji emotikonami'; +$lng['smile_added']='Emotikon został dodany.
    Powrót do administracji emotikonami'; +$lng['smiles_added']='Emotikony zostały dodane.
    Powrót do administracji emotikonami'; +$lng['smile_edited']='Emotikon został wyedytowany.
    Powrót do administracji emotikonami'; +$lng['smile_deleted']='Emotikon został usnięty.
    Powrót do administracji emotikonami'; +$lng['smilelist_no_items']='Lista emotikonów jest pusta'; +$lng['url']='Adres'; +$lng['smile']='Emotikon'; +$lng['smilelist_info_1']='Emotikony umieszczaj w formie: "emotka :: adres" oddzielając
    każdą linijkę enterem, bez spacji!'; +?> diff --git a/lngs/Polish/email.php b/lngs/Polish/email.php new file mode 100644 index 0000000..39ee98f --- /dev/null +++ b/lngs/Polish/email.php @@ -0,0 +1,43 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +//register message :] +$lng['email_welcome']='Witamy na forum'; +$lng['email_sent_forget_pass']='Twoje zapomniane hasło'; +$lng['email_register_msg']=' +Witamy na forum %forum%!
    +Zarejestrowałeś się na forum: %url_f% z IP: %ip%.
    +Miło nam Cię gościć, oto Twoje dane dotyczące logowania:
    +Login: %login%
    +Hasło: %pass%
    +Zapamiętaj te dane do logowania na forum(obecna wersja nie pozwala odzyskać hasła!).
    +Pamiętaj o przestrzeganiu regulaminu forum oraz +NETYKIETY
    -----------
    +Pozdrawiamy, administracja forum.
    '; +//send new passwd +$lng['email_newpasswd_msg']=' +Witamy na forum %forum%!
    +Otrzymałeś tego emaila, ponieważ poprosiłeś o nowe hasło do profilu na forum: %url_f% z IP: %ip%.
    +Oto Twoje obecne hasło i login (dane dotyczące logowania):
    +Login: %login%
    +Hasło: %pass%
    +Zapamiętaj te dane do logowania na forum.
    +
    -----------
    +Pozdrawiamy, administracja forum.
    '; +//account deleted :| +$lng['email_delete_msg']='Wiadomość z %forum%
    +Twoje konto zostało usunięte. Jeżeli chcesz dowiedzieć się więcej, skontaktuj się +z administracją forum.
    -----------
    +Pozdrawiamy, administracja forum.
    '; +//ban :D +$lng['email_ban_msg']='Wiadomość z %forum%
    +Twoje konto zostało zablokowane dożywotnio. Jeżeli chcesz dowiedzieć się więcej, + skontaktuj się z administracją forum.
    -----------
    +Pozdrawiamy, administracja forum.
    '; +?> diff --git a/lngs/Polish/index.html b/lngs/Polish/index.html new file mode 100644 index 0000000..408e221 --- /dev/null +++ b/lngs/Polish/index.html @@ -0,0 +1,15 @@ + + + + + Untitled + + + + +

    + + +

    + + diff --git a/lngs/Polish/install.php b/lngs/Polish/install.php new file mode 100644 index 0000000..09fe5e9 --- /dev/null +++ b/lngs/Polish/install.php @@ -0,0 +1,58 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +$lng['install_header']='Instalator skryptu µForum'; +$lng['licence']='Licencja'; +$lng['accept_licence']='Akceptuję warunki licencji'; +$lng['catalog']='Katalog'; +$lng['is_writable']='Jest do zapisu'; +$lng['not_writable']='Nie jest do zapisu.'; +$lng['php_version']='Wersja PHP'; +$lng['next_page']='Następny krok'; +$lng['click_next']='Jeżeli sam edytowałeś pliki, lub wiesz, co robisz - kliknij tutaj, aby kontynuować.'; +$lng['files_is_good']='Wszystkie pliki są poprawne!'; +$lng['files_not_good']='Nie wszystkie pliki są poprawne!'; +$lng['invalid_md5_sum']='Nieprawidłowa wielkość pliku!'; +$lng['original_sum']='Prawidłowa suma'; +$lng['actual_sum']='Aktualna suma'; +$lng['name']='Nazwa'; +$lng['value']='Wartość'; +$lng['no_next_page']='Popraw wszystkie błędy, aby przejść dalej.'; +$lng['mysql_host']='Adres bazy danych(domyślnie localhost)'; +$lng['mysql_user']='Użytkownik bazy'; +$lng['mysql_pass']='Hasło do bazy'; +$lng['db_name']='Nazwa bazy danych'; +$lng['mysql_prefix']='Prefiks dla tabel'; +$lng['install_complete']='Instalacja zakończona sukcesem.
    Zaraz zostaniesz przeniesiony do konfiguracji konta administratora'; +$lng['admin_name']='Nazwa administratora'; +$lng['admin_pass']='Hasło'; +$lng['retype_pass']='Powtórz hasło'; +$lng['admin_email']='Adres email'; +$lng['install_error_1']='Uzupełnij wszystkie pola'; +$lng['start_install']='Rozpocznij instalację'; +$lng['mysql_version']='Wersja MySQL'; +$lng['user_name']='Nazwa użytkownika'; +$lng['password']='Hasło'; +$lng['retype_password']='Powtórz hasło'; +$lng['email']='Adres email'; +$lng['save']='Zapisz'; +$lng['invalid_md5sum']='Nieprawidłowa suma kontrolna!'; +$lng['invalid_email']='Podałeś nieprawidłowy email!'; +$lng['info_1']='Zaraz zostaniesz przeniesiony do krótkiej konfiguracji skryptu'; +$lng['info_2']='Dziękujemy za wybranie µForum do obsługi Twojego forum! +Dołożymy wszelkich starań,
    aby skrypt był bezpieczny. Wszelkie aktualizacje +znajdziesz na stronie internetowej:
    PioDer Website
    Miłego dnia!'; +$lng['name_forum']='Nazwa Twojego Forum'; +$lng['no_lang']='Nie podałeś domyślnego języka!'; +$lng['no_path']='Nieprawidłowo zapisana ścieżka forum!'; +$lng['invalid_forum_name']='Nazwa dla forum musi być dłuższa niż dłuższa niż 3 znaki i nie dłuższa niż 30.'; +$lng['forum_config_modernized']='Konfiguracja forum została zmianiona.
    Powrót do konfiguracji skryptu.'; +$lng['invalid_passwords']='Hasła nie pasują do siebie!'; +?> diff --git a/lngs/Polish/main.php b/lngs/Polish/main.php new file mode 100644 index 0000000..b576068 --- /dev/null +++ b/lngs/Polish/main.php @@ -0,0 +1,251 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +include('./lngs/Polish/wysiwyg.php'); +//on header....------------------------------------------------------ +// +$lng['forumname']='Nazwa Forum'; +$lng['lastpost']='Ostatni Post'; +$lng['lusers']='Użytkownicy'; +$lng['lgroups']='Grupy'; +$lng['leprofile']='Edytuj Profil'; +$lng['lpm']='Prywatne Wiadomości'; +$lng['lregister']='Rejestracja'; +$lng['lsearch']='Wyszukiwarka'; +$lng['llogin']='Zaloguj'; +$lng['lunlogin']='Wyloguj'; +$lng['mainpage']='Strona Główna'; +$lng['llog_in']='Zaloguj'; +$lng['no_send_newpass']='Funkcja Wysyłania Emaili wyłączona. Aby odzyskać konto skontaktuj się z Administratorem Forum'; +// +//on search....--------------------------------------------------------- +// +$lng['insert_keywords']='Tu wpisz słowa wyszukiwania'; +$lng['view_user_topics']='Pokaż tematy użytkownika'; +$lng['search']='Szukaj'; +$lng['search_results']='Wyniki wyszukiwania'; +// +//on index....--------------------------------------------------------- +// +$lng['posts'] ='Postów'; +$lng['by'] = 'przez: '; +$lng['nopost'] = 'Brak postów'; +$lng['statistics']='Statystyki'; +$lng['showlastposts']='Pokaż ostatnie posty'; +$lng['forum_counter']='Forum odwiedzono %x% razy.'; +$lng['total_posts']='Nasi użytkownicy napisali %x% postów'; +$lng['reg_users']='Na forum jest zarejestrowanych %x% użytkowników'; +$lng['users_groups']='Grupy użytkowników: AdministratorModerator • Użytkownik'; +$lng['youareloggedas']='Jesteś zalogowany jako'; +$lng['youarenotlogd']='Nie jesteś zalogowany'; +$lng['last_user']='Ostatnio zarejestrował się'; +$lng['user']='Użytkownik'; +$lng['lactualtime']='Obecny czas to'; +$lng['sort_desc']='Do dołu'; +$lng['logged_users']='To forum przegląda %x% zalogowanych użytkowników (lista)'; +$lng['topic'] = 'Temat'; +$lng['sort_normal']='Do góry'; +// +//on profile....------------------------------------------------------- +// +$lng['lforgot_pass2']='Odzyskaj hasło'; +$lng['lforgot_pass']='Zapomniałeś hasła?'; +$lng['allow']='Włącz'; +$lng['allow_shoutbox']='Pokaż ShoutBox'; +$lng['select_value']='Wybierz wartość'; +$lng['limit_users']='Użytkowników na stronę'; +$lng['limit_posts']='Postów na stronę'; +$lng['limit_topics']='Tematów na stronę'; +$lng['avatar_file']='Wyślij avatar z komputera'; +$lng['user_info']='Informacje o użytkowniku'; +$lng['stat']= 'Status'; +$lng['invalid_lang']='Wybierz język!'; +$lng['invalid_email']='Adres Email jest nieprawidłowy!'; +$lng['invalid_skin']='Wybierz styl forum!'; +$lng['default_lang']='Domyślny język'; +$lng['select_lang']='Wybierz język'; +$lng['default_skin']='Domyślny styl'; +$lng['default_skin']='Domyślny Styl forum'; +$lng['select_skin']='Wybierz styl'; +$lng['default_skin']='Domyślny styl'; +$lng['lurank']='Poziom'; +$lng['showprofile']='Pokaż Profil'; +$lng['avatar']='Avatar'; +$lng['luregister']='Zarejestrowany'; +$lng['lulastvisit']='Ostatnia wizyta'; +$lng['luinterests']='Zainteresowania'; +$lng['user_name']='Nazwa użytkownika'; +$lng['profile_settings']='Ustawienia profilu'; +$lng['general_settings']='Ustawienia ogólne'; +$lng['signature_settings']='Ustawienia podpisu'; +$lng['avatar_settings']='Ustawienia Avatara'; +$lng['allow_gg']='Pokaż moje GG'; +$lng['allow_email']='Pokaż mój e-mail'; +$lng['allow_qr']='Pokaż szybką odpowiedź'; +$lng['picture_adress']='Adres do obrazka'; +$lng['serve_email']='Podaj e-mail'; +$lng['new_password']='Nowe hasło'; +$lng['confirm_password']='Powtórz hasło'; +$lng['gg_number']='Numer Gadu-Gadu'; +$lng['date_of_registration']='Data dołączenia'; +$lng['witch_all_post_forum']='z całej liczby forum.'; +$lng['sig']='Podpis'; +$lng['lastpost']='Ostatni post'; +$lng['contact']='Kontakt'; +$lng['lurank2']='Ranga'; +$lng['lmod']='Moderacja'; +$lng['addusrtogrp']='Dodaj użytkownika(nick)'; +$lng['delusrforgrp']='Usuń z grupy(nick)'; +$lng['empty_password']='Hasło jest puste!'; +$lng['key_not_valid']='Nieprawidłowy wynik dodawania!'; +// +//moderate... ------------------------------------------------------- +// +$lng['ban']='Zabanuj użytkownika'; +$lng['edit_profile']='Edytuj profil'; +$lng['admin_mod_administration']='Pole Admina/Mod\'a'; +// +//other...------------------------------------------------------------ +// +$lng['yesterday']='Wczoraj'; +$lng['today']='Dzisiaj'; +$lng['message_forum']='Komunikat Forum'; +$lng['page']='Strona'; +$lng['with']='z'; +$lng['admin']='Administrator'; +$lng['mod']='Moderator'; +$lng['move_topic']='Panel Moderacji :: Przesuń temat'; +$lng['showtopic']='Pokaż Temat'; +$lng['showforum']='Pokaż Forum'; +$lng['showgroup']='Pokaż Grupę'; +$lng['author']='Autor'; +$lng['info']='Komunikat Forum'; +$lng['islogout']='Zostałeś wylogowany'; +$lng['lpassw'] = 'Hasło'; +$lng['lgo']='Wykonaj'; +$lng['yes']='Tak'; +$lng['never']='Nigdy'; +$lng['no.']='nr'; +$lng['desc']='Rosnąco'; +$lng['script_generated']='Skrypt został wykonany w '; +$lng['no']='Nie'; +$lng['pa_link']='Administruj forum'; +$lng['select_forum']='Wybierz forum'; +$lng['empty']='Brak'; +$lng['sticky']='Przyklejony: '; +$lng['visible_of_post']='Kliknij tutaj, aby zatwierdzić post'; +$lng['post_moderated']='Ten post nie został jeszcze zatwierdzony u moderatora'; +$lng['moderated_post_text']='Treść nie zatwierdzonego postu'; +// +//on private messages.....-------------------------------------------- +// +$lng['write_pm'] = 'Napisz Prywatną wiadomość'; +$lng['pm_messages']='Prywatnych Wiadomości'; +$lng['inbox']='Skrzynka odbiorcza'; +$lng['sentbox']='Elementy wysłane'; +$lng['content_message']='Treśc Wiadomości'; +$lng['show_message']='Pokaż wiadomość'; +$lng['message_name']='Nazwa wiadomości'; +$lng['regdate2']='Dołączył'; +$lng['date']='Data'; +$lng['postinfo']='Info postu'; +// +//on format text....--------------------------------------------------- +// +$lng['editpost']='Edytuj Post'; +$lng['quote']='Cytuj'; +$lng['quote2']='Cytat'; +$lng['answer']='Odpowiedz w'; +$lng['smiles']='Emotikony'; +$lng['message']='Wiadomość (dodatkowo. dostępne tagi [code] i [quote])'; +$lng['save']='Zapisz'; +$lng['reset']='Wyczyść'; +$lng['writetopic']='Napisz temat'; +$lng['sort_u_by']='Sortuj użytkowników według'; +$lng['you_re']='Masz'; +$lng['seconds']='sekund'; +$lng['ltopicname']='Nazwa tematu'; +$lng['msgname']='Nazwa wiadomości'; +$lng['sticky_topic']='Przyklej temat'; +// +//on warnings...-------------------------------------------------------------- +// +$lng['show_warns']='Pokaż ostrzeżenia'; +$lng['motive']='Powód'; +$lng['value']='Wartość'; +$lng['all_warns']='Całkowity poziom ostrzeżeń'; +$lng['add_warn']='Dodaj ostrzeżenie'; +$lng['warn']='Ostrzeżenie'; +$lng['warns']='Ostrzeżeń'; +$lng['add']='Dodaj'; +$lng['delete']='Odejmij'; +$lng['warns_ban']='Zostałeś zbanowany, ponieważ Twój poziom ostrzeżeń wynosi 100%.'; +// +//messages...----------------------------------------------------------------- +// +$lng['signature_too_long']='Podpis jest za długi!'; +$lng['no_limit_tpid']='Nie podałeś limitu postów!'; +$lng['no_limit_ftid']='Nie podałeś limitu tematów!'; +$lng['no_limit_users']='Nie podałeś limitu użytkowników!'; +$lng['post_accepted']='Post został zaakceptowany.
    Powrót do tematu.'; +$lng['pass_changed']='Twóje hasło został zmienione. Poczekaj na emaila z danymi.'; +$lng['antiflood_enabled']= (isset($_COOKIE['antiflood_time'])) ? 'Blokada antifloodowa włączona. Odczekaj do '.date('d-m-Y, G:i',$_COOKIE['antiflood_time']).', aby wysłać temat/post' : ''; +$lng['c_delete_post']='Czy napewno chcesz skasować post?'; +$lng['c_delete_topic']='Czy napewno chcesz skasować temat?'; +$lng['c_delete_pm']='Czy napewno chcesz skasować prywatną wiadomość?'; +$lng['warns_disabled']='System ostrzeżeń wyłączony.'; +$lng['topic_moved']='Temat został przeniesiony.
    Powrót na forum.'; +$lng['youareexist']='Jesteś już zarejestrowany na forum!'; +$lng['account_disabled']='Twoje konto jest nieaktywne.
    Zostałeś wylogowany.'; +$lng['useraddedtogroup']='Użytkownik został dodany do grupy.
    Powrót na forum.'; +$lng['userdeletedforgroup']='Użytkownik został usunięty z grupy.
    Powrót na forum.'; +$lng['no_elements']='Brak elementów w tym folderze'; +$lng['werror_1']='Nieprawidłowa wartość ostrzeżenia!'; +$lng['invalidlogin']='Nieprawidłowy login'; +$lng['invalidpass']='Nieprawidłowe hasło'; +$lng['invalidpage']='Strona nie istnieje!'; +$lng['invalidmode']='Nieprawidłowa opcja pliku'; +$lng['no_group']='Grupa nie istnieje!
    Powrót do strony głównej grup.'; +$lng['message_sent']='Twoja wiadomość została wysłana
    Powrót na forum
    '; +$lng['perror_2']='Nie jesteś autorem tego postu albo moderatorem'; +$lng['empty password']='Podaj Hasło!'; +$lng['empty email']='Podaj Email!'; +$lng['warn_is_added']='Ostrzeżenie zostało dodane.
    Powrót na forum.'; +$lng['merror_1']='Nie jesteś autorem tej wiadomości.'; +$lng['merror_2']='Nie jesteś odbiorcą tej wiadomości.'; +$lng['no_message']='Wiadomość nie istnienie!'; +$lng['no_posting_topic_locked']='Nie masz prawa do pisania wiadomości w tym temacie.
    Temat jest zablokowany.'; +$lng['no_posting_forum_locked']='Nie masz prawa do pisania wiadomości w tym forum.
    Forum jest zablokowane.'; +$lng['pm_is_deleted']='Prywatna wiadomość została skasowana.
    Powrót do Prywatnych Wiadomości'; +$lng['profile_modernized']='Twój profil został zaktualizowany.
    Powrót na forum.
    '; +$lng['incorrect_password']='Nieprawidłowe obecne hasło!'; +$lng['incorrect_password2']='Hasła nie pasują do siebie!'; +$lng['user_is_exist']='Użytkownik o tej nazwie już istnieje'; +$lng['account_created']='Twoje konto zostało utworzone. Możesz się zalogować.'; +$lng['post_is_saved']='Twoja wiadomość została zapisana.
    Powrót na forum.'; +$lng['perror_1']='Nie wszystkie pola formularza zostały wypełnione bądź wiadomość jest krótsza niż 10 znaków!'; +$lng['no_forum']='Forum nie istnieje.'; +$lng['no_user']='Użytkownik nie istnieje.'; +$lng['no_topic']='Temat nie istnieje.'; +$lng['tlocked']='Temat został zablokowany'; +$lng['tunlocked']='Temat został odblokowany.'; +$lng['pdeleted']='Post został usunięty.'; +$lng['tdeleted']='Temat został usunięty.'; +$lng['is_no_mod']='Nie masz uprawnień moderatora.'; +$lng['no_groups']='Żadna grupa nie istnieje'; +$lng['tstuck']='Temat został przyklejony.'; +$lng['tunstuck']='Temat został odklejony.'; +$lng['too_short_keywords']='Poszukiwany ciąg znaków jest za krótki!'; +//shoutbox +$lng['insert_msg']='Wpisz wiadomość'; +//user agent +$lng['system']='System:'; +$lng['browser']='Przeglądarka:'; +$lng['unknown']='Nieznany(a)'; +?> diff --git a/lngs/Polish/quick_reply.php b/lngs/Polish/quick_reply.php new file mode 100644 index 0000000..a8b86b5 --- /dev/null +++ b/lngs/Polish/quick_reply.php @@ -0,0 +1,15 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +$lng['title']='Szybka Odpowiedź'; +$lng['message']='Wiadomość'; +$lng['save']='Zapisz'; +$lng['reset']='Wyczyść'; +$lng['message']='Wiadomość (dodatkowo. dostępne tagi [code] i [quote])'; +?> diff --git a/lngs/Polish/wysiwyg.php b/lngs/Polish/wysiwyg.php new file mode 100644 index 0000000..e75df53 --- /dev/null +++ b/lngs/Polish/wysiwyg.php @@ -0,0 +1,19 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +$lng['function_disabled_html_mode']='Funkcja niedostępna w trybie HTML'; +$lng['lang_titles_1']=' +var buttonNameLng = new Array("Czcionka","Nagłówki","separator","Pogrubienie","Pochyła","Podkreślenie","Przekreślenie","separator","Wytnij","Skopiuj","Wklej","separator","Indeks dolny","Indeks górny","separator","Wyrównanie w lewo","Wyśrodkuj","Wyrównanie w prawo","Wyjustowanie","Wcięcie","Usuń wcięcie","separator","Wstaw punktory","Wstaw numerację","separator","Adres","Wstaw obrazek","separator","Cofnij","Powtórz");'; +$lng['lang_titles_2']=' +var buttonName2Lng = new Array("Specjalny znak","sepatator","Kolor czcionki","Kolor podkreślenia","separator","Pozioma linia","separator","Usuń formatowanie","separator","Małe na duże","Duże na małe","separator","tryb HTML","separator");'."\n"; +$lng['url_addr']='Proszę wpisać adres odnośnika:'; +$lng['url_title']='Proszę wpisać tytuł odnośnika:'; +$lng['img_url']='Proszę podać adres do obrazka:'; +$lng['enter_informations']='Proszę podać wszystkie informacje!'; +?> diff --git a/lngs/index.html b/lngs/index.html new file mode 100644 index 0000000..c2733fd --- /dev/null +++ b/lngs/index.html @@ -0,0 +1,15 @@ + + + + + Untitled + + + + +

    + + +

    + + diff --git a/login.php b/login.php new file mode 100644 index 0000000..fc65650 --- /dev/null +++ b/login.php @@ -0,0 +1,189 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./config.php'); +include('./includes/constants.php'); +include('./includes/class_db.php'); +include('./includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./includes/sessions.php'); +include('./includes/class_user.php'); +include('./common.php'); +include('./includes/class_email.php'); +include('./includes/class_overall.php'); +$default_lang = Over::DefaultLang(); +include('./lngs/'.$default_lang.'/main.php'); +include('./lngs/'.$default_lang.'/email.php'); +include('./includes/classes/secure.php'); +$start = Over::TimeGeneration(); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +foreach ($_POST as $name => $value) +{ + if ($forum_config['use_censorlist']) + { + $_POST[$name] = Secure::UseCensorlist($value); + } +} +if (isset($_GET['mode'])) +{ + switch($_GET['mode']) + { + case 'logout': + { + if ($_SESSION['uid']==0) + { + header('Location: index.php'); + } + $uid = $_SESSION['uid']; + $_SESSION['uid']=0; + $_SESSION['sessionid']='0'; + sess_delete($uid); + $stop = Over::TimeGeneration(); + message_forum($lng['islogout'], 'index.php'); + break; + } + case 'login': + { + $default_skin = Over::ViewSkinName(); + if ($_SESSION['uid']>0) + { + header('Location: index.php'); + } + if (isset($_POST['user'])) + { + $user = strip_tags(addslashes($_POST['user'])); + $pass = md5(strip_tags($_POST['pass'])); + $sql = "SELECT `u_id`, `nick`, `pass` FROM `".USERS_TABLE."` WHERE nick='$user'"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain user inforamtion'); + $result = @mysql_fetch_array($query); + $nick = $result['nick']; + if ($result['nick']==$user) + { + if ($result['u_id']!='-1') + { + if($pass==$result['pass']) + { + $user_id = $result['u_id']; + $sql = "DELETE FROM `".SESSIONS_TABLE."` WHERE `u_id`='$user_id'"; + DataBase::sql_query($sql,'GENERAL','Could not delete session.'); + if (User::UserInformation($user_id,'active')==0) + { + sess_delete($_SESSION['uid']); + $_SESSION['uid']='0'; + message_forum($lng['account_disabled'],'index.php'); + } + $ssid = md5(time().'donothackthiscriptplease!');//session identifier + $_SESSION['uid']=$user_id; + $_SESSION['sessionid']=$ssid; + //session register + $sql = "INSERT INTO `".SESSIONS_TABLE."` VALUES ('', '".$_COOKIE[SESS_NAME]."','$user_id','".time()."')";//query + DataBase::sql_query($sql,'GENERAL','Could not add new session.');//run query + //next... + $sql = "UPDATE `".USERS_TABLE."` SET lastvisit='".time()."' WHERE u_id='$user_id'";//update lastvisit for user + DataBase::sql_query($sql,'GENERAL','Could not update user lastvisit');//run query + $msg = $lng['youareloggedas'].': '.$nick.'';// messaage "login as.." + $skin['pa_link']=''; + $stop = Over::TimeGeneration();//generate generation's time + message_forum($msg, 'index.php');//message and require to index.php + } + else + { + $msg = '
    '.$lng['invalidpass'].'
    '; + } + } + else + { + message_forum('Access denied.','index.php'); + } + } + else + { + $msg = '
    '.$lng['invalidlogin'].'
    '; + } + } + else + { + $msg = ''; + $_POST['user']=''; + } + $skin = array( + 'lforumname' => $lng['forumname'], + 'user' => $lng['user'], + 'lpass' => $lng['lpassw'], + 'lforgotpass' => $lng['lforgot_pass'], + 'llog_in'=> $lng['llog_in'], + 'msg' => $msg + ); + $skin = array_push_associative($skin, Over::generate_header($lng['llogin'],'> '.$lng['llogin'])); + include('./skins/'.$default_skin.'/overall_header.tpl'); + include('./skins/'.$default_skin.'/login_body.tpl'); + $skin['pa_link']=''; + $stop = Over::TimeGeneration(); + $skin['queries'] = Over::ShowQueries($start, $stop); + include('./skins/'.$default_skin.'/overall_footer.tpl'); + break; + } + case 'forgotpassword': + { + if ($_SESSION['uid']>0) + { + header('Location: index.php'); + } + $default_skin = Over::ViewSkinName(); + if (!$forum_config['allow_send_email']) + { + message_forum($lng['no_send_newpass'],'index.php'); + } + if (isset($_POST['username'])) + { + $uid = User::UserIdByNick(htmlspecialchars($_POST['username'])); + if (User::UserInformation($uid,'email')!='') + { + $int_rand = rand(1, (strlen(PASSWD_HASH)-$forum_config['newpasswd_len'])); + $newpass = substr(PASSWD_HASH, $int_rand, $forum_config['newpasswd_len']); + User::UpdatePassword($uid, md5($newpass)); + Email::SendForgotPassEmail($newpass); + message_forum($lng['pass_changed'],'index.php'); + } + else + { + message_forum($lng['no_user'],$_SERVER['REQUEST_URI']); + } + } + $skin = array( + 'user' => $lng['user'], + 'lsave' => $lng['save'], + 'pa_link'=>'' + ); + $skin = array_push_associative($skin, Over::generate_header($lng['lforgot_pass2'], '> '.$lng['lforgot_pass2'])); + include('./skins/'.$default_skin.'/overall_header.tpl'); + include('./skins/'.$default_skin.'/newpass_body.tpl'); + $stop = Over::TimeGeneration(); + $skin['queries'] = Over::ShowQueries($start, $stop); + include('./skins/'.$default_skin.'/overall_footer.tpl'); + break; + } + default: + { + $stop = Over::TimeGeneration(); + message_forum($lng['invalidmode'], 'index.php'); + } + } +} +else +{ + $stop = Over::TimeGeneration(); + message_forum($lng['invalidmode'], 'index.php'); +} +?> diff --git a/moderate.php b/moderate.php new file mode 100644 index 0000000..41511ad --- /dev/null +++ b/moderate.php @@ -0,0 +1,171 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./config.php'); +include('./includes/constants.php'); +include('./includes/class_db.php'); +include('./includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./includes/sessions.php'); +include('./includes/class_user.php'); +include('./common.php'); +include('./includes/class_overall.php'); +include('./includes/classes/secure.php'); +include('./includes/class_mod.php'); +include('./includes/class_forum.php'); +include('./includes/class_topic.php'); +include('./lngs/'.Over::DefaultLang().'/main.php'); +$start = Over::TimeGeneration(); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +if ($_SESSION['uid']>0) +{ + if (RANK==0) + { + $stop = Over::TimeGeneration(); + message_forum($lng['is_no_mod'],'index.php'); + } +} +else +{ + message_forum($lng['youarenotlogd'],'login.php?mode=login'); +} +switch(trim($_GET['action'])) +{ + case 'delete': + { + $tid = intval($_GET['id']); + Secure::topic_exists($tid); + $fid = Topic::TopicInformation($tid,'f_id'); + Mod::DeleteTopic($tid); + $stop = Over::TimeGeneration(); + message_forum($lng['tdeleted'], 'forum.php?f='.$fid); + break; + } + case 'lock': + { + $tid = intval($_GET['id']); + Secure::topic_exists($tid); + Mod::LockTopic($tid); + $stop = Over::TimeGeneration(); + message_forum($lng['tlocked'], 'topic.php?t='.$tid); + break; + } + case 'unlock': + { + $tid = intval($_GET['id']); + Secure::topic_exists($tid); + Mod::UnlockTopic($tid); + $stop = Over::TimeGeneration(); + message_forum($lng['tunlocked'], 'topic.php?t='.$tid); + break; + } + case 'postdelete': + { + $pid = intval($_GET['id']); + Secure::post_exists($pid); + $tid = Topic::PostInformation($pid,'t_id'); + $tpid = Topic::PostInformation($pid,'tp_id'); + if ($tpid >1) + { + Mod::DeletePost($pid); + } + $stop = Over::TimeGeneration(); + message_forum($lng['pdeleted'],'topic.php?t='.$tid); + break; + } + case 'stick': + { + $tid = intval($_GET['id']); + Secure::topic_exists($tid); + Mod::StickTopic($tid,'1'); + $stop = Over::TimeGeneration(); + message_forum($lng['tstuck'], 'topic.php?t='.$tid); + break; + } + case 'unstick': + { + $tid = intval($_GET['id']); + Secure::topic_exists($tid); + Mod::StickTopic($tid,'0'); + $stop = Over::TimeGeneration(); + message_forum($lng['tunstuck'], 'topic.php?t='.$tid); + break; + } + case 'move': + { + $tid = intval($_GET['id']); + Secure::topic_exists($tid); + if (isset($_POST['forum_id'])) + { + $fid = $_POST['forum_id']; + Mod::MoveTopic($tid,$fid); + message_forum($lng['topic_moved'],'topic.php?t='.$tid); + } + else + { + $start = Over::TimeGeneration(); + $default_skin = Over::ViewSkinName(); + //add skin variables + $skin = array( + 't' => $tid, + 'L.select_forum' => $lng['select_forum'], + 'L.save' => $lng['save'], + 'L.reset' => $lng['reset'], + 'OPTIONS.select_forum' => Forum::AddForums($tid) + ); + $skin = array_push_associative($skin, Over::generate_header($lng['move_topic'].': '.Topic::TopicInformation($tid,'name'),'' + .$lng['move_topic'].': ' + .Topic::TopicInformation($tid,'name'))); + if ($_SESSION['uid']>0) + { + if(RANK=='2') + { + $skin['pa_link']=''.$lng['pa_link'].''; + } + else + { + $skin['pa_link']=''; + } + } + else + { + $skin['pa_link']=''; + } + $stop = Over::TimeGeneration(); + $skin['queries'] = Over::ShowQueries($start, $stop); + //do it! + include('./skins/'.$default_skin.'/overall_header.tpl'); + include('./skins/'.$default_skin.'/move_topic_body.tpl'); + include('./skins/'.$default_skin.'/overall_footer.tpl'); + } + break; + } + case 'accept': + { + $pid = intval($_GET['id']); + Secure::post_exists($pid); + Mod::AcceptPost($pid); + $stop = Over::TimeGeneration(); + $tid = Topic::PostInformation($pid,'t_id'); + message_forum($lng['post_accepted'], 'topic.php?t='.$tid); + break; + } + default: + { + $stop = Over::TimeGeneration(); + message_forum($lng['invalidmode'],'index.php'); + break; + } +} +?> diff --git a/pms.php b/pms.php new file mode 100644 index 0000000..3b4fcc4 --- /dev/null +++ b/pms.php @@ -0,0 +1,84 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./config.php'); +include('./includes/constants.php'); +include('./includes/class_db.php'); +include('./includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./includes/sessions.php'); +include('./includes/class_user.php'); +include('./common.php'); +include('./includes/classes/class_pms.php'); +include('./includes/class_overall.php'); +include('./includes/class_forum.php'); +include('./includes/class_posting.php'); +include('./includes/class_topic.php'); +include('./includes/classes/secure.php'); +include('./lngs/'.Over::DefaultLang().'/main.php'); +$start = Over::TimeGeneration(); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +if ($_SESSION['uid']<1) +{ + $stop = Over::TimeGeneration(); + message_forum($lng['youarenotlogd'],'login.php?mode=login'); +} +foreach ($_POST as $name => $value) +{ + if ($forum_config['use_censorlist']) + { + $_POST[$name] = Secure::UseCensorlist($value); + } +} +$uid = $_SESSION['uid']; +$default_skin = Over::ViewSkinName(); +if (isset($_GET['mode'])) +{ + switch($_GET['mode']) + { + case 'folder': + { + include ('./includes/pms/pms_folder.php'); + break; + } + //delete message + case 'delete': + { + include ('./includes/pms/pms_delete.php'); + break; + } + case 'view': + { + include ('./includes/pms/pms_view.php'); + break; + } + //write message + case 'write': + { + include ('./includes/pms/pms_write.php'); + break; + } + default: + { + $stop = Over::TimeGeneration(); + message_forum($lng['invalidmode'],'index.php'); + break; + } + } +} +else +{ + header('Location: pms.php?mode=folder&submode=inbox'); +} +?> diff --git a/posting.php b/posting.php new file mode 100644 index 0000000..46bd542 --- /dev/null +++ b/posting.php @@ -0,0 +1,330 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./config.php'); +include('./includes/constants.php'); +include('./includes/class_db.php'); +include('./includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./includes/sessions.php'); +include('./includes/class_user.php'); +include('./common.php'); +include('./includes/class_overall.php'); +include('./includes/class_forum.php'); +include('./includes/class_posting.php'); +include('./includes/class_topic.php'); +include('./includes/classes/secure.php'); +include('./lngs/'.Over::DefaultLang().'/main.php'); +$start = Over::TimeGeneration(); +$default_skin = Over::ViewSkinName(); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +$msg=''; +if ($_SESSION['uid']<1) +{ + message_forum($lng['youarenotlogd'],'login.php?mode=login'); +} +foreach ($_POST as $name => $value) +{ + if ($forum_config['use_censorlist']) + { + $_POST[$name] = Secure::UseCensorlist($value); + } +} +$start = Over::TimeGeneration(); +//add skin variables +$skin = array( +'smiles'=>Post::SmilesShow(), +//labels +'lsmiles'=>$lng['smiles'], +'ltopicname'=>$lng['ltopicname'], +'lsave'=>$lng['save'], +'lreset'=>$lng['reset'], +'lmsg'=>$lng['message'], +'lsticky_topic'=>$lng['sticky_topic'], +'lwritetopic'=>$lng['writetopic'], +); +$skin = array_push_associative($skin, Over::generate_header('','')); +$stop = Over::TimeGeneration(); +$skin['queries'] = Over::ShowQueries($start, $stop); +if(RANK=='2') +{ + $skin['pa_link']=''.$lng['pa_link'].''; +} +else +{ + $skin['pa_link']=''; +} +switch(trim($_GET['mode'])) +{ + /** + * + functions for reply: normal, editing, quoting... + * + **/ + case 'qpost': //quote post + { + $msg =''; + if (isset($_POST['textedit'])) + { + if (($_POST['textedit'] !='' ) and (strlen(trim($_POST['textedit']))>10)) + { + if (isset($_COOKIE['antiflood_time'])) + { + if ($_COOKIE['antiflood_time']>time()) + { + message_forum($lng['antiflood_enabled'],$_SERVER['REQUEST_URI']); + } + } + else + { + setcookie('antiflood_time',(time() + $forum_config['time_antiflood'])); + } + $_POST['textedit'] = Secure::TagsReplace($_POST['textedit']); + $id = Post::NewPost(intval($_GET['t']),$_POST['textedit'], $_SESSION['uid']); + $count = ceil(($id / 15 )); + if ($count >1) + { + $page= '&page='.$count; + } + else + { + $page=''; + } + $stop = Over::TimeGeneration(); + message_forum($lng['post_is_saved'],'topic.php?t='.$_GET['t'].$page.'#'.$id); + } + else + { + $message = $lng['perror_1']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } + } + else + { + $_POST['textedit']='[quote]'.stripslashes(Topic::PostInformation($_GET['id'],'text')).'[/quote]'; + } + Secure::topic_exists(intval($_GET['t'])); + Secure::TopicLocked(intval($_GET['t'])); + $skin['mainpage'] = $lng['quote']; + $skin['lmainpage'] = '> '.$lng['quote']; + $skin['f_id'] = $_GET['id']; + $skin['action'] = 'posting.php?mode=qpost&id='.$_GET['id'].'&t='.$_GET['t']; + if ($msg=='') + { + $msg='./skins/'.$default_skin.'/blank.tpl'; + } + include('./skins/'.$default_skin.'/overall_header.tpl'); + include('./skins/'.$default_skin.'/posting_body.tpl'); + include('./skins/'.$default_skin.'/overall_footer.tpl'); + break; + } + case 'edit': //edit post + { + if ((User::RankAdminMod($_SESSION['uid'])) or ($_SESSION['uid']==Topic::PostInformation($_GET['id'],'u_id'))) + { + $msg =''; + if (isset($_POST['textedit'])) + { + if (($_POST['textedit'] !='' ) and (strlen(trim($_POST['textedit']))>10)) + { + if (isset($_COOKIE['antiflood_time'])) + { + if ($_COOKIE['antiflood_time']>time()) + { + message_forum($lng['antiflood_enabled'],$_SERVER['REQUEST_URI']); + } + } + else + { + setcookie('antiflood_time',(time() + $forum_config['time_antiflood'])); + } + $_POST['textedit'] = Secure::TagsReplace($_POST['textedit']); + Post::EditPost(intval($_GET['id']),$_POST['textedit']); + $count = ceil((Topic::PostInformation(intval($_GET['id']),'tp_id') / 15 )); + if ($count >1) + { + $page= '&page='.$count; + } + else + { + $page=''; + } + $stop = Over::TimeGeneration(); + message_forum($lng['post_is_saved'],'topic.php?t='.Topic::PostInformation(intval($_GET['id']),'t_id').$page.'#p'.$_GET['id']); + } + else + { + $message = $lng['perror_1']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } + } + else + { + $_POST['textedit']=stripslashes(Topic::PostInformation($_GET['id'],'text')); + } + } + $skin['mainpage'] = $lng['editpost']; + $skin['lmainpage'] = '> '.$lng['editpost']; + $skin['f_id'] = intval($_GET['id']); + $skin['action'] = 'posting.php?mode=edit&id='.intval($_GET['id']); + if ($msg=='') + { + $msg='./skins/'.$default_skin.'/blank.tpl'; + } + include('./skins/'.$default_skin.'/overall_header.tpl'); + include('./skins/'.$default_skin.'/posting_body.tpl'); + include('./skins/'.$default_skin.'/overall_footer.tpl'); + break; + } + + case 'rpost': //reply post + { + $msg =''; + if (isset($_POST['textedit'])) + { + if (($_POST['textedit'] !='' ) and (strlen(trim($_POST['textedit']))>10)) + { + if (isset($_COOKIE['antiflood'])) + { + if ($_COOKIE['antiflood_time']>time()) + { + message_forum($lng['antiflood_enabled'],$_SERVER['REQUEST_URI']); + } + } + else + { + setcookie('antiflood_time',(time() + $forum_config['time_antiflood'])); + } + $_POST['textedit'] = Secure::TagsReplace($_POST['textedit']); + $id = Post::NewPost(intval($_GET['id']),$_POST['textedit'], $_SESSION['uid']); + $count =ceil(($id / 15 )); + if ($count >1) + { + $page= '&page='.$count; + } + else + { + $page=''; + } + $stop = Over::TimeGeneration(); + message_forum($lng['post_is_saved'],'topic.php?t='.$_GET['id'].$page.'#p'.$id); + } + else + { + $message = $lng['perror_1']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } + } + else + { + $_POST['textedit']=''; + } + Secure::topic_exists(intval($_GET['id'])); + Secure::TopicLocked(intval($_GET['id'])); + $skin['mainpage'] = $lng['answer'].': '.Topic::TopicInformation(intval($_GET['id']),'name'); + $skin['lmainpage'] = '> '.$lng['answer'].': '.Topic::TopicInformation(intval($_GET['id']),'name'); + $skin['f_id'] = $_GET['id']; + $skin['action'] = 'posting.php?mode=rpost&id='.$_GET['id']; + if ($msg=='') + { + $msg='./skins/'.$default_skin.'/blank.tpl'; + } + include('./skins/'.$default_skin.'/overall_header.tpl'); + include('./skins/'.$default_skin.'/posting_body.tpl'); + include('./skins/'.$default_skin.'/overall_footer.tpl'); + break; + } + /** + * + Select new TOPIC + * + **/ + case 'ntopic': //new topic + { + $msg =''; + if ((isset($_POST['textedit'])) and (isset($_POST['ntopic']))) + { + if (($_POST['textedit'] !='' ) and ($_POST['ntopic']!='') and (strlen(trim($_POST['textedit']))>10) and (strlen(trim($_POST['ntopic']))>5)) + { + $_POST['textedit'] = Secure::TagsReplace($_POST['textedit']); + if (isset($_COOKIE['antiflood_time'])) + { + if ($_COOKIE['antiflood_time']>time()) + { + message_forum($lng['antiflood_enabled'],$_SERVER['REQUEST_URI']); + } + } + else + { + setcookie('antiflood_time',(time() + $forum_config['time_antiflood'])); + } + $_POST['ntopic'] = strip_tags(addslashes($_POST['ntopic'])); + if (isset($_POST['topic_sticky'])) + { + $_POST['topic_sticky']='1'; + } + else + { + $_POST['topic_sticky']='0'; + } + $last = Post::NewTopic($_POST['textedit'],$_POST['ntopic'], intval($_GET['f']), $_SESSION['uid'], $_POST['topic_sticky']); + $stop = Over::TimeGeneration(); + message_forum($lng['post_is_saved'],'topic.php?t='.$last); + } + else + { + $message = $lng['perror_1']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } + } + else + { + $_POST['ntopic'] = ''; + $_POST['textedit']=''; + } + $sql = "SELECT `lock`, `name`, `f_id` FROM ".FORUMS_TABLE." WHERE `f_id`='".intval($_GET['f'])."'"; + $forum = mysql_fetch_array(DataBase::sql_query($sql, 'GENERAL', 'Could not obtain forum information')); + if($forum['name']=='') + { + message_forum($lng['no_forum'], 'index.php'); + } + if($forum['lock']=='1') + { + message_forum($lng['no_posting_forum_locked'],'index.php'); + } + $skin['mainpage'] = $lng['writetopic']; + $skin['action'] = $_SERVER['REQUEST_URI']; + $skin['lmainpage'] = '> '.$forum['name'].' >'.$lng['writetopic']; + $skin['f_id']=$_GET['f']; + if ($msg=='') + { + $msg='./skins/'.$default_skin.'/blank.tpl'; + } + include('./skins/'.$default_skin.'/overall_header.tpl'); + include('./skins/'.$default_skin.'/posting_body.tpl'); + include('./skins/'.$default_skin.'/overall_footer.tpl'); + break; + } + // if no mode... :D + default: + { + $stop = Over::TimeGeneration(); + message_forum($lng['invalidmode'],'index.php'); + break; + } +} diff --git a/quick_reply.php b/quick_reply.php new file mode 100644 index 0000000..bbcead3 --- /dev/null +++ b/quick_reply.php @@ -0,0 +1,32 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +if ( !defined('IN_uF') ) +{ + die('Hacking attempt'); +} +foreach ($_POST as $name => $value) +{ + if ($forum_config['use_censorlist']) + { + $_POST[$name] = Secure::UseCensorlist($value); + } +} +include('./lngs/'.$default_lang.'/quick_reply.php'); +include('./includes/class_posting.php'); +$skin = array( +'ltitle'=>$lng['title'], +'lmsg'=>$lng['message'], +'lsave'=>$lng['save'], +'url'=>'posting.php?mode=rpost&id='.$_GET['t'], +'lreset'=>$lng['reset'], +'smiles'=>Post::SmilesShow() +); +include('./skins/'.$default_skin.'/quick_reply_body.tpl'); +?> diff --git a/register.php b/register.php new file mode 100644 index 0000000..33e8c87 --- /dev/null +++ b/register.php @@ -0,0 +1,161 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./config.php'); +include('./includes/constants.php'); +include('./includes/class_db.php'); +include('./includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./includes/sessions.php'); +include('./includes/class_user.php'); +include('./common.php'); +include('./includes/class_overall.php'); +include('./includes/class_forum.php'); +include('./includes/class_posting.php'); +include('./includes/class_topic.php'); +include('./includes/class_email.php'); +include('./includes/class_mod.php'); +include('./includes/classes/secure.php'); +$default_lang = Over::DefaultLang(); +include('./lngs/'.$default_lang.'/main.php'); +include('./lngs/'.$default_lang.'/email.php'); +$start = Over::TimeGeneration(); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +$default_skin = Over::ViewSkinName(); +$msg=''; +if ($_SESSION['uid']>0) +{ + message_forum($lng['youareexist'],'index.php'); +} +foreach ($_POST as $name => $value) +{ + if ($forum_config['use_censorlist']) + { + $_POST[$name] = Secure::UseCensorlist($value); + } +} +if (isset($_POST['email'])) +{ +if ( ereg ("^.+@.+\..+$", $_POST['email'])) +{ $nick = $_POST['nick']; + if ($nick!='') + { + $sql = "SELECT * FROM `".USERS_TABLE."` WHERE `nick`='$nick'"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain user information.'); + $result = mysql_fetch_array($query); + $result = $result['nick']; + if ($result!=$nick) + { + if ($_POST['password']!='') + { + if ($_POST['password']==$_POST['confirmpassword']) + { + if ($_POST['valid_match']==$_POST['valid_key']) + { + $_POST['nick']= addslashes(strip_tags($_POST['nick'])); + $original_pass = $_POST['password']; + $_POST['password']=md5($_POST['password']); + User::CreateProfile($_POST['nick'],$_POST['password'], $_POST['email'],0,1,0,1,'','',''); + $stop = Over::TimeGeneration(); + if ($forum_config['allow_send_email']) + { + Email::SendRegisterEmail(); + } + message_forum($lng['account_created'],'index.php'); + } + else + { + $message = $lng['key_not_valid']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } + } + else + { + $message=$lng['incorrect_password2']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } + } + else + { + $message=$lng['empty_password']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } + } + else + { + $message=$lng['user_is_exist']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } + } + else + { + $message=$lng['empty_email']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } +} +else +{ + $message=$lng['invalid_email']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; +} +} +else +{ + $_POST['nick']=''; + $_POST['email']=''; + $_POST['interests']=''; + $_POST['sig']=''; + $_POST['avatar']=''; +} +$match_array = Secure::generate_code(); +//add skin variables +$skin = array( +//labels profile +'lnick' => $lng['user_name'], +'lpass' => $lng['lpassw'], +'lnewpass' => $lng['new_password'], +'lcpass' => $lng['confirm_password'], +'lemail' => 'E-mail', +'lgg' => $lng['gg_number'], +'lallow_gg' => $lng['allow_gg'], +'lallow_email' => $lng['allow_email'], +'lallow_qr' => $lng['allow_qr'], +'linterests' => $lng['luinterests'], +'lsig' => $lng['sig'], +'lavaddr' => $lng['picture_adress'], +'lmatch'=> $match_array[0].' + '.$match_array[1].' = ', +'valid_key' => $match_array[2], +'lovpr' => $lng['general_settings'], +'lupr' => $lng['profile_settings'], +'lspr' => $lng['signature_settings'], +'lapr' => $lng['avatar_settings'], +'lsubmit' => $lng['save'], +'lreset' => $lng['reset'], +'no' => $lng['no'], +'yes' => $lng['yes'], +'pa_link'=>'' +); +$_POST['allow_gg']='1'; +$skin = array_push_associative($skin, Over::generate_header($lng['lregister'],'> '.$lng['lregister'])); +if ($msg=='') +{ + $msg = './skins/'.$default_skin.'/blank.tpl'; +} +//do it! +include('./skins/'.$default_skin.'/overall_header.tpl'); +include('./skins/'.$default_skin.'/register_body.tpl'); +$stop = Over::TimeGeneration(); +$skin['queries'] = Over::ShowQueries($start, $stop); +include('./skins/'.$default_skin.'/overall_footer.tpl'); +?> diff --git a/search.php b/search.php new file mode 100644 index 0000000..5f89b60 --- /dev/null +++ b/search.php @@ -0,0 +1,255 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./config.php'); +include('./includes/constants.php'); +include('./includes/class_db.php'); +include('./includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./includes/sessions.php'); +include('./includes/class_user.php'); +include('./common.php'); +include('./includes/class_overall.php'); +include('./includes/class_forum.php'); +include('./includes/class_topic.php'); +include('./includes/classes/secure.php'); +$default_lang = Over::DefaultLang(); +include('./lngs/'.$default_lang.'/main.php'); +$start = Over::TimeGeneration(); +$default_skin = Over::ViewSkinName(); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +$sql = "SELECT ".POSTS_TABLE.".*, ".USERS_TABLE.".* FROM ".POSTS_TABLE." LEFT JOIN ".USERS_TABLE." ON ".USERS_TABLE.".u_id = ".POSTS_TABLE.".u_id ORDER BY `ptime`"; +$query = DataBase::sql_query($sql,'GENERAL', 'Could not obtain amout of posts in forum'); +while($result = @mysql_fetch_array($query)) +{ + $lastpost[$result['t_id']]['tp_id']=$result['tp_id']; + $lastpost[$result['t_id']]['u_id']=$result['u_id']; + $lastpost[$result['t_id']]['time']=$result['ptime']; + $lastpost[$result['t_id']]['user_nick']=$result['nick']; + $lastpost[$result['t_id']]['user_rank']=$result['rank']; +} +$sql = "SELECT COUNT(*) as `p_id`, `t_id` FROM ".POSTS_TABLE." GROUP BY `t_id`"; +$query = DataBase::sql_query($sql,'GENERAL', 'Could not obtain amout of posts in forum'); +while($result = @mysql_fetch_array($query)) +{ + $count_topic[$result['t_id']]=$result['p_id']; +} +if (!isset($_GET['content'])) +{ + header('Location: search.php?content=posts'); +} +// +//generate output pages +// +if ($_SESSION['uid']>0) +{ + $limiter = $userdata['limit_ftid']; +} +else +{ + $limiter = $forum_config['limit_ftid']; +} +if (isset($_GET['page'])&&($_GET['page']!=1)) +{ + if (!is_numeric($_GET['page'])) + { + die('Hacking attempt'); + } + $value = ($_GET['page']-1)*$limiter; + $limit = 'LIMIT '.$value . ', '.$limiter; + $page = $_GET['page']; +} +else +{ + $limit = 'LIMIT 0, '.$limiter; + $page=1; +} +// +//end generating pages +// +if ((isset($_POST['keywords'])) || ($_GET['content']=='lastposts') || ($_GET['content']=='userposts')) +{ + $errors = true; + switch($_GET['content']) + { + case 'lastposts': + { + if ($_SESSION['uid']>0) + { + $time = time()-129600; + $sql = "SELECT ".TOPICS_TABLE.".*, ".USERS_TABLE.".* FROM ".TOPICS_TABLE." LEFT JOIN ".USERS_TABLE." ON ".TOPICS_TABLE.".author = ".USERS_TABLE.".u_id WHERE lastpost_time>$time ORDER BY `sticky` DESC, `lastpost_time` DESC LIMIT 60;"; + $errors = false; + $window_title = $lng['showlast30posts']; + $navigator_title = '> '.$lng['showlast30posts']; + break; + } + else + { + message_forum($lng['youarenotlogd'],'login.php?mode=login'); + break; + } + } + case 'userposts': + { + if (isset($_GET['u'])) + { + $count = @mysql_fetch_array(DataBase::sql_query("SELECT COUNT(`t_id`) as `t_id` + FROM ".TOPICS_TABLE." WHERE `author`='".intval($_GET['u'])."'",'GENERAL','Could not obtain count amout of topics')); + $count = $count['t_id']; + $count = ceil($count / $limiter); + if ($count==0) + { + $count +=1; + } + if(isset($_GET['page']) && ($_GET['page']>$count)) + { + message_forum($lng['invalidpage'],'index.php'); + } + $sql = "SELECT ".TOPICS_TABLE.".*, ".USERS_TABLE.".* FROM ".TOPICS_TABLE." LEFT JOIN ".USERS_TABLE." ON ".TOPICS_TABLE.".author = ".USERS_TABLE.".u_id WHERE `u_id`='".intval($_GET['u'])."' ORDER BY `sticky` DESC, `lastpost_time` DESC $limit;"; + $errors = false; + $window_title = $lng['view_user_topics']; + $navigator_title = '> '.$lng['view_user_topics']; + break; + } + else + { + message_forum($lng['no_user'],'index.php'); + break; + } + } + case 'posts': + { + if(strlen(trim($_POST['keywords']))>=3) + { + $keyword = explode(' ', strip_tags(addslashes($_POST['keywords']))); + $like_where = ' `text` LIKE \'%'.$keyword[0].'%\''; + for($i=1; $i$count)) + { + message_forum($lng['invalidpage'],'index.php'); + } + $sql = "SELECT ".TOPICS_TABLE.".*, ".USERS_TABLE.".*, ".POSTS_TABLE.".* FROM ".TOPICS_TABLE." LEFT JOIN ".USERS_TABLE." ON ".TOPICS_TABLE.".author = ".USERS_TABLE.".u_id LEFT JOIN ".POSTS_TABLE." ON ".POSTS_TABLE.".t_id = ".TOPICS_TABLE.".t_id WHERE $like_where ORDER BY `sticky` DESC, `lastpost_time` DESC $limit;"; + $window_title = $lng['search_results']; + $navigator_title = '> '.$lng['search_results']; + $errors = false; + + } + else + { + message_forum($lng['too_short_keywords'],'search.php?content=posts'); + } + break; + } + } + if (!$errors) + { + //add skin variables + $skin = array( + 'lposts'=>$lng['posts'], + 'llastposts'=>$lng['lastpost'], + 'lposts'=>$lng['posts'], + 'lauthor'=>$lng['author'], + 'llastpost'=>$lng['lastpost'], + 'ltopicname'=>$lng['ltopicname'], + 'lang'=> $default_lang + ); + $skin = array_push_associative($skin,Over::generate_header($window_title,$navigator_title)); + include('./skins/'.$default_skin.'/overall_header.tpl'); + include('./skins/'.$default_skin.'/forum_body.tpl'); + $query = DataBase::sql_query($sql,'GENERAL', 'Could not obtain topics information'); + $value = mysql_num_rows($query); + if ($value>0) + { + $isset_topics = array(); + while($record = mysql_fetch_array($query)) + { + if (!in_array($record['t_id'], $isset_topics)) + { + $skin = array( + 't_id'=>$record['t_id'], + 'fname'=>($record['sticky']=='1') ? ''.$lng['sticky'].''.$record['name'] : $record['name'], + 'author'=>Topic::TopicAuthor($record['author']), + 'new_post'=>Topic::LastPostImg(), + 'tposts'=>$count_topic[$record['t_id']], + 'lastpost'=>Topic::LastPostInTopic($record['t_id']) + ); + include('./skins/'.$default_skin.'/forum_forum_add.tpl'); + array_push($isset_topics, $record['t_id']); + } + } + } + else + { + echo '

    '.$lng['nopost'].'!

    '; + } + if ($_GET['content']=='lastposts') + { + echo ''; + } + else + { + $skin = array( + 'option_pages' => Over::AddPages(), + 'lwith' => $lng['with'], + 'lpage' => $lng['page'], + 'lpages' => $count, + ); + include('./skins/'.$default_skin.'/search_end_body.tpl'); + } + } +} +else +{ + $skin = array( + 'mainpage'=>$lng['lsearch'], + 'lsubmit'=>$lng['search'], + 'lreset'=>$lng['reset'], + 'insert_keywords'=>$lng['insert_keywords'] + ); + $window_title = $lng['lsearch']; + $navigator_title = '
    > '.$lng['lsearch']; + $skin = array_push_associative($skin,Over::generate_header($window_title,$navigator_title)); + include('./skins/'.$default_skin.'/overall_header.tpl'); + include('./skins/'.$default_skin.'/search_body.tpl'); +} +if ($_SESSION['uid']>0) +{ + if(RANK=='2') + { + $skin['pa_link']=''.$lng['pa_link'].''; + } + else + { + $skin['pa_link']=''; + } +} +else +{ + $skin['pa_link']=''; +} +$stop = Over::TimeGeneration(); +$skin['queries'] = Over::ShowQueries($start, $stop); +include('./skins/'.$default_skin.'/overall_footer.tpl'); +?> diff --git a/shoutbox.php b/shoutbox.php new file mode 100644 index 0000000..f367ed4 --- /dev/null +++ b/shoutbox.php @@ -0,0 +1,73 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ + +if (!defined('IN_uF')) +{ + die('Hacking attempt'); +} +if (isset($_GET['mode'])) +{ + switch($_GET['mode']) + { + case 'shoutbox_add': + { + if (isset($_POST['shoutbox_message'])) + { + $content = strip_tags($_POST['shoutbox_message']); + $content = Post::SmilesReplace($content); + if ((strlen($content)>3) and (strlen($content)<300)) + { + $sql = "DELETE FROM ".SHOUTBOX_TABLE." WHERE `mtime`<'".(time()-$forum_config['shoutbox_max_time'])."'"; + DataBase::sql_query($sql,'GENERAL','Could not delete old messages'); + $sql = "INSERT INTO ".SHOUTBOX_TABLE." VALUES('','".$_SESSION['uid']."','".$content."','".time()."')"; + DataBase::sql_query($sql,'GENERAL','Could not add shoutbox message'); + } + } + echo ''; + break; + } + case 'shoutbox_delete': + { + if (isset($_GET['id']) && (RANK>0)) + { + DataBase::sql_query("DELETE FROM ".SHOUTBOX_TABLE." WHERE `m_id`='".intval($_GET['id'])."'",'GENERAL','Could not delete shoutbox message'); + } + break; + } + case 'shoutbox_desc': + { + $desc = ''; + break; + } + } +} +if(!isset($desc)) +{ + $desc = 'DESC'; +} +else +{ + $desc = ''; +} +$shoutbox_content = ''; +$sql = "SELECT ".SHOUTBOX_TABLE.".*, ".USERS_TABLE.".* FROM ".SHOUTBOX_TABLE." LEFT JOIN ".USERS_TABLE." ON ".SHOUTBOX_TABLE.".u_id = ".USERS_TABLE.".u_id ORDER BY `mtime` $desc LIMIT ".$forum_config['shoutbox_max']; +$query = DataBase::sql_query($sql,'CRITICAL','Could not obtain shoutbox information'); +while($sb_msg = @mysql_fetch_array($query)) +{ + $allow_del = (RANK>0) ? 'X ' : ''; + $shoutbox_content .= ' + + + '.$allow_del.''.Topic::UserName($sb_msg['nick'], $sb_msg['rank']).' ['.Over::GenerateTime($sb_msg['mtime']).']: '.$sb_msg['message'].' + + '; +} +include('./skins/'.$default_skin.'/shoutbox_body.tpl'); +?> diff --git a/skins/index.html b/skins/index.html new file mode 100644 index 0000000..c2733fd --- /dev/null +++ b/skins/index.html @@ -0,0 +1,15 @@ + + + + + Untitled + + + + +

    + + +

    + + diff --git a/skins/subPurple/blank.tpl b/skins/subPurple/blank.tpl new file mode 100644 index 0000000..d3f5a12 --- /dev/null +++ b/skins/subPurple/blank.tpl @@ -0,0 +1 @@ + diff --git a/skins/subPurple/eprofile_body.tpl b/skins/subPurple/eprofile_body.tpl new file mode 100644 index 0000000..35d1021 --- /dev/null +++ b/skins/subPurple/eprofile_body.tpl @@ -0,0 +1,189 @@ + +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    :
    : +
    : +
    : +
    : +
    +  
    + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    : +
    : +
    : + size="46" /> + +
    : /> +    + />
    : /> +    + />
    : /> +    + />
    + :   + + +
    + :   + + +
    + :   + + +
    : + +
    : +
    +  
    + + + + + + +
    + + + + + +
    : + + +
    +  
    + + + + + + + +
    + + + + + + + + + + + + + + +
    : + +
    : + + +
    +   + +
    +
    diff --git a/skins/subPurple/forum_body.tpl b/skins/subPurple/forum_body.tpl new file mode 100644 index 0000000..fadcce1 --- /dev/null +++ b/skins/subPurple/forum_body.tpl @@ -0,0 +1,16 @@ + +
    + +
    + + + + + + + + + + +
    + \ No newline at end of file diff --git a/skins/subPurple/forum_end_body.tpl b/skins/subPurple/forum_end_body.tpl new file mode 100644 index 0000000..7c7005d --- /dev/null +++ b/skins/subPurple/forum_end_body.tpl @@ -0,0 +1,15 @@ + +
    +
    + + + +
    +
    + : + + + +
    \ No newline at end of file diff --git a/skins/subPurple/forum_forum_add.tpl b/skins/subPurple/forum_forum_add.tpl new file mode 100644 index 0000000..9b61158 --- /dev/null +++ b/skins/subPurple/forum_forum_add.tpl @@ -0,0 +1,17 @@ + + + folder + + + + + + + + +

    + + + + + diff --git a/skins/subPurple/group_add_body.tpl b/skins/subPurple/group_add_body.tpl new file mode 100644 index 0000000..40964be --- /dev/null +++ b/skins/subPurple/group_add_body.tpl @@ -0,0 +1,8 @@ + + + + +
    +
    + +
    diff --git a/skins/subPurple/group_view_head_body.tpl b/skins/subPurple/group_view_head_body.tpl new file mode 100644 index 0000000..371a670 --- /dev/null +++ b/skins/subPurple/group_view_head_body.tpl @@ -0,0 +1,19 @@ +
    +
    +
    + +
    +
    + +
    +  + + + + + + + + + +
    diff --git a/skins/subPurple/images/Thumbs.db b/skins/subPurple/images/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..8fb3294eda5c1b5d34749adb97c9e6686a2127be GIT binary patch literal 38912 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 literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/body_bg.gif b/skins/subPurple/images/body_bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..881c4cc70d104c4ee340ac12eed800ae927669a7 GIT binary patch literal 45 xcmZ?wbhEHbWM*JyXkcJSOJn%||G(l-7FH1kMg|=QAOOiQFtPM7i?cFV0|4u62u=V1 literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/delete.gif b/skins/subPurple/images/delete.gif new file mode 100644 index 0000000000000000000000000000000000000000..28a3f01697b10fdc7a7f78bb6cec5d237e1eb4b4 GIT binary patch literal 911 zcmYL|T}TvB6vzM5&Y-PgcHLPl7Tc{LQ!A6j482sm|aC3bTA7V8SZ};BSyv&?Acg~zMzw@6ntruGw zPT#P=f;B)kz)%LBi|!-};n*5}FTbeHwKK=+H3j)hRUJDin$k^=Y(6eFt*@#yqq>K-5%udAPzs z)07OAH`%b;y&oBec(2#)_aLJR9}7T|H^A1z@RlFtyPZX2pbBV+;e!T(R8CPVp)9WX zk;;IGKcy1_63r;gOJn(ylaMHPj?B&S}$^M4$&O;S9KywH&dnj2wUW({1W zwj53ClxP(8hQ3s~l#mX_?p44t>B}VD`7oInF&UtL~bvoEvL-R$5g5 zXFas|>BXMT>*xE)>q~=&OmA$%dw+i(EIu_e{j_Yn{dryWtC8=6N7{o2Uz%?pJ(+18 Yw-v4Q?7Lqz8>sU=`S@eb{zXUQKlo+%?EnA( literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/delete_small.gif b/skins/subPurple/images/delete_small.gif new file mode 100644 index 0000000000000000000000000000000000000000..2676b022fd4a9d926282895cdf200d49c1038238 GIT binary patch literal 634 zcmb`^+fUMQ7{~D+g$Gmw71IPt5-SsHb6wzSU6^=it!b@Rty;$N4`|&(D77^O1v5lU z;K#`Wf}F%=ORc$9t?sO~*3=7iYqe?Xc>sU>=uukJh0Br%V1#l#YqhtrcMn(`uX9#>jgm5ebcG576 zh0z`cdl(%Na754DtL>%04^u)mvNADc^=D_0sTHkox|i`n``qwuQ5+7nf8P^LmWgZ1 z%FfBn*5~s^d3iQ|0Y9JLQ|R*v3k5=fU)Wt-QdHA<_v+a@o!3f5B_iE{va)j3rF-qS zRrTd%2P=tg4dhj#uwgH>$7PJX(9~L~X53 zQFklSzSC4tda_MBuiakP+sjXPDQeDdTri)yAN%U-c(ZJmDj$Adm{GR~q{;{VaxV9s opt4abrdNN7{Ku#&~1g`Xc-_1m=+gggDIJdDVatJ(iJjU$&7Khs8HOTx8NnyB__53 z%n}NvbVA3twDdx&^j@Ig=nWX9uxSPwt#jFivkWuFTsWtvzxG!TZ+x{s!6%=5^Spgd zat>GVIHmPWf=Ptbgk%V`4*`i9w5x$s4LUSHssSBZAk~6SEs){rFeuZ3u3;b_23>k^ zUJvC4aNYpF#r+O+Z-L$4gPtu=F#;4LP+4@N!Qq&6W1!&DeiC_<4W zMMkM87NcSqwKeho=TR@fj_<6geC=2TS5SH2*^;CLf*{z4mXJckiDJCtPr@V!dWeW8 z=khH|@7DxDqZ99lM9uLO{vMW9Bu=8IW}N6$3KO^G=9Ii=Q6_MA6xNnEZ4kcZZpQX% z1%o}SJJR~4AlRr+Y)#If)j69IDr80dH#qz9lcrl!pQOG2tEYZ?d+xw0%NA56?MO>} z`5eJ)Xh}QzMY`;bLk+ZKabdN8KYK?0RAs^IeFAGkYgyL*6Apn*yL*sVCAuVfaJ$u$ zeeh)Q6Pas_%p>Zo-}JT9mpyr$&#!x|!oz8KoKHIo=rn&Ct6aoLKG4GdkiD%fqjZSm zr|;o)b3Ur0h0>qly*1f%H-Dq;XvvxASBZ`DH8~}3`&yWKhapEG zX6?;T2b|!jGRX>ByOruJF%Plo>8y_0#^Eu}6@IlMkMCZr3@%6QJvqSoWT`ft`)UwjDPeYw^b4$ZrW&Ey| zovrnqFP*a!!#h95*CraYGzjaj$6IbOf6k33T}WCV8eV!(y}i&E9!hm`Ab(n0>g?*P zsw}&9E$iD{=gMg3+)zu)gX-a-;mwWp?^`?T6XTonOH2KIOhyv7t@@v?27Mj<>e_|? ze_u0m@_2vCeE)y)`UuMMI~(I|Z7u7|vzrscTg&5RMOmBEo$uymzs|L+Ps}cLHN2S^ zpB?S{wYL83S?B6--_r8Z&hBQ*-Lg-k|1orKtj*58>MUTy{9GEQor`dC^4Qr}>T0U~ zw$ypT+xJ3D%tCkPj~|;m{|@hLEq$JBc~+mb#h<-$IjJD8U~{zd%gdIm%q$Z_{mzcQ z*_l~_0%2*inrvmZJ~yndr?omdJl;`u=2XP5&r8qy`)aDIH|P4sM*o{}b7yy_EHkOQ ztzovm!On*K8b>1y#C}D2C>|9@1TK{i@U;5T3hj+GTV@^|td-^t~ z#)mtqXL}l)tjK*GEt}J`!#$mwulshs%Xr26=-_jH!!6%2PY#6(A|j`s2TJ9pNG zcQ$6XmS>lj*E^dU=$Dy4NBc|+%~nPm`uc~RY@9Zi*Vp?yhr6m9D$91}I(IhKm->fy z=2|vK|HHo7|8Qe->2<^S==jc;@!{8fzCIo;O)bj{z8ytCXFahlrK(^rs}wfMT_)qkB|J1aBeBRvfUdio7_ z8>m6PWGixKN6Yri@Z!Skr0B8cVfdA_MHvu4bfe@6u9jClI z1u3rKJHV;vWnonu%Iq2|pI?zNvaJU)}w#?_g8S%VJ{iP?>#m z?W-Hc=htQjoA0>jE@=$hC3)2SQ)PGZ;(iBx*|BO$Ri^Jy3%KN70LRNfqZME4a+7>h zKpxDWZl;cudHsHn^;WNv+EteRuq8b<9E6hVn+F z`)%`>l?P1=(*s*)Q5lljUC%E+O?&p&VA6XZ2=XNGg&YK`M?ynNlD;{oB((6#8R$dC z^9&L5ZIM)&pq`3UxyyBdsj_YC7a995=CV@ICA_@QBbVT%#2&s?RraU*h%^uM6z(6R zgn(!|^k*yft&x8~rE;dm&|+%l(Tnp8DHj*-kOCJ6`wvClp{G9N`=8stTo7RXGvvC@ zka%tBhVeYL$VaE~9|zA%MQ^eVgvKD*`i!<GXb#!gec( zjPl24Pz%C3h&7xN^O?HF<7$aoHGVoT8;VYLP*iWYZmn6HRULwQc;eoe1m9|BUcGAA z6K?$=yCPfi%u(O;yLD2|(j+gzZc1)T-WC$qbg19YEf!l};lj_~RVz8( zMlZM6q28c)N*tFzbMsg$;sI!}^yxd7~MXnoJObuw}Y8r{fK(->555^^l1 z-7!G;eycthRu6^98RCu#BMLhT6OaGQh|yo`Z!Zj!y=r>y#d6-K(;Y{$XQ5TzLCOxf z@3%?lXKHtm)XY-JrRTOM+h?|1L>rxaY5vW7_t&@0w9Lr;CIn0ecw$e8;SE1CJsy^@bBQ?!=< zWUnjfk-+DAah6OAyY1#Qiw^M-#eb*!&eKgD+ud!=;x{q)3*CQrpIDf)yB+u1vCIDu z{*tY)CFq&I4ijBEGnVo*vF%sX0-I&}^SANDl>eA(LQ`v@PLj3#gZDeh`WJg zK3EwU_e@hkxb&m!6#)hnpKiOih}8Yzz{9u)Klh3?HxOaUw_nx}nqO5C> z#52hcIbrc&)LWhc%HeBD?c;s6`pPFoyUIlrj=f^-F5f5}uWr-0d)+ZQPen@7C)aq3 zS_8g*HFIxUXs!QZRy1kKhfog`WgD9F-ejcBo zHl8tPpT($BxJjzLtbG^k-)C ze;TbN)YP8*wPEif2*wvDh+LUk*h}U^P?rTM1Y?p=dqB=D4R3pN3m9?|e^Rv-hdztX z&0o?#ZqjStCF}Ys`Y2P`giutVhYbwX*j2XKdzr4Ni|AHMrLybT50o^f}I>9c^FDN2c|JfZO2@L5J&6(3-qLWrsI+eLO4u zSN!!WlOJAPUPH+G0mckGEYg>*U^%s4_4wCR&jI}!nn;*~3eKHOwyKS&S(S=7?QYM| z%g+}+e%mVTvHFGQm-o3zK$7Up%VJgH+YPFa>H;Hszwb>Y?^N{e#imQg1ft2OK$3Rp ziegh%Sm7xfY$uM1<(1c7%HCz3_;<~jQtOcyad_3~-=Sk&{&{z9>Q9bOEZ(VubAdOJH?eg?ujZ6}T)^mF=wfxmb1vq}?^oYIuI)8WIZ>vFn>`V`y$=+uv1;rqv6D*)4YB?Zjk!Y-Pmq|!!|klq755;|YgG^V`JKHIt{ zR2tnt#p7T#KiHMu9g|O&zYD*Ih9n>MZdE`QwOfh^B~g_`lM6uL_iO}PU#mt{zs*h+ zi;HnLYdm1HF60>lTdYy>%D{M*ORn^`74NmyM5IU)5b(3|%3y zLT4)><7}`rPfjPoKL7^}K! zyeo`Pa&b;zBY5eSlq>C!h`k{Ng^j6fZ-5noLA(}~1-{YK8t44OXAH}QD7>yqleA(B zYfF@i?0i>)YjI;zn^mND@1GK5sZVV`KFwKuoEi1;`d3DIH^STBb@$>CJmz+}kJvV( zwEf+^!jviDHGhYChM0&}bqd(Xh~%RhW`AokWqZn-&uT54GI*X)f&YT9_`Tb}< zv#6{+n)Ap6g+;!%dP>suw%Rm$Rp`A^IwfWV!yn3)^Yz|Ol3KYFE__e z92Lsr#KYp^2ilIiBSP%NFG(DXd-Es(oQv2eNKj;{zUQIPG}SGN-_Z>bj~2O)`&e@ELliN9c*yHvg(v09zzR)IFlR+MAcp#qqNog8&zS67xbcB=n)TnF)Wx<6JZZO z9)Bcazp4ui9_xyQKc>Y?vW0)gu?(Ll9U9fQMM^k$;j-|e3Llg0^t9|5hj-mRz~13O zX-M5HD>RvYPU{E3-%H}4n9d6#@(~ug+;iRx>hM;={Uktz9d|p74>(DI85*;E*usOP zcvH6UdN~dD@nk94w`wF+beo0g1{BzrT)ZyO@)5BVFk=N;B0yAzrhAa_of3>y+XDey zeZmBCt5(Fb9Q-EWO5d>*N*qfljztOu!LabNM3FJJFpMoc#)C8WU2Te|%R`RZl`uPv zagOXu3EU88FSP^?bgNwTJq>{H4Y{u8XmOX{y2TyM*D}TB0hXeIuN4KQ&#YUhf@S@XgXI%@Ud19hJ+hyP56?Pf;vp+;uLlwx$uo$-U zYOb?ex#&C=bB!WW#l@IPpdf10-B!ptspwe3_2P^|CISX!qbYcnI<`oifAVNtcz$(I zU#balun0XO62ej6gS>IPvUs~Orx|J_H>xRI8CozPp_iwzmMol&FH51JJvk)@rmXc1 zPI5f2mt4lP7wW2rXzi|AFc*5*AFgFX~FWZf+bCNXKYk z;c>(Y^U0gAHS7CUUKH{z$y`J^DPM6#Gg|!e{$S<6UX#$KoTJZy$Vb`-dK9K&RAz`m zbyz5cQ(_Ikx?;&o)#04ja+DCQ$UDZBi-{AICr+G+#DXbUuw9FLk+s*E!3xn4Xbw<3 z({^g+QI7lyVeW;6e|c7~I>x~YswEWU7rw{7O2LhyvnYnXN`s3?fyozK?5UCQnUUxI)PtbU9V5hl+=>+AaC^QyyeBH0?;&0_H0(-GhMX z6I^(IUg375g0UMclqlqh2Qp~(<`TY{rQ}mJ;i2i}uj}&)R?pul2NzRdmnAWCl-RZ0 zJ)_HYQjPF6pwd^RxVJJynWcEI0v%g!m_YGs2i-l;qhFpZY;1(_#6m-PG&se)=SVD> zdFQGmG&KG?D>OI`5WT}g=!XW+5n&p3B|cvz`Yz(M=y0#Q4dp*H-Ftvo5>zcn*-n7i zUV`-r2!YVMH5)SRG!%}9w4@7#5ryU{u&Zk>U%y2dh`BAxqAmG14KLg~mVi2h1v+N# zH^6q$)YRKaB@bo3BCx;>=9DHiER?z-@|CXbZ3V@Krl;0vo(@%DWWXBAMLp?4wnU+9 z8e(2ANB(V4y_k-xdnEqT%{iG^!!39*fB^xRNUo11fHV<62-rkjlNvoaTozAcrnp&y zamzhO_YC0eX@%ZmpH(QfIK#bRc|bORF1(7xJSrF6%SOV>=|#oPv6ANB)!eowXqz8y zUabZ6IS3O9#u5wd<%>-Aoj&unO(qH)%X?^KU$5DsPNu-8Cz3(a=~p)%oq`{60l`lq zWmg5l^E{Bl`Gkr?o@;48J2A5QxYu56x~a59wj68z~ZWRZ{Wh&juf#A z-a}{CPO1JTUi1rwsL!M)kf5EbFrQ=?HH6Vi_jm4zu#xia&pGdw7F1bRlm z4S5s@(u@{fgqdSAdV6$r=+I7k#9tD^Nzmm)dO8P@@O8qt2oB%alRY9?@+B%`$MNLy z(1Bt$>;XkcirqW5gnIL-S0u|wBigiOUeronL4Hc}UAgS8=K=;cZJXKCt^G)%0TAxx zU`Rx`3r^Lu)mzu7zv}Moq>#udrn5a4q0H~^EkE2FfY?I`iOIr|RqNe?@PRR@ZVO;^ zfGG5asut%+R+Fs50(ch)a_JErCxJN}44rAUhZp_cJ?{2_l7>q6N#jU+lJJ87kz%|x zT_AMSZAdx_{8xoyfFcn1N-@)#Atc2;Y0%RFFV%W<)3Urbup+udIEyBH4IP&k@BLP< zhp}pIN=T4TaVF3}EdoG_eR#%QT_@nxhkA6~r>8fnjDBpYy~n;zQ&u9$5yX_0-11%* z$BG0~gq>(e?^LJb2LIT&m(XK%wCxcS{9WJ}UsSmKumc4_pj*Mu;;=yATe*v9x~`^G zEqEGb?OrJsfU*oy|M$PA!uF0F9T^FLUe7zNGh`e<(Qzrd&$UO?utmFwqQCj00k--F z{cr_=eW7h8`^0Si(xM${z`a0aXRaQulF+J*8Db-jd8&OR!vA6s3eKvlYWcXm-{pw5S%WWddr$h|-tkf6HCD104EN{DdG>+d0fz6nddm&!eKg>*%pg?{ z&JlnnNtYTPNsPXbDO?O{NPFf5pq~q@gt5kGfkA>`N}?M~rOT15@LX3vXseuhDZ&mf zRQ?VBj_9p9su|*k2-}r)&1ay3iE#Ne{OViBe0i1Q$MLoARyH_D;G0OTXqc#@cbzi&HMRI3)R z*bvIKlEz#RbMNxc5Xv&}ZGdnyT6) z%d-U{s-#axgI=2LS5=>Z%5i&RIGE|ZtGp>&*l$8jD&i&$Or^jbxgqT`yUK>#`M+J* z4Z-~6twTQ-pK36mT7cHy%??VFtQ}VLo+)3KD=Pi|%ZVUe^&a3W50!-%+M*!dmmQLS zco8Vv5S>ST!FonJQYcCJ&U_5F3BE-~d5+@6n&9yd&LS({<;UykSznZ}Q@=n$74TKw zcXs^AQ=O(SQ53(^#JZ1(>bh`L6@dtWceN}UH20kD0;g2QfL~X;zi)ka5Xd=_|JA}?nZYVymGne#7i-(Xetv< zrHtKnp@c2yYR0Jk+oQTcf?mOY=03wdc#;EomNQ+e_;*Zz;z9XWlo!gs)gM!(E)Yrr z5d9=Ll?Dcs?w&AHe&6-s>%x&+olMjLRcZ+@wKzlQ!-v6MPSCB$3tNL=8Mh_7JXPmg zO0>&dsSS6@-s67mcLQolCecM`mx|)?$ZK<2m+AgZ9t7b0+Vji#5y4 z6PxBS8OG1__hcScOl)1eA-wltfBM%Q>qq`gg^kvIj*+{6{!F&Mz(g4br9%^TmDH5r zhm^7^BNk*b>(u%JN%fx|oL@MkM~VuzHlhJX_SzIl|DzkkbvvsyeJtP3d~(Uv^=Wz+ z$Wb9>jo*_Wv9bNoR`CiUBUR7KxUQS85X6T@xtvHzZJb?DH{NHq#Ix2M63lmLrI_Lx znkS-_ZCLV*wF;t27Uh0sK(%X`%YZt>2>-Eq_uDfya$~RNQuSyCb4M*YP*GAn+DgI6 zr!E6&`e0bkQLA}1&xW&fHCrpwOJCS<5<5C@byYq{wDOI#Pn9_G+`WUIo(bnGL{--MmKnDKpyOcNu}4TOlBAlr9kVY2L|!+2QMLc)Pwg|^{PEz+wYG;>x%*V16OAQbKo>R6znJ;vq4v18 zh*eX1`X+m?<8Vg0IwDPxdT<+HskdM4X*tD)#b zyp+o6Tr5M*i0l=7c&hVQx->!h^^eMJv0t?rE>6;o7@MpLs%^W)Uo$x!wW#wM+q?MM z`;Oo6H87bUjVZ#&PL7I%vsu)ycaAFZ=bh3PPN;X82{@qR8z8TNR&6rE#aQWtUVUGV#YEkmJpH*q;j@<&!T!0C_%kt@>ccMT*A(v&*RDlA*tt3|MU)J(d zaDygH(AT<@!@K-zm*^kx>8A&F3ciadlkjw-&0~fxbi~sS$Zp2cI)8(DZwe;6`SPOW6=B#lH^p%MOgG>VnWpLslv%JP#$`7Ud%B zW3|^I7_q3HE)H;CSg>gf%6Km#mJX3u7|B?qs%U*&^*9nb!GsX_d&5Z(mDxrjN*|O~ zU=_?gE!F_>&jtC?g4Hj@07$Lw2s9@dy3{P{;-M@~<&o9!N^OyBB(2zu+BC|5Dmqo7 zv+PKF)ps|uyUQAh2gjCL!}Uw1xpqox*bx2S`3UiyujJDK-4*PyYjS1Wz5hnn9*Hrz z{T<(Zxe}jy+}BHn_0`$CM+J20m!wwb$kKsnI#d7qpj=czGMbFH37u;$+GF2$-Kg7o z-#P~>8M6QsN)%@AD&NQ*{1~@vf`O#7MdD(>dHak(s#Yr3E){tgInqhsiGUQ4(x_jf z5?rAGCz`6$jW8!!xiD*L;~dB*F%^BB@>6UL;XcQTkymzQPtGS({ zc7bTQuZWmoFOOG1jtx5Z6(~F+Q$u?am29O+nUNA4w8MFp`-e4^U3K!O2->h8)x=wypa~ChB-MJ9!ge>)30cK=2xgLcvNI?N%Fec zVayJ=A4rVv!PxO}w3-`tBiKq;TK0TQ(pl(uyHIo)YYf_~HJ$SqOhLyZ6|HAe)u^K@ zd1x8}Dh=}9n0VxJGk|>Y%{~8Kg|O?rr>%@!1c>)DlibK9s~+R$k6g5|{_$109*Y+P zg#M|Qdybd9BN=_HyB;lWhlR;#m@SwjbW48~d>LFg(gwQkByUKF%1SN}**%)BY%&x? zH!k9d5ZG2BC;>Aob*D$SzVuCJsNt2@O=l$sZ&)jbT^;dO75)j|ziw81xR@H27|Ipfm`^!} zok2JqK6pTkcjTuUUg39riIf?i72i%)cs>P|*T*@=VykpE=p?nw3Ng1VlDHN=Lkdel zDKLB9w3&8Wb!v$o^SR<;N@S6=I)DY>P7R*No0DDMojtYat~%{dZq37#9{kmw0pO9GlHh zt6(yJ^<*ge1IT)8l7gMt9q6L>>#oo zo>{il6$+(x5CRR7j-xHel+mpZCyiv-hVPb&^TdNx)m*(T$5kY*<8RCDlJdkkvLHwi z*HZmUhO7Wk6tP{;ETIJIss+g*v}VF(Is{7jhV)mBM+F+Z9QA zc*wTx&Fp6<0>vt6hgFvvMU!G^7+;RnUKwiGQu41m;R%{dvhU zl;!HvTZY7v9f;6SI^7{0AhA;;>>&F#z&cYFngc979`H-9%S$88pbqk{DagAHLfA;L z4`5R8$`0EpKNsQG!c}e9FhyFcsvXj_j+K~hD9(oxPPck|7V~6&6dt2hKImh zhpvCj?J%3f5Rx$e!ad1X_kZHIPyFD#r>PQy^B^A$fAj0ES zz>`(5s1gfVXogz5iq4Z~4s-?K8O9$ku;dO>mk#lbsPY+OLaAv=;M6}Hh=Lu2#6|qt zJ%Q8%=x!d5U=od21W=0srY)awObnE;-ACcT62d{0spmr%xlZAXE8(hgvRqrbegcg( zo&P*h05Pl6YJSd;3?5$NmCw3Bw)N(cju*fhA|4AZr6v$6!@bfa%b9<^f!O5^ za44xRA0Yz(ek=Ak0MHW*5=L{vdCzOISh84~*e9(01*u^)Rk3YWghZ55F;}HrZK(~C5G5{|bx6rgh?w&XSCkVij_}hPTS(^AG zrue~I5vt?z84-9z9XkMNmqKBKbjmDrf{}k5A^zA@?}65Kx8775ixL1C$U{);n13HD zCGcS<5~0@HmdZiUI!MMjPHWhDtIw0E7Yo}-w4nBkIS8Y#+Egfk+ zU!&HZmRDt&Km_r}m3_4CJlAI_=4FK9X z5{YrQ;UIAvh;gextU|Ras8yjl71ZIahFUeMQ$w8^T~xzGyfsj#K^HY}QG+BJkZ4dn z?sgnh-wyTdNTLOa7S(H^UW+bi;S$~*a2f9oxYU6zQIvon()>`qaHQmM?Ey*p@(KYYQdum zn!8X-7qoPtW&<=EP>TUt45-xrtp+5;!w9WLBsGH6h-5~P;oS|=ZY1jlSvQh*gB*7c z$a|2Y2NXR>-V5?xr04}jFH-h`5^obIOh{=0r3tl}kP3GnwDloXAEs-WgvS{}pF>;?eSNPnM^qS7x8D%spRu_P6^PxMALn=H2s)?!_hd(z1KS{bE*E zSG8vJ{{w4*^pX!@l@Le3=f$5Oklln;@8#W6snx^NXTuhao;56_cv8viL`yM&w4P3h z#4NnBplJUv5u20Y>ANo~tKY(YOG2isPoUE9M_WFM7o9dLOIpePgq0_+ZWwFjo{vbc z$dMAgsnS;q39OC()*e`wE^tXV9`N#uOvtyeHxbEL)Y~!N_I^oRgSje-LQPX1eTVP+ zn8lowavw%K$yqG335H9t&`wL%Y@UT5;6*pj+wyz^L*8p>T1XT)SCd4p8J1n>$KoED zaj{5$1VnOAy7V%55)hs|O5eNV)X_W4(z_2VRy5=1tYO~G+(8u5MrDdfR=8(HU^Fj1 zKo;)sp1!l!U73JQo*`rFGeslklNpM89oM#YDgDq|*oecRUc4`RxqJ7_QqolTNJOb1QSWYU@a`Lh{yJ;irDv zN7%!Z{c}kv)I%N^iMmUAdIL3C|BWi(Fc8%KpTP_pk;E=Gi$O1biq1R@_>c&qoH?=bMrpCx09Pq}Plyy&w+}eC@ zY_!&V=3$#s9L1-a=wq=Mm%@n+d^e_xPkT3R%ud5MRdF3{m6Kw0AC{(W8nyj+i}p^A z@1L}cadm2+KC+e+`1o}ziS{TjH*M|AVCZHu>dEz7dsSn&wPDV7Hf`X)3 zyBs$^;*UGN`()gdc3Xc$Cb+$8__&jvd!)-z#C*BRQIz$?#0mN*sb9Yqa=4*nO~_}J zd!6eJHRL*tquHfS#^>U9)~q`yEnwb9=UKe}94tKB8vD=TJl-$a4-b^P83&&q&ENGJ+3Rut_&DN5NL}!4 z=hGA8teatlqu9;x0#}JJ{P;+`Fw8iez4Yh5?s0_SLw7j?e+}H>2&V_OO`E4rOjVx^ zD@gcZY1g?!twqeAA591&?w1XHja<)Wi{SL*S}&%ntVS5|`yZ_2g)>vwV8p5XA+Lpp z&t?ZBdTC@9B~ip7+o+|HB$f|@%q2&aQ2A01CWFHv*-C@M>`XVC!)9leg_>Q&%_CO7 zed4mxdoDJ$guFXWE)eCAUd|GUQWCgWqCJ;#Dk+6NC@z0*%T7M4e1x0wTr4=BGr=kr ziCFO%Cdis(@uI{TZ$|}w@Kx%1ea!i|?1BqfO?SVBmE5C~h4MJ%F52q+@BvDkZg0mD3J&Y3fR%sb!t&Uf!Q@6Y?&?d?h09_oqF z!%Qz@lIh?E9V9bQ;0*@2iNZvIDNK;Ugg03rg#}W-0Ml3?jRjK+KxzR@D*$N)FdcOv z3QR8q>8Oi9dJ();1a1|*vHMlE?_^7)PemBz8gYbJ0K@ZZ5x)*6iksvJ+q!o1^(%OdzQ9ne4 z50N(1{Ycvva`BM7b4cFxNZvJ!^b8}tf5{&`TOO7!kBlvkj4wYK zUzWZ^S&_Y7nV4RAHM8>iEz0NF51-$C{5=2Z^THPti+?K?f#Pqd04Pfeh=M4VU+qhz{5_7z~Dh;MQ1URxx&HW4=5S zjEVxYx^87Ro!+LTth(u2b~T|rQC(SEh3qK2j=@>!tDED6o^g8LXd2VVuHMRO0Tw|# zA=xKOMcv9lTNnN5+h8K?Qf)!Z0~Jlo=NYF>Ll4}NOudqi(6Q^Z=}u7?!sf@N2fp@- zm(e#LSgT>~a7IYB#j4;fe61x7C$V4QWy#S-+;>Wi$DXPR(p@PDss=<{=XHiCzC9Li zR4ELa4--*m%6B3Pa6=GbmCe)?va_VWChIy_rU0B-_-bD``5v^2chDMrc?K=h<|u z#&+DLaLt`#v^b6L4ZYhlw#|8AQ-AFBZ%^6QeVvu%vk-MyV|zEbU47pIiK2Z}36Im> zMZdI3+oigvNb4BD6l?wp=CE4dH}+7p$fN6U`7Up&v05%GG79~)zF`Lg5-zhfci>7X zcy|L=9NxqHYzIC|Kh$>zB8@!!gVbQJJBc|qy$=6am^mA*nD?jHY?~Kc9xr@Dx1?%w z^@nWmZtAW!I)2tQR9!#2p$=VN>)^BsxQ&S;RVBw#e;Aw%AJE-%MD4wu_2V&rfhJKdUo6>D?M(2M2o5scLh_W;=V&t zu1CN8cSd~wuD9nq^+SKJ5l5R@rii11j!&G|KjhxL)$mwO%vXlL-rU>y_0gQr&f3Ad zv7H9LrSJLb>u~y6v!^hL;Q2f}>dJ#1|9l(n`66WeK!U;`{L^VqgCn%i1S9H(51vK| zf$e_mss^U#1g&21RwKhZ9;(Ro?^yb!DGg(|(qUr0m1Q+D;JA8|26kB<+U zBzRh+d;41G?7!-6Rc)PQ7jpJSP##sE`-bKiGK5bhycWHl;b}1XroV#m3|$qb&&qa z@=Mu#vGk`fae-HU^1)lpN(SZ*uxff3Ku>-^Ri<`EUj+6(MTz)9m zJ3U&pw{S<{N$%-=g2TmzF8n2%rzQR~!_HT>Z+^~?k?fy3nSF8p$RVC6Bzk?>NLi2~ z_`t6}TwNL&f0((UHAHZEpXBGR#65@i+x=X1bfz_J*Q(u$d<}ct7U@w^i&3^<%dT@8 z-OR65zL}=SN~We|@wg@@NrLeoZzdAW6Ram`#zg0^E%l?ZVOzMPOpD~_jhO@IBu_0< zlV1-uO1ITtproZrhK4ngU6gpn$#2UkYFl_ zO3w}4mP^l1qjxl|R7e-DTBT6(fZxE$}fm+Uy{XZYO&%3&~huChn zd-|O4Rjh<5C(p8(f4IyZCpLdt@Ud?>-ZWEu$uG{&Wt#L-%|3U5bHbhtIL4)lss$Ze zR_TI8nM*G5$qk}pCd}5Jf3)|cy%4kLQ`2g7e{nTec(;~p*wJsd{S4vNu+M+dw+2@kk~xd-Tq-`(yXp}y<)`3*J1vy zZC{&MkK!v*buOP1b-1ga?O5ltaz?D-BbaM9j4XHTGWA)}amuw>$py>&UdTCj^(?x*DC+Qa4)%{?r|W+hU_{G_u!{)i)BFn9@h?Ct>$IJ5~JtyXR+Gw?Juxb9m&lhu!(kn_fh|d=I>o mye%7LgX%6(6A8N4NRw2{4~-Lp?jfX?X||?_*P1n$o&N&FwCnT$ literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/favicon.ico b/skins/subPurple/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0772662d730a1b8b104a724cf3ed6a9a0847fe3b GIT binary patch literal 1342 zcmb`H%W~675QfEqH=rmUfd#L9DArJHfOEJMq)13&iX3bRwq@OA$?}YB>pGedpX`K6 zkzz;NlB}NjyZ`=s+Lm>P&%JvV_XpO)yOwp|vaE+(xc1M%e{GNMSk`b|TYt;6*6a1! z_x(K2Z!Pxbw(Eum$TC?9A^adnlB8|h8;gJZX^bh0Vmh13T-J46RuvI~Ac&%kH;rp$K&a2Mt1V1X}Vgi!Z5ULn+;TSJIHRgn@lFI zxi*{4a&NBhEu2Lh$E5fT%bw|U8ik=0Vm6yi#^c3evE6Q)reO)`q?BaGek0Ew$Uu*< z2t{=;bR1`dou4mk8#t`WvLpg5e!<}nkk@SA7q&?utGb0+*LCD2DRF375QfVn-4&$} z^1z&=tP*pTWv=UzSIRu!K(!?-aPF;AWz))C?L_Ix=t~&I_^FyMpd@5ab3V6ur8Oi4 zo^RUD7zMV|MWfR~JF-3gJXv@_+bXb-Oj0V1;7k_?0#E#%Hp{F@bG2;@Ur`xvV=glF z{>ywa_sd3+7?KAmVD5X~cC%4R(ZWU>QJZf;{UcG{)_A#|3Voh*um2CuE`zjCrRqsU z$?!-2Fp7wyx{ek$x|dCFOMT`wr;)nI%xKvih24uw@$NGFmg%_Y$%5?Mqd2B;Xb=ai z(xy^PFDJTVqSXXtNHFI))PTx{o%mV(=5xt5{DL$9f@kCw~Y>^y724K zQhgHoU08ldn-42#(I_ranS(jh$r z1XrGO9}djWkHPP_evoAAN(cL)q&jxZ>8@=vtw?t@di&`^K#Z`cab@dut4%$etSf^m aOK>K`O(X2Va2{9;J94_52BOe`)~$ literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/folder_new_posts.gif b/skins/subPurple/images/folder_new_posts.gif new file mode 100644 index 0000000000000000000000000000000000000000..75ed4d440ec9ade62bf60483ee0c60587a09b5b0 GIT binary patch literal 1811 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 O7$G`B&{2oO9sDnesTxE8 literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/gg_active.gif b/skins/subPurple/images/gg_active.gif new file mode 100644 index 0000000000000000000000000000000000000000..620c66d2f1ecf2413c58c3353ae5ec4259bcaece GIT binary patch literal 2692 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 Fe*t@$X%PSb literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/gg_small_active.gif b/skins/subPurple/images/gg_small_active.gif new file mode 100644 index 0000000000000000000000000000000000000000..c51dd574ac06cca9939e4e597a4fac7e0c428798 GIT binary patch literal 2017 zcmc)J=~t6i0>|+{Bw`K(bm-AXhl&gb;0A@%QFR>%OB9!bIK~@4g%pI6d|a9XnU|-1=>-EK>H9B4?zj)Fq8}f$uJa;zz*aQAVC;` zQq-GJdJ}e!Vm+f+FX|Z9i#CqQ#xXhC1lBi!$<Z#8_4Vd2Z#G}P+1%XR z+T7Yc@BdH7pc)}k;Lt?|}{xrN14u|u=b{LuC-sAj`aofKM&U6d+-fV-|+N#ba z;!SbZtnW1WR%XEgX|2IJJkgdCMN6ZE<=b2E{DN%+;YDV2H|7Mz2v6K)ACPgIawOMm zCpB2_6Jnf4z}rz{C%(&J2zEM8Fz#1&aLh^mv9-QrO`e65EY(oY$KTuK5|I59CGC8I z;^aQ2o^>!czlTE4E?Z^4BHDU=R^%Ax8OF2qX6&$c4Kgt&`EFfdHacjD)*pPvv1WU6 zSn7Ex``<+`wb$nw<=tsEp(YlNv@=SUO(?Oz~R2 zKlQbfp+qlX<0DI41JmB=)%eIu&kkp-8(wL+#ZG~#Tl(5^%~bKTA1*zSl@v#o?tXRc z-30K8vi1z&8r+xh)7GA0B(~N%lA6P@J-T--*ZRmhjbm+P9I}HGX1V5W8)g~Ev56#A zQVt!Z>cjRkf*yt0#ssWs3;w`(q_s;3vq>QzbLDevqxY_9ZKG*x+QJV$w$a%c7#?|c z@hrP=vLPYPgv7YOHz6k`u~+O9zfzkxe3ACZ#DSF^5>8HF?oTB%YtQA8lbGoyHA$>o zf@5N1&b<8@mS)P~OI1#>Ba7ohaLO&QAvk?i8^?7@rJ8dca<1B>I#zK#A{A#8|r z%YJ9`SNE%L)cNi?Pb^HwFan)7{truftox4HRpRK?4WlTE#YcyE6pU~<%7f%UH}&8; z#z#%LdbOE)UZ*U}Jqs>UV|6Zeed$v?*9*K`UX@*XPio+@-m7$J&UE4M?`^MB%hs3T zf`9WZ2X<_~WgoIoE8}bOYy6K_WOO9!a`5i)^~{bG5s$p*w326b$D2_{=O@+CMeQ|p zXLeCf#d{yC4f^8zePPF*#pvK%^Oq#0ojAHV$n2M)N}t%4@W4xNIi#Nxgss7uGtMvW zh+|orf}OuER-Wok{WS0Glm1S_*?Y2S9l`!p(y$;Z&o;c^?%ufU&&z#}&yb|?$wseD z8XVFdstruDh=VH9p_8H*{xMzVfoF@Yp@NUIYty9vZ2eR`X`;!$DQ}B{_un< zu|Ij`#qrlCd*jtH-iZU!WmWpak~wMhhp7{CqiZIGPF<^ad%wQt)|qwr;RO4qxW%!} zZ~d5tft1y;2cHa_RwRF45k7um-)Zod@BejewdV4v2lK|PEC2a1KiYrrZpCcY088=t zwGq~xha6H2Z#GZ0RKedz{yUQ&kk08Si!9SNSEHC&<}V%_NULRTXDUg z_AM9CCWBIng9$$u7LAe43CqXVjpsg6n^LLekTGA=f`^@jHfgI+?e^_X>kkB?eQLZ V(V_DUL9wrbLD%oiMc@3B{{c^Leq;au literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/index.html b/skins/subPurple/images/index.html new file mode 100644 index 0000000..ff17433 --- /dev/null +++ b/skins/subPurple/images/index.html @@ -0,0 +1,15 @@ + + + + + Untitled + + + + +

    + + +

    + + diff --git a/skins/subPurple/images/lng_Polish/Thumbs.db b/skins/subPurple/images/lng_Polish/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..e90d9b62bf9c04cd0575d23971b31c3a46b6ab55 GIT binary patch literal 39936 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
      DGVPb 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 literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/lng_Polish/edit_small.gif b/skins/subPurple/images/lng_Polish/edit_small.gif new file mode 100644 index 0000000000000000000000000000000000000000..3600a0e15047f71174ddc298abaf605f10ec563a GIT binary patch literal 1477 zcmeIx>razs7{~F-sem9*YY_{jg(}Rc0mc$_WWt03j&Pc8EbKtlIdEp8Bb#%MfV7m3 z0xbnBrIyw{Jx~rUr*g~!0?G_CzzbzY6Pp;3;E83qF2^YB<{#K!uqWUA^0|}e)t%g_ z>4JlYgmJV0+M=9Rtp}MNs&9a7Gpr$NfSS#))&R9+DX68ej)FQ0YmFc$M988)^-V;eSD zp}~rcR%oL%23xN&PHf*s$iw!k4&=A|9#f};~XzY014%h9dCEHCxEvW~zJ=od->{?u2d-mM5^uo3L%C)|}zOk`Ee*VAzz5(9f9$S2A8?=2i@@>8e zn)f@9TVcMA@(y1 zYQ6jYZS43fkGaKXkN1AEKX1C=-3mz;H|~mjS@@F9hpub8A-27kvdmM=PU3;tCh!dbcU* z4)dwL?CzT>ep&kp-duA1ME7IczItd^v{m|t9!hvLHaD?7AoRXIAIBd_{Mqk(yFNpE zQIuQ4IehokV~^F;y6__jo;=3ssx{t(B#@UoS>@uVMJq&%Bi=kw0QmDf0+YQJx>D`) z)X6|WsPnh7biPx{$l#BQqB8kTQB+pLn@MJ5Zjktw6VVq$jAQXmDeJ@d@yYFxhn>kR zerBwgnW=K7Gf!mah@-NP3&kvLv0^G%`5SCCe|I^9&Z`3O#qI61+a${c+j% zQdUN;Bb}9BJeQ*UvSejy&)L!>pF*`P$t&cfd~S;M`MDuuu;}uNI9OPf^ep%!-`A`4 zv`W87olz+SyS}FMw~R#{;{x`1YUP&Y{95ng&QqEkfvMS4UfE6+>Q)5oqQTf@w&THJ zEBoTiiojMf7DNyGZdTY4R`O6N;kYf``6hI9KK5L9@k}h8b9pu=HEiL5FqLz;to=6U z$0yyA@Mm!0z;LO@`~hycA9Z`w`7-t;=gMDB$*-$kZr;PMz2c_FDm)^{75ZI$eY28# za++5eFY}HF^GUYfyc#XD^Tf<~JGrC!>B;Jt`LxJAZ(scLPECTFG;;qB%s|?E{{n0b BYRUir literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/lng_Polish/edit_small_active.gif b/skins/subPurple/images/lng_Polish/edit_small_active.gif new file mode 100644 index 0000000000000000000000000000000000000000..e2c0a5bb50ca9565bf9cb2b4a5526e3ce8340b0a GIT binary patch literal 1999 zcmcJOX;%|g8h|7Fs)zwp5DA1z5fCDd(Rx~}EGm=+go;2ZP}^eLsbF!YF5^K7OJv^z zL`h7@!Wtlfu$quW5D*b71qEk_RPmr7R`2x!fw}yE`8e-+&U2pk>wE4EIOb115Jw?w zBD~NLvN#}{1F~*`>~&xcHW%cq19Q0`7n=uic`%O$@^~<}8sy`(8s=4lylR+_*J@aR z&Bwq3J}BVBLOv+OEdT`qSSSF60$3yfMYx5aPzZ~JphyUdg`gO>2o$daOGKbV1dD4x zaSbe~0VOrCv<8&ot_5W{YB8`3cP%Wf156xs7|6t32g`BP17*e#HQLju?m$dLe!1hS>z7H%ovNZ~EqQplA8F78&yZ3Wy`$ZG{W+--o{ z26=6O*9NO`$UyZvP|ybXGQgKXemmf|LqR(fVs}7c2M~5ZK_?X9?gT;{ov;SG3)XbO z`fk+FjT*6gP$T9x65mEm7&&T|qb3DvR-hK_UewZyB-lzMQ6i}lwJJYIRM<$0twL?s zYSgAiGVD7@hUr7?eW;@kbz=9UPRw1@br*GG51{S=)HR5@2T{);x{W=AZe#8t#SoI; zL-Jvy7)HI=_fhYCq{JRU$`Lg9XlZC{>E77#@c7cm#L^SZ@}y>E^4ap!ndO<6+UIjC z&*!u+=2m83X0yj@*KV#sDIQVn&D2o|v^%8X6MKHiCJAGNNbrNdFr zLKs3MaYb*`!{MqKudi!*-fQ0e z^1JDbo+SevqmDNQlzw@to+Cb?*|j&l=??Mzq;&6WBgY-azT)0%F4h#g>b8iQ74(TwQ-2X|m_@B?#MzsEHovn&hVvaJS*!7FT2vNNHs_xF?6;#nP zUZ&NqNJ+xoQ0Krh4^DJB#hG7P7PFCjD%ANnllpc109~}}evnV9$rLfUh#$oAHh$G! z^f9f19Nj)<1kKoswTS{bc|66Y1cm zj4khte}772`!KdU|MI&qRN&8ezuSa3PP?Tt_7A60TtfsVc?ZuAREkarT~hgW9o}ai zvi5K3vCZ*LNa84__PGZ?a(yB_84{zew5ko)L`%>4*_F743se3bd_L;H*`%&ZZ6?8! z;creh#4wZ%+7h^+iG9Yf*~5~7Qxl3yRZ{Kp?&#^hzC3l$SY4!M_I}~{ZzkO$;Uh|n zn>d*}7Wq(h&Srm$7>?~$YwPj-p@aG%2^X;YTVshUAWo%p1REBca8K9794e)Fx}Jh?roNj@Ah(XVb4l$ z;GXU<#-Dql|1sh08LRVGAX9F1g74XDHuGo2>2$_N%mkCYLo8+gF*7gaq-d9y`ptzO pyi(%H7B?;ox9?(K(Ww!7rPx24<*E-YB~S(&ehs2*)z>3@@?Xz|eun@6 literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/lng_Polish/inbox.gif b/skins/subPurple/images/lng_Polish/inbox.gif new file mode 100644 index 0000000000000000000000000000000000000000..629623a75427f9399e8bc57908c32e7f0939fb2c GIT binary patch literal 2808 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 literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/lng_Polish/inbox_active.gif b/skins/subPurple/images/lng_Polish/inbox_active.gif new file mode 100644 index 0000000000000000000000000000000000000000..9d1d3f1fbc4fbdabff735dc7bbdcb1e2c2049422 GIT binary patch literal 3500 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 literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/lng_Polish/index.html b/skins/subPurple/images/lng_Polish/index.html new file mode 100644 index 0000000..ff17433 --- /dev/null +++ b/skins/subPurple/images/lng_Polish/index.html @@ -0,0 +1,15 @@ + + + + + Untitled + + + + +

      + + +

      + + diff --git a/skins/subPurple/images/lng_Polish/lock.gif b/skins/subPurple/images/lng_Polish/lock.gif new file mode 100644 index 0000000000000000000000000000000000000000..127130b2e4085b8001d10b65ea85eb291e5f9bac GIT binary patch literal 2840 zcmdVZ_gmA~0>|-?FhcSr2_Q9=Vc3}&KRjs`Q!L1sD3DhFApD?nxi%&Guc6)?L3WTRGrEEUXFfov7bQGp!P zl_0wk=2U{5N|;*-a#2@-oGO@G1#+ukUKPkgeG}x~gn2hX-c6W)6Xc_=2KoO43#vgu zHO#*S3vPjeTkzT~a1GrWaIFSjuL0L<;Eft^<2D*BybTI(!y*)FP^gAQYEYzx#cEKD zx)v1G!s1#`TnkHTK?&+QP+SK~>Oe^yl+^(l>UvO84`ua0RuAR%K#sZr$Qq!$0mvJm zq5&vSHv)MhR5SubBUCm5CF&-iXoAWnplpJrO`sHYGf+0e(q>TF49l898R`~L+5*d) zXUkeZ8HyHA-U7>7VFl_|P>!M%RJ6kKJFwyoRNVn86nCNOE>PWtm3KiU>NZ%}2CLfO z?O$irn%TMz*r=Op>YQ!w)oXj_I{N0ceRH}#y{=#1^;m!ZiN5=({=tC0cSzqiq#t@U z|6+W8^sV9DN3?|xlM9od7ygDuIBSG+##uDIaZYd4qs<%V(F{fd+JbRm!HAy4#YObq z|GS*$Oic)wMT{o~J^%a(4Bm)Yv^1=e$=bzOJcWhF2--1-^|nGc*%&XyZ0TMeQxMrM z#96vB1*4j7tOd_0xb@TuVXpb!^ymZLZ$h%YPT$d89(}XDXyZ}i_JCc^Td%qABmGAz zFcF)Rzh<5p&S}S45Uc(8nugkO8>^=4Sm-7G6H+~v!`nGwe zT`(J)WI-`(qdK&&O(c+AP0J~VIfpDs4yHRj&x*wNZJa`j=>^y%0?CvMkZY%pb&I&) z^6B!9(P!#!zL`DR&PgUvy+hTkG0{onD|f?Rf6Q~tU+J!X>5X6qoU-b?amekWK@`(> z&v$o8F&j693^I(N%O2}2ze2#mUZS04aqxjz6YTU=<;TV?Xq3t$nJ$Se7wNWiz9M_uFrI_=d^>w2jgDQ7 z&Ga3aWoNk7up$Yos|6y0YgI%CVWo;+Zn;`2h$@V(60E%LCXK)n_;-Gbx*nSsDk4OG zJ}xRePYP67N~*SwTb>xM)Wi zqnAd8C3^H5x;61$vywV@sK;^Lv*ec ze1KWoW~wCK_ImRml&f8rb2p}SUB8A)@{f>kNuwPPuaE+!PEC0QOz|JKYhQ}QR@&(3 zQ!N4i6+G^aoGk8q$}(s=>0#oHf71`L7PRz8pB~&Y?My^Hg*|l8-$-Wj9UCcOU;faN z*%)inp$#*Xrl)MfR0Emoz~E7M2qV#&yPNcoUSxVW;0+JY(9v_r;sE#TjN&9)Un z$VyWi?e3uMUqTW}bo56VCokA+N%&Rw_jq<+Ld(1SNyB`Py)e<{FY)3=@NC^YmJZY*azZG_p9;!#df51;Crz#*ovwPG`+ozcH=3@H(CT?k=EnQ?N$m0<0v3G5GR z;^el+g3a6yIurI(M=p;GBYKC*345iYUJX;Smh_siSJpwV3N_35)FFwkR@fywC;45h zy{gr?*egSmJc7pvdqQ73*0!WwYX6Xaps>U4tJb77$ArXiekYwb-R-si6gBUW$gV-K zb!XIJqPAP~6{|JLBjQPB_z-v1H|LVVB5iVR={PM-vZU`~g~Y~3Z#-g-n}s~7BStFA z?2=oP=!quCzcFIQMrX-^I5u*Gilge#H@9;gqD_tRYnS%WF;5EyXGGq=ZryRx=}Yus zD%ZDjG>M-iBp#dDI*%U{$cHF#7M+-|lF@PLrig}i4j~Rt>c!{6%2A3scM|{_FtWSPlU+5@I^?o=_=(V_*E-+PN#(%#;JWRUH-k(>H8d9 JO-wNB{|EKy)baoT literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/lng_Polish/newmsg.gif b/skins/subPurple/images/lng_Polish/newmsg.gif new file mode 100644 index 0000000000000000000000000000000000000000..b8b52ce1efe636352888a700ac5177fa13e24955 GIT binary patch literal 2859 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 aZN0Rhun&1R<|bXfZTmfdk|#i+eE$c)yWoTX literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/lng_Polish/newmsg_active.gif b/skins/subPurple/images/lng_Polish/newmsg_active.gif new file mode 100644 index 0000000000000000000000000000000000000000..f2a6921a03527e48584ca15bf2d1e8dbffb64435 GIT binary patch literal 3555 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 wNB@Prkfc4xP~QaF9#^p|_$)ivdpl8*J+6fB*mh literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/lng_Polish/pm.gif b/skins/subPurple/images/lng_Polish/pm.gif new file mode 100644 index 0000000000000000000000000000000000000000..25871f3dd0af1422f53b743c1f27951144c264f6 GIT binary patch literal 1910 zcmeH``%{xw8h}3_Kp+9W5C%dBkO%@*M6kGpWwell1huWO+bPsri4~<8+Qie07`hp|bp+fmy!bau~)k%m3}5Bdl6%rnnC?+@=U zXXX{|5ai^F1XvXIQx~StfeSjIAQ12Z0hEYd1iaV_F7`sD9$eIeOTPmf^`KD?FB!lk z18g*aMgvqKUqL|C6`(>k0+kV}jX-ULO-9g!+62@l*kl4tCfIBO&8W?w$qbv#pxF#H zW}q>{7Gw(owpc)m1#0?$rVqCCftEgaxer`M-49w(_k+v*uoZPb)b;}{>H*L?0JQ@^ zI{@2|KSsc|k3k#qAZQze?Sr6w5OxfL4%9=SeF%08fsP^AIRrXU4}*?j*oDSn(1~Ig zb|a5~t`XQh0=h?F*C^;3h25i|dldGJf}T;RLoo(=#-MHt=*A#11_;#SKsOGFaX^g2 z-f_@-6#?~Ef&MD&odCTPP(K0m6VNaL45%l8ei9lcfngF}nS@54X^XI8@wuYr+=>2{Z7}^6g(3EWRFy~f1H4rD~ zXW7nUq~vHSn`RS8qEf?I^8A7wft0_kE1S0E@6wQ|$(cAEEoJY`ke?kh)bxRFneR-x5aq@_4EZo z&*sDjDk4(_MG-{&e8|(Z9A87?-A7Hyk|3^Wz(?RpOTI-2+BisYXc=+4!IOpZrTCL#;FB=*$eq)2SYcTZCpuu z=Xc!DoFx@6EN3w-DLi|@%nQ$c=t#Pl>nKVJ|I5RoWxDG}ZF0EF$>ue0{j^w5-MUa- z5mxq%N4!~W0ghc$; zpV<#0wtIB9+PAObe4?JY$4t~e)=6lEtP(y=kX%EG)STWkXDoVskA>C|UE&nCGemV_ ztwLC5@pUp*HW*u@IdeE~NntVZ@PcN@eO*_;G=u{?EPtT>gYSt)N?bhRX@pyE-e$C_ypcRR`^Nj>!;># ztUW#^6?^>C=WmeS;&exq$c2SbUI8ueR!ROTY1A7m>Pl2Bj}{oS|NOoAnEiFMpqTQL zr+)ox-^mf_=Lf7y^U>w<)E8s2&iIXr->VkwSii^0Il$PvG*I&rIxb+8%SEy{dFp=zaf+E)L7eKPL4nIP;yKrACHr?J zyE`cE$P^)CUOuw@8te2N=XQLRO%%*Jvs5BvUA;}K|KtwV zS)VQl6RoW4Ps4**ch`Ko6PK#)3ZeMF>R`BhF45;XC%?Nb;jCliwrBYVwa|N3^U*&O zK2-J8$N%u;)OF7})msVgr>Y8~xOgp@&+*Ta7qD?$LM8>I=FA4|RMpmC{GhFA{jJn9NAsCIG4PCie`XRGCNNu%G%h40cL_bv9uOfniWK2*~VFRn{s5Q0so dvo5IfmzjyPucOZz0(ZIZZ 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 y+R~C$Cj_~p+@;55-pa_GsShP?#|`VBGXe zi!5O=At5AzK-l*+2_TC=<+SSQ%plf5D%G*od%cupE`Pv$?>*0X&hz{J-cL`S@DE6& z6ZQ~R772MGkS_vxbs&ESSb!}C1v@~V81S$qfG2^45>P0Cyn0ZCXFV*e2Zi;p2+w+0 zj4j2$Vksz=!V)Pc!QB9g8(>KTC~1JD4WJaa43x-VsSK3LAYTUfxaEMq1H3B-cjb_; z0DJ|!s{nTuuuK8Ua5sXo9bkDQC~t&iO`rlt69!h`Zi1CKl%PThE0v&92?a_Zz}*Zg zo1vf?2%2FPjus$jfmJP_ss&c#P=P8HtX6?)6|7N#8r-d*7SC2#(+X-@VJ)86ZJ@Rd z-fIK*+Mp1-9Rr2!K-dmNI68o^1ByC;r~?W+K^^W+AnJs5xI3Y^6NqtlL2(xlcR@)P zkl^kH;%+GE29j=AkD~|F?*OGeK#JW9q`k1A7s{~vpsWwb`d~vpl;iFPG93L-fjs~f z15i1Lng>w}_7G~p3?tPrYQ>D8wh`1iirPj|JN6iAA4473YSf`do!A=GsX<*D)Qzo0 z-P-rvTGWGM9Q9x(Q11ll!=6O_IIuDI(ZGE)h&_b{r_jJO8k|N$(`Xob1`T6o(Fo=N z8hwDqu;-Swbx8zr!Yy_79z%w2 zs*s`8C7L^ic%?c9XImQQcreVw%zQ)oKK6*CjxKSxrEmJYV-UyCl*X8J3*41ypi7}e zjNG~%CN{Ml342m1=NeHxBP!f2)S1RMs*8^VBHbT$+xcE!a!gH$Za;gNJ(=Lg$!>O} zUoU!@_=;%0|5&~?%Q-m5+$BuU(%xU+i0Zy|gI#Tamk6!+=S6ZdQ@K5n#M3C zTi%%vILkD#@JJX*_x>o$#G0NwFLOGspG!H!Rt@4F4H#xSu z?LJIjdX&alFIYXAap^TnJZ@sA{c>wbmZ(eQ{T%S%^?WNQoA>Nkdcrz0r()NqEkmJ$`=!z_u42sE{f zOlE2MvB_zfmT_N+^sVC37c!|)A%Xf8QEYEli|9*%OpBP5KvS!8$*o$;*wnyqn|R5t zEZfEOr!Lm#3GU-o=kr+xHW&DbGON^#)#p}4H+9CXlJa%jtQVtgv+6EXFNFCDm=E)9 zQ-q>%TZv-ygx%#4k%4`OYV6Htb;(7yvuvaS#R=PfX|aL*W!W18RjSERkEXxQ1QPA1 zzBkLZ|NA^^qT`#z+Y@`Qk*<8z_BHKuV#jymfyBMvuCcQBUgck#*qgDo@M_=n7b2p= zKNepS2j6X(%pG8VGGV5W&Q>;K`eBpUCaQ~oD%rUpGk5o4#ag_x*zEhTJ9HCj^paoW_nJgVWd1a+?I?}eqY z%8LOvmVfGOWT&Lc!~bSb78f5Olx3Q~Gvps+iT;~w>z7WIM~XGezZhR_SsLbkYId0! zPWRK4hqHWQruZv!!sF#Z`E2^igL|xO>DsqG?kS3M;-LB|>YFmwlAUSKt|)sNAZtY>e`w(bXFzPX80MG{T|z% zJlf!wcT*YnB=OIM_1l}*-Y?EahTeF)5L9ru^I%k{=i-kmOC0#v+360+i1ajb&j;*0 zuHEvkS>Lp9-Ehy|rII{PT1n4zZf{f1@+Xuhccu@!3M!IvJ^EzNcmqw7(}j#(kByHE zz5O+h@$tGft!QXtEcD2rui^6}(Pv^^yx6;b3oRSbdw9WX)FkYbiMBUhz02OOxqy6kqzJKgsD3z5b?;~@RM{dp6*wZ0zV=>Gsz Cr*ZoL literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/lng_Polish/quote_small.gif b/skins/subPurple/images/lng_Polish/quote_small.gif new file mode 100644 index 0000000000000000000000000000000000000000..ba4b4be3d52ad5c56d76ec0ce59e47def8c970da GIT binary patch literal 1491 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 TYoabJ`YMex3?lG&+@b#hZ|HV5 literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/lng_Polish/reply.gif b/skins/subPurple/images/lng_Polish/reply.gif new file mode 100644 index 0000000000000000000000000000000000000000..fa888389d478e7c800ccb14f2c65509ccd3da6ce GIT binary patch literal 2859 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

      Gs#u2 zO5D-E6n6j2d$MDVPs0svMte_uwWiFWRmX?Hp{gq!hPdC%^=_2l&wX)mg`U2LSGQRs zIWu0puTeeSqYFIpRy6?E4U=11BT|nl^aRk|e7ig0QeJgH(l7>GzEqf~%iIt* zYTEbc@NN}9QGUH?!?)AusapR7FQrMpu4KVATp7Dv@kBhk`;?-bp%YoR^xHZnR-s(L zp!s=$TB>XMlDj?b)SZA`t3<#H_zlrUgQ_?QL(|YTn0&fORD*K*<~I4Hq9P7v)VQ%x z3MxGJGQmE>-m;^5cB2T^t$qwAK>+0kbfV0U8h1*J!$Gxr+4fO&##5wf1VP0G*L5>n z!npR^l`VCK(T*x!9@w&h?FUug0e#vEe%J#u8H~UoO{Ot>^G1uz`*FsyfBM5>vZ)|e z6iB&F!lvmOPr{3KyXS+R!o1pI*v7P}ycdA}KSKACjhXV`lxRtozVHIDM zqoV(clX%EAp{Y;m}CAEw0>8D|7HRmj22-qTnW(hM!K*oiH>;5 zjx}r|N{HX=LALwHroRIUYv-~C+ zmjlwBPlaGhSTei{kmWKZIigoxWh2K1!2-noPN7S{1xQOA1D4zK=Kg#OMgKeNQMPZ7FQEE7|Ka}=G7s|_qxP1Lqm0;LSegk%8)dS-e} t@2A;Fl6+?InMWw=CqoX&KO#zzRwcH^WEi2~2L-D1V(o;+5fQ-e{{sw{2DAVG literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/lng_Polish/sentbox.gif b/skins/subPurple/images/lng_Polish/sentbox.gif new file mode 100644 index 0000000000000000000000000000000000000000..7c3e65d73f3ea942dc3600b49653292b496b33a2 GIT binary patch literal 2840 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 H;Pn3h&`s-H literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/lng_Polish/topic.gif b/skins/subPurple/images/lng_Polish/topic.gif new file mode 100644 index 0000000000000000000000000000000000000000..d139cfebd75d7ddbb772c500d1f17da94ba12349 GIT binary patch literal 2833 zcmd_p{X5h99|!Q+*k*RCgF>285kk3{3L82{Dp4o8J>ja0IuzBZzN&L(o2(+sO{lQV zn44K+ZsxAD&5oQ-H*$1x++>uZDUuj_d|ugB}U-aov5d40F-TZV7U z0hAr;tsHe-2r`7=x(Er(5P{6Eff-_uA%>Y^kST^YkS;|6Z8e~6w2XkIk+u{cjVv>()Ylfd+_c(aQ7Z8LZAS56|hJF ziWIO|0g4gVf}&bjTnmb8VM#40L0kul>tIP8D5-1SLu+R05$Aij+WvxE=`W zp{O2+>Y=zEh!HmcQ3Dh=0C58>Z2+Z+8-chHmNtUYMkr|n62wiQv$DXgrmPN3k_1A}#c;qi`fR-NY&~n8A+Kq+(1R z7;L?|3yll53u!*RIyDa)c_U%}hOzBAu4h_wSM_5%iu~dhclhqM-&VLTihNYSHsWF_ z){LL}b2S*8nan#$U4Q&}WwZrjY?Bx3xoo$^mZg8FS$mcHtdfT28vgBX+|v|h5yC>J z;i!htrM4P39)aRuTuzM%JYq_=H4byRz~MeHw+kae$i_i{Sa>GBixadb$z7z? zzfkPj^(jshc!jWZL%4!D!Z}5>TxXaXnh(Sd>oVUziDvnpCjEBjh~v)&PU6#cukTBW zS(q8(bC1Pv#t(xj$>W_3=k0K8kmu(>6tUuv|?CIv+ zCC+wd)pVRZUY~kNo}gyome;?~{A{C@YOwztL#@1EdntMZ>mZ#J1eXw%IcYG8(c z3U!r$(dekf`A&6}2%O}CSb~#`%^^5dMQaIbD%_=}P6B3J$%QJmLy@B@Hc+%>d;*j0 zpvuM>^^ZQQ8x|)Ks1;jbW5%5KL7lGg_zhV1-S$o*sUpnyy9nVdOI z**Go0{Nbk;bUb2AGS84Vv}U{~ZF0ywL-CuL*+}-+vz26@4|Juo+Y(nL+23%N`;hTX zyC-G$Tj9pP0}S0A6sCj}Jdj{!q@xBI=*9y<>dQ@w{Q<_$z`&(nNlp6W@BMfb|3|Jo zO2WMR#8Bef8ZgSl(|Cg?Hr_u^Iel*dLkpqW2h)P7$;LEE>CZfBS=J9aYFUoIZbG88 zyZBCGlR7^YOk}0dWF0S4XqA+Jl=0ec0{F9q#p)Sch^KIYX(|rtek7x%k*0L^t z+@3Jq{^`}8FAE<-;-3b?Hy4NR&rd6lEYP;Or22gx+cV5tvh%~QU%rItkDwNsenpWL zY?Ie3(DOb_6Kg7)YOFV+6sU3Q1Z<15f!}y{X`Dh>gb0)fzg5L@+G0eY6JrQ|46Wmi zRIa^C4Dr}F%i{D5cePGLjALl+ZoBgqBNc&`;hG)H7LTWk`6fjIp_mPc|PKF2Bj-qgdRU@QC zHpb=v;ZN^2BXV*$ch`^t8)f)FN*I?oZ<)oGdjCX9OxkMGE9}h=^CE|RoUjqJV12sJ zl9Ho?Y-A6yKB`m_JlbJ1iR#_l8$&*$3bLJI;(U8GH77HJmg~cDt$(GGlZ!eI9X9%Y zQ*<6Vseo%6pMs0(iXqEYL7uNr`dvaT(f=ep+7$j5IjgKX?rl=krop|6^NQ-@ zZ*QmjzqY4bR4sPceL@Xv9yDr{rzP4=vD5wgyeTO&HFnkq2eznUX_pn46^B}JQ8S|E z^W#BBGo1%se;e7T_$ke9G8#AB*+}_4uO?A5FyN<;X{t%9S%IF#1rTGKx#Jl6oI0KP zK|{HW52lX}q_c>l6p-k4@$hVVz=sh^h01~LKZ`^A?4y#%Jo=%L^tsR%6zpOLPcxs+ z(&x8NE}XhVx}-;AVyTm^N%q(Xz6E6^jYki*H&5m-TP6O@)lO$`eiLu|bl(F%aLS$> z@yhBRgXVKGIWxU&)Dri17oUE5c;H#&xw@-|uO2VGZ9cZ%yAhXt^<3-x(48c>`eo+T3r|~z3gXYV4L_c~ x+`$rx-^{;f<~h@{|{{Q9Do1- literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/lng_Polish/topic_active.gif b/skins/subPurple/images/lng_Polish/topic_active.gif new file mode 100644 index 0000000000000000000000000000000000000000..537dca75c32ec0a29c43d095a0a5318933585402 GIT binary patch literal 4165 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 literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/lock.gif b/skins/subPurple/images/lock.gif new file mode 100644 index 0000000000000000000000000000000000000000..415e68edd0cb842e4832fabdc89d85a1c7ec78fd GIT binary patch literal 900 zcmXw&Uue@%6vltCtE)kzUY9yVFjEnkf^(KJoz^Mn{4-oZ&^}agC^BWj@Lv>yhUidm z53MgMh*Jcg1|s<2Lmg!k5kV0)5LB>jHr+sm8_qv4z22mH6Ox;pFXw#c`%YSRZf{)Q zUPTo@pu(+~`7<-~rvmi1T`VbrK&^2N)4vDHX{Pwp5Qch~_cn#@F)XkkXU@`1v}tsU z&WJX;2@zA6JSPf-1zE7qcSR$`kSh#Z1$tJZsl#9UQsDio^}^(1M3wdPx6lkv3HD>y z1w0WDs>Ylsn3>2}MRk~oEEyYHKKUw(v!%#N>=WnAux@6Dr)|qJaw%Q+TuszMiZky1^Nzk>s5Y=cQuW2rZIC4?`;1quFX_qodO|9$=lXS+!b`P4erlCG@NX8SrHFH7lXC*DV4s%#zcD3p9{^H6t* z@3jb5SwS_`6ZB?qlx|(fFfxm@krE;4l{mhJ#KT(9A?*4bSKm4=wlXj7P#Q1uXFyUb zaTQ#4K)URfA`#uFHF(5=0qXB3(S+No>h70|ze~@N!j_ngR>_MB(Wc-XKa%N$XShOP z4$bYSDnXl1G&B6ISnr88KhFnVdRkf9i^TJkys|HQh#u1#CW)yrB-YR71g=lCRf`sB z5cv8WrSBM1lXbzUs<9nG6Tb1C-Q%NQUyGp@6{z`Dp;XjZt?=rPsG>5`PAIZ?WzyN= zMiwkepR21G=w@mC=~S}$*)=F4+l0XMp1x)4afS?O=$ESZDJosYBpDbm7lcj3EXfRQMKQh# zS*vpjv=<3T@?c#^_XQncOT*HEp0&DE_<{PzndIp0n5s0XceBP|tmVsS*bI$Nevdl2iVI8&C6SO`iUw*{!X#E*4I zTT4Nd=p?;4vYNLvDuBwPER;ejdKFoZLt+8pPYCr|?t56({7`OINlRgF&XnAclv)*9e>S%yT*H<+=lIfL z!U>Wd(A?N}XOky^*60I#Bz2k!De_Ugzr*5vC&8#KK_B-ur!zFA3Hj zyf#%Fxw@=+XV2H1Q-8C1W7F%P={&hrv;Ewi;JekkyH*~!vg_W16EAPCIWqDzI(q6= Wcl_v$!Rrr8&+>_`kzLUcTmJ&B4*RzN literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/stick.gif b/skins/subPurple/images/stick.gif new file mode 100644 index 0000000000000000000000000000000000000000..0b1f0d1f79db8363d5fee0cf2550027e4bf9adcf GIT binary patch literal 910 zcmYL|Ur1AN6vw|;@5S{`^w+&(l=z40A)96~Y@)27bZUW%peF1g3u0)iJ(v<)YTQEh zB%2`25`>=WK^T$vB4b3s2(&^WA*=myIU!{DFbl+Azu#|`KkhyE{O-Bu+|T*mbDdos z_Le>sDz*UGkhgcXw|8U!Um(@6il74xUkYcKMo`T z0v|B=5V8p{0G&nMaYRzm5Ml21{50q!XaH1C;LQ)D3CjSS%fKp2=DE43KRK%qEzGhl zQEa3TBD{|Ol}`yO;l;2%tW$T8MkeS`fI|1>p-_aWPp5<0YwQogScEM_qI6lw`ltB|BR{O||GKFvey8b(qOUf(6%mb(0D9^$WJ$?<9DKZQ*PmS9! z)Bu;L<2?>f{*y%b^Zk1`uvH^DQ$&WX0!VZIIMDP2g?bS20W7d=U@C-w&MEisDH!<_ zh0qYqinNQ|z1GZf0|vtcYyqU#wPIgyDe5TZ8Ij^VuHp20!yN;zQVzPNuI)xgX^6PKxx8{87sH@A-I1%JDf z?dtx>Y;Gl3d4&HHPSXHNO;z^%{87VH8I$6!07g(=|FrXSU3-umZhRLBB|C!VlXreu zZe}{iO3sb6wN$QN9BnuiQztfG%s;mt_<5;!EVVFNb8OSPoX>uI*4|e#-gPbWKGYrl VJ{LLj^77<~L;c@Aj1OEu>t96;{l5SJ literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/td_beam.jpg b/skins/subPurple/images/td_beam.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7dac0e4bf0880d80b92bd0c44e19990dd22e8fa7 GIT binary patch literal 333 zcmb79F-`+P3>>q!cZ=?ni*Gk~Axid?Qz|||kq{tK3Z8(FA|X*y@B=aY6XP7+OV9q_hOB zb(~}-5#(uloN-1dFn5RD-e6GIwXK>_<41j8`}GnMY7!?cV_M#^^9Lim zfekE3QG+8U#T4FAZX|4f{g2v6{iID$B5nudu8W&BMMUp4Aljr}u~2sAB_->^Co)BH YP%+N1EN>_2%hTfd{^I8$e*Fy}e+p(VTmS$7 literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/td_beam_left.gif b/skins/subPurple/images/td_beam_left.gif new file mode 100644 index 0000000000000000000000000000000000000000..0616e040175735a16f286df403ad45be5176bf2a GIT binary patch literal 648 zcmc(c%TE(g9EER(M_Yn;J`L#<2xST&2#^**5GkJlQG`^6@>#-XX(~&E90+-m-5{9_$Vnt8Y3mZ? zWo>=Ax+8tkEo5w{ADC!yGVi}XuWNc?_8F!>#w`T3!$Jd(J$-jgA=eq_*p{VQD=)Z902_k9c*A0cG<2VoXTIsgCw literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/td_beam_right.gif b/skins/subPurple/images/td_beam_right.gif new file mode 100644 index 0000000000000000000000000000000000000000..204308e3693c64e6ca642c064b164b4930972747 GIT binary patch literal 648 zcmchUy>Aj>9DuJ>O9`>95ErL1sL}Y*n$+0T*3wUkwPNcBehp0=9i3cSK%+F)K?gC$ z5EwKr)oPrqF*=yay>~={P>OBg5V(_4;JAZ3xO;!vf5K;awr6-o$3{+ePa6p%@$EW6 zQDuZMqGUu1BwZyb711J1i6~g4>0*GcBdShPn51PC8d}AnRS3u6M;u4u5MEQlYdD%vqX~#@KrErg7>K2CoWZ{s*hs;88rCx^ zlZ7M;42zSTlH@SMDcKBUS;%m}vXJF)_MdQ=H*QGGwQ>aMQj?SY;TJ`p~_QipAvumez!Dc4D zy6+zt_w+k7{$b<6y^q>D{i$Zdz7uo5rN!yyHq+$Gq3`_7KE$$-M1gS mHVp>7eJ&iHHJcrJ%acPl?tF1-n)djuFRULl_g*;&qUSI3{a_IQ literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/td_beam_top.gif b/skins/subPurple/images/td_beam_top.gif new file mode 100644 index 0000000000000000000000000000000000000000..89a14e67eba1b00dfd3d87566f216e27d4b69afb GIT binary patch literal 139 zcmZ?wbh9u|WMmL#Xc1yKbLQWPD}PR1`*-^K|4X<3T)F%2`h&kWAN{}g?DxZ$|DL`1 z^WxpVw;%t!|NQUM*FRr>{Qvpu->={Qi3d6iKmf9ffmJ|(!R5kZlQWA{P9%yPQD9MI Gum%7oxn!gO literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/td_category.jpg b/skins/subPurple/images/td_category.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6a89ee13d6a83e09b1b1d1caef0bda84018c2e74 GIT binary patch literal 697 zcmex=P7?~NB7?=bZ znFSgDA7PMZU|?j0n9TqMj7-cdtZeKYoLt;M1zQCem>8LvnOK-vSy@`H|qMvW5}awt1(JSZA;@q>zSQc)8pmzcPOq?D?fx`w8fiK&^ng{76V zi>sTvho@I?NN8AiL}XNQN@`kqMrKxVNoiSmMP*fUOKV$uM`zch$y26In?7UatVN5L zEM2yI#mZHiHgDOwZTpU$yAB;ba`f2o6DLnyx_ss8wd*%--g@}x@sp>|p1*kc>f@)+ zU%r0({^RE_kiQrinBhSN@fe!F1cClyVqsxsVF&q(k*OSrnFU!`6%E;h90S=C3x$=8 z8aYIqCNA7~kW<+>=!0ld(M2vX6_bamA3wkt* g{D=PT%lyyatW*9^^!k5>r|s)6x{7{Sp7{SJ0M#Yps{jB1 literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/td_category_left.gif b/skins/subPurple/images/td_category_left.gif new file mode 100644 index 0000000000000000000000000000000000000000..a26799044cbd9f5ae993615f48643f79d9d4e38c GIT binary patch literal 985 zcmX|=ZD>(XouF}{Z)tjJcgiuGEg)JCh+w2cr;sKUzVa_?3hp_D8r*)A-~h4?(t_I$V;{^xhk z`JZ#SwV&5mK562?FxA=P({idu9=lg3ov zpc+qTfnhZ;rb^>l|1gD<(v%jS)%*kT0PQfG9Gy`818Q1eDOF&W!_z@gY;}*OYGwHq2?l|-Qd)f%OPytM41_Sg zs`=@eNV#oc8bR^Pws&==!=WjXjogi(OPmuV88QK3x@WaMT?B6!qIg3SGT$MyfzMFA z(9EjY*ejtU23r=N^R&E3R}k+3h&aLJEh9j=OBn(2a#Wv_UdXWqLLLBJp?|c*OIxu! zLi=9?CV*a^A}hhXU4o82X92p_@uyl}xh*su=@LbO(*p{!KAoQQzsvV|Qxq+gkLy2?-p91R6G#Cv&r{vHGJ!Ivy9s*%jGe&gj0b!gVK3!NA9{Wdr#Uan%_{fn zEhr11w-r9zxH4D3e&7*x4eC0sM@*rIroDBj!$~_H8qo#kbB-?tCh5AgQie|ZKnv+>s*cvtYCB5KT)e6L$!XR#Z_HhxUE7MZFGjaa}C?}`z%di z{hGp$zE-Xt?9qQ;vUA70%a&r4bWyekf>5L{DJf-rOy&ypGED z7MI(QYje!B-#o+_)_-gfOfL7(vD>HiR5}{Fdy1yKYwDkE#j5SUx$b;r+Q+S4``665 z`l>+hx_tNIpJ#VZezC4tSGf7JdEv)C-P+(`pT#wq$4fQmPaYXL(zB_=Fdx1D-{LBc H!>4ZntI1k{ literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/td_category_right.gif b/skins/subPurple/images/td_category_right.gif new file mode 100644 index 0000000000000000000000000000000000000000..e3228298711801c0f2067898e27b925225c4e4ee GIT binary patch literal 664 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 literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/wyzz/bold.gif b/skins/subPurple/images/wyzz/bold.gif new file mode 100644 index 0000000000000000000000000000000000000000..4ec8e727eca2a73c1389bf8a1e9db75c860952c8 GIT binary patch literal 76 zcmZ?wbhEHb6k!lyXkcLQ^Yi=v|G(l-7FH1kMg|=QAOOiQFe&%+uRQ&he=*CJOA)?x d)w}Bo!!($rZZ@P){yvpMuH5)Z{*G96sSy|q)k&Uy`G!{;w zCaV(`qbv?t+#wtxl*cJ4HaaV@x{hDJzP{!6jg5~+W3xW+!5x4j`Ei6)NF`tVLohDb zgOt+;=lbR`fBR0Epp2hgT%BJq!W?Szqx=)K8L`FD={>d`LIt6mP=;m6F`N@P$5Boo z;$Xrsp@;~JaGa$m%dM!gqLQ+THfZV4!eKSO(R+B* z#4bjkjT&+5C(T}y)wFTp($%~69uCM~-Pk$v%&Ehr4HM1MHZVr+-MnQhquc693wAA8 zwROR&y`2;1X#_5+?wNAs!ini~mq%4^)kxj4a?N_iz-_G)7ANF3Z`gjA(QAEnaZg?6 z90m%2;!hS<5e7yE9grCyKQXY?9cU=<(2?ptv83pv%_I+3o|I0-fDZLDlZ;;QSTBFQ z>9GTgK&Pj0P(ZlZzS@pDQvGHqAaV6JDB;%DP#W0&$_R~6@x(G*u@_Y#!k z7ZPV=U>DL9^ps&xU{_|8;}>L*@nn_cW#DJzXW->w^;{-4&53=lLd)TLM+R#EJ%nyN literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/wyzz/downsize.gif b/skins/subPurple/images/wyzz/downsize.gif new file mode 100644 index 0000000000000000000000000000000000000000..a17e48647c3d3d16688b17de445ba2d50da10c32 GIT binary patch literal 88 zcmZ?wbhEHb6k!lyXkcLQ^Yi=v|G(l-7DfgJMg|=QAOOiQFzNU7uRQ&hU$P_9FH48% q&dbBG-4&&GInt)>2yHys^w8&ce(AoAYfrB`beN<4$fFGm4Aua@93g=K literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/wyzz/font.gif b/skins/subPurple/images/wyzz/font.gif new file mode 100644 index 0000000000000000000000000000000000000000..c48befb47ac671c38859d2547959e233d3385a44 GIT binary patch literal 908 zcmYjQUr1A76hBw*-R2y!PM4T$#Ec$H45U9~)We9Sv!W7w^ua%9OEe4=Bzh1v6C$`b zERu)>Ln>b+=_P!)ZWMdC#U3X3;Eidq$#%azgrp&{&UdfMK0Yqz`<>tUo%5aZ-R732 z#*3XY$gl%^_4fAaaJC3AGc%)Uny%|bU6%n==NSNp?0iSIKe~pwX(FRZ#;*gfC_5wE z+oNEf^z4ulFt?^U^2h>8!KXSKi^U>os*VK<>__&}$`8mCuAKK7L&I1YB(kzMLS$v{ zzA;?GIb{L*7{m2cH01*D5n@G!xR+wt+M$|_lzc-R%NhY*L-3Fpld$GSqDqt zMl~{#QX|{t@8Li&7W+YbTCv#A!`h7K2V!z^K}43~lPV0x+oxB8ybNN7pRba)+doVD zs`$wRz+*i@O9^t5sly$Me~-npAZS?VAOh`7dX8>qPp#&!NVQ2&&ja~C0j|4H=?X*^ zXII8uN9)?7w@2fGr{cJ`HnA8CEjb&%6!%lALjMwOW?!GYV=(Z$_GbX*ghZpiY+TSs{>v)0tkDf(i z!nT+wHd)35Ee!##<7X1MBw{!t&p24-afL9qR3&7z>ob`;T`=1-|LI1#WAA@!3Nly& E0QPe`fB*mh literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/wyzz/headers.gif b/skins/subPurple/images/wyzz/headers.gif new file mode 100644 index 0000000000000000000000000000000000000000..4a35d384624522a2a32da44009426d210a2445db GIT binary patch literal 930 zcmYjQO=uHA6n;r3*`zHs8P^z_3LCtb(nIhRQFMh^w|Y_Pp@%B5UQ%cwN((s%##Ty> zyQNB~mlaFt4@wY}AU&k%C7_;6p-5L+3#m4l;Gtlp*7#=E)(*q)=6m1w-kbM!uXJ@r z&fXD0grC5d*X#BB{gNbwLZNUt9En6^SymJ!7K`=w_a~FdR4SEDr!`H>WHP$0&(6+f zv)NoOm(S-#K@kC3r&6?n@jw&K0FeLS){5q=P}Zi_{F)G{*Xu~oobx6)Kv~Aj50t5B z(2Cy}8m6@blGWWLlGWXN#&D2xYzaJ!;SMYsa{>4fF;z0+xF}mWh-M*&PMNaRCP&#s z>=^5x)|S8&w6bOdo&k)YcXLRgl~v28RoMtQEE_HW%<|qcbGn9EW#|=@K(Hw)6#Sy2~0n6Jum82|UdKFqt9|CV$peeyF z5p~61KoNl?c4i-CSD0PpKcY^U5qRt#3xeSMgwbT{Q+?)?kwHNq0Yihw? z1ZxwagA4gT0j`G-a1QrWFuZ@3+NNy7lm*z3Nd-DH0M5bz6az- c@~hj&E<|GY3oEaWe44xU{_V@pDS&f-0d3_g<^TWy literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/wyzz/help.gif b/skins/subPurple/images/wyzz/help.gif new file mode 100644 index 0000000000000000000000000000000000000000..777f28a42b846b68a4c900d8fbab9644a60b8f9f GIT binary patch literal 930 zcmZ?wbhEHb6k!ly_|5wC7i|X zWGqNwoWy9iN<|_tiGk6Kd5Or$jSUU6ja>aqJ_tWOH&r(G(HoASj7!UXCl={gnrQj< k%UVV)eYxS;p_y!~9kSdD4qR)Axu_L#dRy+H1_lOe0E*Tqq5uE@ literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/wyzz/htmlmode.gif b/skins/subPurple/images/wyzz/htmlmode.gif new file mode 100644 index 0000000000000000000000000000000000000000..4b4ec2d01cb5d5d05a0c5465d09584bd4522d57f GIT binary patch literal 79 zcmZ?wbhEHb6k!lyXkY+=|Ns9h{$ycfU|?j>0r5dH3`}Z0{VPwu6O~_TX(JqoSXcYzXYh-8UQGGA$b4* literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/wyzz/index.html b/skins/subPurple/images/wyzz/index.html new file mode 100644 index 0000000..ff17433 --- /dev/null +++ b/skins/subPurple/images/wyzz/index.html @@ -0,0 +1,15 @@ + + + + + Untitled + + + + +

      + + +

      + + diff --git a/skins/subPurple/images/wyzz/inserthorizontalrule.gif b/skins/subPurple/images/wyzz/inserthorizontalrule.gif new file mode 100644 index 0000000000000000000000000000000000000000..7d43566e8a42e8872470dea997e22d8071c6612d GIT binary patch literal 852 zcmZ?wbhEHb6k!ly_|5ac1$`;~uY%dAvI6G4<5HB`2;fId)^$(Z$_I|IIpdqx0~;jeC}@*}7=; zmWAs!ty;5T<o3&{2+<9|m&R#TicK`I5(gb-(-rLjP+1J|I-rdwz-`3pQ($d!4($dgU*VNSB*wk3xR8wEm zQdwJ3SyNqJT~=0ET3l9KP+X8-Sd>?gpI4BVlb@59SCEmJk(!p4lA0PHpAZ`x9~~7N z78V&293B)H9^fDB?-%Un6XNR==<5^Y;}xLq)$if%8KxFoeCT+oG z%a`*r@Gn~&rOmx@(C;ZG$ z7_%@l@6=^tI>F@TdV*D%k#XmPHxGhXS*7*mxpwO4yk*kyw~$e=vMNfv(BLoME$_DE zipD}G*L6H{9(PVZZ04Ax8nons!^G9i9U=xfUnGiLJcTtQHn^M=ebmA&Y26^r6Zwj!~U+mhI4tys3}Tdy%IgEasM9viFx literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/wyzz/italic.gif b/skins/subPurple/images/wyzz/italic.gif new file mode 100644 index 0000000000000000000000000000000000000000..8fd547ef8e8f24e03e32becb1bf4e0677ed33c13 GIT binary patch literal 79 zcmZ?wbhEHb6k!lyn8?7ebm>w*KfnL~|1&T!DE?$&6=7gv&;hc6vLXx&ObS!_SDt>$ izu0BrHBGGp50cJS3R{#iPGg;&68VDr_$MAw25SJ9t{E=? literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/wyzz/justifycenter.gif b/skins/subPurple/images/wyzz/justifycenter.gif new file mode 100644 index 0000000000000000000000000000000000000000..6f1c340b6e85f9aecb00dd1ea9f586c93db4172d GIT binary patch literal 79 zcmZ?wbhEHb6k!lyn8?78mX>C0Z2bTKe+C8y#h)y!A`DCnIzTp1R)m3pNnuL=%F}Q8 ig*i4~vR*83KI literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/wyzz/justifyfull.gif b/skins/subPurple/images/wyzz/justifyfull.gif new file mode 100644 index 0000000000000000000000000000000000000000..f881b546b33a435ab05260c558eb4a92d16e1476 GIT binary patch literal 120 zcmZ?wbhEHb6k!ly*v!C?mX>C0Z2bTKe+J@!;!hSv1_mYu9guR684N6{0Vh0H@3nY+ mR+}T9qc8q?r-tN=m{;r8d|S40&Aw8z)s^r6AMj*hum%9@_#D3g literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/wyzz/justifyleft.gif b/skins/subPurple/images/wyzz/justifyleft.gif new file mode 100644 index 0000000000000000000000000000000000000000..f2e6142c4e0009ed808c30389cc5b43eac78300e GIT binary patch literal 80 zcmZ?wbhEHb6k!lyn8?78mX>C0Z2bTKe+C8y#h)y!A`DCnIzTp1R)m3pNpVX5%F}Q8 jg*i4~vQFM&^FqI55xZG(n3KBOvQw{)ee#iJWv~VSShg4@ literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/wyzz/justifyright.gif b/skins/subPurple/images/wyzz/justifyright.gif new file mode 100644 index 0000000000000000000000000000000000000000..5df6220a3a4974701c628c68f473acf56aa3bf4b GIT binary patch literal 79 zcmZ?wbhEHb6k!lyn8?78mX>C0Z2bTKe+C8y#h)y!A`DCnIzTp1R)m3pNnuL=%F}Q8 ig*i4~vR-Vrt^IGsBX+msFe7!hW#?WU`=lezU=09LJ{a`? literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/wyzz/link.gif b/skins/subPurple/images/wyzz/link.gif new file mode 100644 index 0000000000000000000000000000000000000000..d492406060e2b3fd870293e630442a64554edd0d GIT binary patch literal 342 zcmV-c0jd5+Nk%w1VG;lm0M!5h5GX*v*zlgLx_y$SQ(=6ryVT(D|2a%-#K+KRc8&1( z|B|1puDQ-DKw_}K;EbTP(Ae-tRB)iM(9qc6kf6Ze=m8j6*|59Ufo};YH%*+rdP`JRyTWW-)wZ?6Ej)0i3pt#VLq{5A&wyC$%Mq6)j zdyhm>YNoEX$7@0?HM7*tJ z7lm!m`-aDwA*1p*5Hcu(+Hsq9G}p7azq|Ae2zDexw8D2hk*c zpdr8}pgIsb;NVm69p!7)(a^D>lLD3U6_?6~Hj-`Mw2^8HC54elNv>r|N+G1uUP^mN zcuIO)c|>|l3nT@Xf^wmR%egCs%Y;h>XM$77?dHoTj7$1FT2Ri2U^ZofH3(~9(%_sr zj1m%=I$?E8>WtPgB^VP*s~A@a!48fnIoPqIub}@z_OCUNL7S-9zt-;r#Xj@RS6i>Q zn=NRN53e7`kg4GxVtU(c8IgVx2wq4eSWx!L(EHRjoUQQj) z=BDRSp>TSbjBji&jQy^4AdP=+CGUQu-zs6OIg;Pdg$eT^adhHQU@C>dcth__mb|Nb iZhAZ!e^JXNkK~3geEAW~tdCBYp6x%~`}EjGbN>KY7U}2! literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/wyzz/redo.gif b/skins/subPurple/images/wyzz/redo.gif new file mode 100644 index 0000000000000000000000000000000000000000..a713be153519575117abd82a0fd55e3119443b0b GIT binary patch literal 339 zcmZ?wbhEHb6k!lyxXQqAp8O<)G8}@2sb*j8ptc_s(3KTH92YPo0?l#ddg}sggCP( aN-uI&RbpK3q^Y#VNt}DbmaV>y4AuY$5t#G< literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/wyzz/removeformat.gif b/skins/subPurple/images/wyzz/removeformat.gif new file mode 100644 index 0000000000000000000000000000000000000000..a1d9d19a26909ac950e93da324ee21d6ba850247 GIT binary patch literal 160 zcmZ?wbhEHb6k!ly*v!E29|RbH@IM2H17rayAUZzMpyvU0!R!8!7YYH-00|1PULRkO+ literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/wyzz/specialchar.gif b/skins/subPurple/images/wyzz/specialchar.gif new file mode 100644 index 0000000000000000000000000000000000000000..b24452ae34906b4db19917944e4d5736227677c1 GIT binary patch literal 145 zcmZ?wbhEHb6k!lySj5iIz|e5uz=4K_hW`ve03!Z_f#OdVMg|6U1|5(vNG$_%SjDb8 z{|rv;Y*`xGQoHo7^9jxg2?Y-q6!!0Ay(T5Wc5=;^-50|yX0RN3bAEZkBi^?1(!cWbTmHp! gG+C0DpPlmhZ=yIufJf${DZ3^;<37GAn1R6>0Baf?1(!cWbTmHoi f4y&?w&&>`NXK~ADO(~nU%&O}q_wi4E#2BmrO2`;- literal 0 HcmV?d00001 diff --git a/skins/subPurple/images/wyzz/underline.gif b/skins/subPurple/images/wyzz/underline.gif new file mode 100644 index 0000000000000000000000000000000000000000..e32b6e8ccbe928ded9674712c0fb7fe6147d0b5e GIT binary patch literal 87 zcmZ?wbhEHb6k!lyn8?7eY}qnjU*G@#|1&T!DE?$&6=7gv&;hc6vLXx&Od3=ASDt>$ qznI6QBTL>^`rGWxhtF$LlG~oHSj4Enusqt+tm*0ZbKlDu8LRkT_I~a059cg+s?0dC%|C_~o-Y?tz zZpp5f6a>tD?T)=_|UcNM!|v)1v4I`PkEm(;X}fN2LT-)0vdqm zL3quDh?+g_HTMInw+2*PaHx3TP;kMa;DABF1BZ+Q4jCIP(>6IIEU=7QY>=?QAYy?* zzyt-43IG59XCNIY{$yblVbEjH0ci#KiGeNKVS0gwj#U4NB}FG=m?U_Z7rgYc(7EBN zC@CnkPU-T=OEctDn-7+zys8NhW7$-+FyaQ2xWdy$1w*M)wMr+|S`TTJ#%AX>eh*z8 oZ7o%$Ua_ + + + + Untitled + + + + +

      + + +

      + + diff --git a/skins/subPurple/index_body.tpl b/skins/subPurple/index_body.tpl new file mode 100644 index 0000000..f180297 --- /dev/null +++ b/skins/subPurple/index_body.tpl @@ -0,0 +1,6 @@ +

    + + + + +
    . :
    diff --git a/skins/subPurple/index_body_end.tpl b/skins/subPurple/index_body_end.tpl new file mode 100644 index 0000000..4473421 --- /dev/null +++ b/skins/subPurple/index_body_end.tpl @@ -0,0 +1,21 @@ +
    + + + + + + +
    + + + +
    + + .
    + .
    +
    +
    +
    + :
    +
    diff --git a/skins/subPurple/index_category_add.tpl b/skins/subPurple/index_category_add.tpl new file mode 100644 index 0000000..e7a05ca --- /dev/null +++ b/skins/subPurple/index_category_add.tpl @@ -0,0 +1,14 @@ + 
    + + + + + + +
     
    + + + + + + diff --git a/skins/subPurple/index_forum_add.tpl b/skins/subPurple/index_forum_add.tpl new file mode 100644 index 0000000..2382164 --- /dev/null +++ b/skins/subPurple/index_forum_add.tpl @@ -0,0 +1,14 @@ + + + + + + diff --git a/skins/subPurple/login_body.tpl b/skins/subPurple/login_body.tpl new file mode 100644 index 0000000..54c09aa --- /dev/null +++ b/skins/subPurple/login_body.tpl @@ -0,0 +1,34 @@ + + +
    + folder +
    + +
    +

    +
    + +
    + + + + + +
    + + + + + + + + + + + + + + + +
    + :   + +
    +
    + :   + + +
    + diff --git a/skins/subPurple/message_body.tpl b/skins/subPurple/message_body.tpl new file mode 100644 index 0000000..afdf81a --- /dev/null +++ b/skins/subPurple/message_body.tpl @@ -0,0 +1,18 @@ + +
    + + + + + + +
    + + + + +
    + + +
    + diff --git a/skins/subPurple/move_topic_body.tpl b/skins/subPurple/move_topic_body.tpl new file mode 100644 index 0000000..829d862 --- /dev/null +++ b/skins/subPurple/move_topic_body.tpl @@ -0,0 +1,24 @@ +
    + + + + + + +
     
    + + + + + + + +
    : + +
    +   + +
    +
    \ No newline at end of file diff --git a/skins/subPurple/msgs_is_body.tpl b/skins/subPurple/msgs_is_body.tpl new file mode 100644 index 0000000..dc49b47 --- /dev/null +++ b/skins/subPurple/msgs_is_body.tpl @@ -0,0 +1,21 @@ +
    +NEW Message +    + SENTBOX +    + INBOX +
    + +
    + + + + + + + +
    + diff --git a/skins/subPurple/msgs_is_end_body.tpl b/skins/subPurple/msgs_is_end_body.tpl new file mode 100644 index 0000000..081c1df --- /dev/null +++ b/skins/subPurple/msgs_is_end_body.tpl @@ -0,0 +1,2 @@ + +
    diff --git a/skins/subPurple/msgs_is_item_body.tpl b/skins/subPurple/msgs_is_item_body.tpl new file mode 100644 index 0000000..fb0df50 --- /dev/null +++ b/skins/subPurple/msgs_is_item_body.tpl @@ -0,0 +1,6 @@ + + + + + + diff --git a/skins/subPurple/msgs_msg_body.tpl b/skins/subPurple/msgs_msg_body.tpl new file mode 100644 index 0000000..1e3b008 --- /dev/null +++ b/skins/subPurple/msgs_msg_body.tpl @@ -0,0 +1,30 @@ + + + + + + + +
    + + + + + + + + + +
    +
    + +
    +

    +
    : : : :
    + + + + +
    + +
    diff --git a/skins/subPurple/msgs_new_body.tpl b/skins/subPurple/msgs_new_body.tpl new file mode 100644 index 0000000..20d29f5 --- /dev/null +++ b/skins/subPurple/msgs_new_body.tpl @@ -0,0 +1,55 @@ + + +
    + + + + + + +
    + + + + + + + + + +
    +

    +

    + +
    +

    +

    + +
    +  + + + + + + + +
    Post
    + + + + + + + +

    +

    :
    +
    + +

    +   + +
    +
    diff --git a/skins/subPurple/newpass_body.tpl b/skins/subPurple/newpass_body.tpl new file mode 100644 index 0000000..3f8ff16 --- /dev/null +++ b/skins/subPurple/newpass_body.tpl @@ -0,0 +1,24 @@ +
    + + + + + + +
    + + + + + + + + +
    + :   + +
    +
    + +
    +
    diff --git a/skins/subPurple/ntopic_body.tpl b/skins/subPurple/ntopic_body.tpl new file mode 100644 index 0000000..224c543 --- /dev/null +++ b/skins/subPurple/ntopic_body.tpl @@ -0,0 +1,49 @@ + +
    + +
    + + + + + +
    + + + + +
    +

    +

    + +
    +  + + + + + + + +
    Post
    + + + + + + + +

    +

    :
    +
    + + 0) { ?> + + +

    +   + +
    +
    diff --git a/skins/subPurple/overall_footer.tpl b/skins/subPurple/overall_footer.tpl new file mode 100644 index 0000000..a9e7314 --- /dev/null +++ b/skins/subPurple/overall_footer.tpl @@ -0,0 +1,17 @@ + + + + +
    +  +
    +
    + +

    + +
    +
    + + diff --git a/skins/subPurple/overall_header.tpl b/skins/subPurple/overall_header.tpl new file mode 100644 index 0000000..45bfd7c --- /dev/null +++ b/skins/subPurple/overall_header.tpl @@ -0,0 +1,65 @@ + + + + + + + + +<? echo $skin['forumname']; ?> - <? echo $skin['mainpage']; ?> + + + + +
    +
    +
    +
    + + + + + + + + +
    + DSF logo +


    +

    +    +    +    +   
    +   +    +    +

    +
    + Forum
    diff --git a/skins/subPurple/post_add_body.tpl b/skins/subPurple/post_add_body.tpl new file mode 100644 index 0000000..c3cb01d --- /dev/null +++ b/skins/subPurple/post_add_body.tpl @@ -0,0 +1,61 @@ + + + + + + + + + + +
    Post
    + + + + + + + + +0) { if(RANK>0) {?> + + + + + + + + + + + +
    +
    +


    +
    +

    +
    + Post + #
    + :
    + : online +
    + quote
    + + + pw
    + <?= $skin['ua_system_desc']; ?> <?= $skin['ua_browser_desc']; ?> +
    +
    + + +
    + +
    +
    + +
    : : : :
    + 
    + diff --git a/skins/subPurple/post_error_body.tpl b/skins/subPurple/post_error_body.tpl new file mode 100644 index 0000000..a7d4423 --- /dev/null +++ b/skins/subPurple/post_error_body.tpl @@ -0,0 +1,5 @@ + + + + +
    diff --git a/skins/subPurple/posting_body.tpl b/skins/subPurple/posting_body.tpl new file mode 100644 index 0000000..4d4058a --- /dev/null +++ b/skins/subPurple/posting_body.tpl @@ -0,0 +1,48 @@ + +
    + + + + + + + +
    + + + + +
    +

    +

    + +
    +  + + + + + + + + +
    Post
    + + + + + + + +

    +

    :
    +
    + + +

    +   + +
    +
    diff --git a/skins/subPurple/quick_reply_body.tpl b/skins/subPurple/quick_reply_body.tpl new file mode 100644 index 0000000..3d86caa --- /dev/null +++ b/skins/subPurple/quick_reply_body.tpl @@ -0,0 +1,38 @@ + + 
    +
    + + + + + + +
    + + + + + + + + +
    + :
    +
    + +
    +   + +
    +
    diff --git a/skins/subPurple/register_body.tpl b/skins/subPurple/register_body.tpl new file mode 100644 index 0000000..515930f --- /dev/null +++ b/skins/subPurple/register_body.tpl @@ -0,0 +1,43 @@ + +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    : +
    : +
    : +
    + +
    +   + +
    +
    diff --git a/skins/subPurple/search_body.tpl b/skins/subPurple/search_body.tpl new file mode 100644 index 0000000..67fb489 --- /dev/null +++ b/skins/subPurple/search_body.tpl @@ -0,0 +1,25 @@ +
    + + + + + + +
    + + + + + + + + +
    + :   + +
    +
    + + +
    +
    diff --git a/skins/subPurple/search_end_body.tpl b/skins/subPurple/search_end_body.tpl new file mode 100644 index 0000000..698b68e --- /dev/null +++ b/skins/subPurple/search_end_body.tpl @@ -0,0 +1,9 @@ + +
    + : + + + +
    \ No newline at end of file diff --git a/skins/subPurple/shoutbox_body.tpl b/skins/subPurple/shoutbox_body.tpl new file mode 100644 index 0000000..b08ca9d --- /dev/null +++ b/skins/subPurple/shoutbox_body.tpl @@ -0,0 +1,33 @@ +
    + + + + + + +
    ShoutBox
    + + + + + + + +
    +
    + + +
    +
    +
    + 0) { ?> +
    + : + + + + + +
    +
    +
    diff --git a/skins/subPurple/skin.css b/skins/subPurple/skin.css new file mode 100644 index 0000000..f2e11ab --- /dev/null +++ b/skins/subPurple/skin.css @@ -0,0 +1,228 @@ +/* +//skin defines for DSF v1.0 +*/ + +a:hover +{ + text-decoration: underline; color : navy; +} + +/* beam */ +.beam +{ + color: #800000; + font-family: Verdana; + font-size: 9pt; + font-weight: bold; + background-color: #C6D1FB; + text-align: center; + background-image: url('images/td_beam.jpg'); +} + +/* body class */ +.body +{ + background-color: #E8E8FF; + background-image: url('images/body_bg.gif'); + margin: 4px; +} + +/* style category */ +.category +{ + color: #FFFFFF; + font-family: Verdana; + font-size: 12px; + font-weight: bold; +} + +/* class copyright */ +.copyright +{ + font-family: Verdana; + font-size: 8pt; + color: #FFFFFF; + text-decoration: none; +} + +/* description forum */ +.desc +{ + color: #434354; + font-family: Verdana; + font-size: 8pt; +} +/* configuration footer */ +.footer +{ + background-color: #CCCCFF; +} + +/* heading forum - main title */ +.hforum +{ + color: #008000; + font-family: Verdana; + font-size: 16pt; + font-weight: bold; +} + +/* main */ +.main +{ + color: #7D96F7; + font-family: Verdana; + font-size: 12px; + font-weight: bold; +} + +/* standard error font*/ +.ferror +{ + color: red; + font-family: Verdana; + font-size: 9pt; + font-weight: bold; +} + +/* forum item */ +.fitem +{ + background-color: #E1E7FD; + border-width : 1pt; + border-color: #CCCCFF; + border-collapse: collapse; + border-style: solid; +} + +/* main menu link*/ +.flink +{ + color: #000080; + font-family: Verdana; + font-size: 10pt; + font-weight: bold; + text-decoration: none; +} + +/* small font */ +.fsmall +{ + color: #434354; + font-family: Verdana; + font-size: 8pt; + text-decoration: none; +} + +/* standard font */ +.fstandard +{ + color: #434354; + font-family: Verdana; + font-size: 9pt; + text-decoration: none; +} + +/* very small font */ +.fverysmall +{ + color: #434354; + font-family: Verdana; + font-size: 9px; + text-decoration: none; +} + +/* button class */ +input.fbutton +{ + background-color: #CCCCFF; + font-weight: bold; + cursor: pointer; + color: #800000; +} + + +input:hover +{ + background-color: lightyellow; +} + +/* main table forum(header, footer) */ +.maintable +{ + border-width : 1.5pt; + border-color: #CCCCFF; + border-collapse: collapse; + border-style: solid; +} + +/* mesage forum */ +.message { + z-index: 100; + border-width : 0pt; + border-color: #CCCCFF; + border-collapse: collapse; + border-style: solid; + background-color: #CCCCFF; + font-family: Verdana; + font-size: 9pt; + font-weight: bold; +} + +/* moderate options */ +.moderate +{ + background-color: #D9E0FD; + text-align: center; +} + +.navigator +{ + color: blue; + text-decoration: none; +} + +/* section forum */ +.sect +{ + color: #434354; + font-family: Verdana; + font-size: 10pt; + font-weight: bold; + text-decoration: none; +} + +/* table post error */ +.tableerror +{ + border-width : 1pt; + border-color: #CCCCFF; + border-collapse: collapse; + border-style: solid; + background-color: #CCCCFF; + font-family: Verdana; + font-size: 9pt; + text-align: center; + font-weight: bold; +} +/* quote text */ +.textquote +{ + font-family: Verdana; + font-size: 9pt; + font-style: italic; +} + +/* PANEL ADMINISTRATION SECTION ----------------------------------------------*/ +.pa_h1 +{ + font-family: Verdana; + font-size: 25pt; + font-weight: bold; +} +.pa_sect +{ + font-family: Verdana; + font-size: 15pt; + font-weight: bold; +} \ No newline at end of file diff --git a/skins/subPurple/topic_body.tpl b/skins/subPurple/topic_body.tpl new file mode 100644 index 0000000..9f87e14 --- /dev/null +++ b/skins/subPurple/topic_body.tpl @@ -0,0 +1,5 @@ +
    + +  +
    + diff --git a/skins/subPurple/topic_end_body.tpl b/skins/subPurple/topic_end_body.tpl new file mode 100644 index 0000000..0e98248 --- /dev/null +++ b/skins/subPurple/topic_end_body.tpl @@ -0,0 +1,15 @@ + + + + + +
    +  +
    +: + + + +
    diff --git a/skins/subPurple/topic_mod_body.tpl b/skins/subPurple/topic_mod_body.tpl new file mode 100644 index 0000000..6d2516a --- /dev/null +++ b/skins/subPurple/topic_mod_body.tpl @@ -0,0 +1,11 @@ + + + + + + delete + + + move + + diff --git a/skins/subPurple/topic_post_body.tpl b/skins/subPurple/topic_post_body.tpl new file mode 100644 index 0000000..bd2dd03 --- /dev/null +++ b/skins/subPurple/topic_post_body.tpl @@ -0,0 +1,61 @@ + + + + + + + + + + +
    Post
    + + + + + + + + +0) { if(RANK>0) {?> + + + + + + + + + + + +
    +
    +


    +
    +

    +
    + Post + #
    + :
    + : online +
    + quote
    + + + pw
    + <?= $skin['ua_system_desc']; ?> <?= $skin['ua_browser_desc']; ?> +
    +
    + + +
    + +
    +
    + +
    : : : :
    + 
    + diff --git a/skins/subPurple/user_body.tpl b/skins/subPurple/user_body.tpl new file mode 100644 index 0000000..4a09b12 --- /dev/null +++ b/skins/subPurple/user_body.tpl @@ -0,0 +1,51 @@ + + + + + + + + + + + + + +
    + + + + : online
    + :
    + :
    + : ; %
    + :
    + :
    + + : %
    + + +
    +
    + +
    + pm
    +
    +
    +
    +  + + + + + + +
    + + + + +
    +   +
    diff --git a/skins/subPurple/users_body.tpl b/skins/subPurple/users_body.tpl new file mode 100644 index 0000000..6fc8ddb --- /dev/null +++ b/skins/subPurple/users_body.tpl @@ -0,0 +1,39 @@ +
    + + + + + + +
    + + + + +
    + : + + : + + +
    +  + + + + + + + + + +
    + \ No newline at end of file diff --git a/skins/subPurple/users_end_body.tpl b/skins/subPurple/users_end_body.tpl new file mode 100644 index 0000000..0c248af --- /dev/null +++ b/skins/subPurple/users_end_body.tpl @@ -0,0 +1,10 @@ +
    +
    +: + + + +
    +
    diff --git a/skins/subPurple/users_item_add_body.tpl b/skins/subPurple/users_item_add_body.tpl new file mode 100644 index 0000000..db575bc --- /dev/null +++ b/skins/subPurple/users_item_add_body.tpl @@ -0,0 +1,7 @@ + + + + + + + diff --git a/skins/subPurple/warns_add_body.tpl b/skins/subPurple/warns_add_body.tpl new file mode 100644 index 0000000..bb64f3f --- /dev/null +++ b/skins/subPurple/warns_add_body.tpl @@ -0,0 +1,36 @@ + +
    + + + + + + + +
    + + + + + + + +

    +

    +
    + +
    + :
    + + +

    +
    +   + +
    +
    diff --git a/skins/subPurple/warns_view_body.tpl b/skins/subPurple/warns_view_body.tpl new file mode 100644 index 0000000..4912018 --- /dev/null +++ b/skins/subPurple/warns_view_body.tpl @@ -0,0 +1,13 @@ + + + + + + + +
    +

    +

    +

    +

    + \ No newline at end of file diff --git a/skins/subPurple/warns_view_end_body.tpl b/skins/subPurple/warns_view_end_body.tpl new file mode 100644 index 0000000..217b286 --- /dev/null +++ b/skins/subPurple/warns_view_end_body.tpl @@ -0,0 +1,10 @@ + +
    + + + + + +
    + : +
    diff --git a/skins/subPurple/warns_view_item_body.tpl b/skins/subPurple/warns_view_item_body.tpl new file mode 100644 index 0000000..21977f3 --- /dev/null +++ b/skins/subPurple/warns_view_item_body.tpl @@ -0,0 +1,4 @@ + + 10% + + diff --git a/skins/subPurple/wyzz_editarea.css b/skins/subPurple/wyzz_editarea.css new file mode 100644 index 0000000..25f6d1d --- /dev/null +++ b/skins/subPurple/wyzz_editarea.css @@ -0,0 +1,81 @@ +/**************** body and tag styles ****************/ + body, p { + margin-top: 0px; + margin-bottom: 30px; + background-color: #fefefe; + font-family: Verdana, Arial, Helvetica, sans-serif; + color: #333333; + font-size: 13px; + } + + #container { + width: 750px; + margin: 0 auto; + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 11px; + line-height: 1.6em; + color: #666666; + background-color: #FFFFFF; + } + + #container2 { + width: 746px; + margin: 0 auto; + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 11px; + line-height: 1.6em; + color: #666666; + background-color: #FFFFFF; + border-bottom: 2px solid #2763A5; + } + + pre { + font-family: "courier new", sans-serif; + font-weight: normal; + font-size: 12px; + color: #6DA6E2; + background-color: #FFFFFF; + } + + h1 { + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + font-weight: normal; + font-size: 32px; + color: #6DA6E2; + margin-bottom: 30px; + background-color: #FFFFFF; + } + + h2 { + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + font-weight: normal; + font-size: 28px; + color: #6DA6E2; + margin-bottom: 30px; + background-color: #FFFFFF; + } + + h3 { + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + font-weight: normal; + font-size: 24px; + color: #6DA6E2; + margin-bottom: 30px; + background-color: #FFFFFF; + } + + a { + color: #6DA6E2; + background-color: #FFFFFF; + text-decoration: none; + font-weight: bold; + font-family: Verdana; + } + + a:hover { + background-color: #FFFFFF; + color: inherit; + font-weight: bold; + text-decoration: underline; + font-family: Verdana; + } \ No newline at end of file diff --git a/skins/subPurple/wyzz_style.css b/skins/subPurple/wyzz_style.css new file mode 100644 index 0000000..865a64b --- /dev/null +++ b/skins/subPurple/wyzz_style.css @@ -0,0 +1,24 @@ +/* WYSIWYG EDITOR */ + +/* Toolbar */ +.toolbar { border: 1px solid #999999; height: 24px; background-image: url('images/td_editor.jpg'); background-color:#cccccc; } +.wyzz_alleditor { display: block; border:1px #aaa solid; width:520px; background:#e0e0e0; padding:2px;position:relative;} +.wyzz_alleditor div { display:block;} + +/* Command Buttons */ +.button { width: 20px; height: 20px; border: 1px solid transparent; margin: 0px; padding: 0px; background: transparent; } +.closebutton { float:right; padding: 2px; } +.buttonOver { width: 20px; height: 20px; border: 1px solid #999999; margin: 0px; padding: 0px; } +.separator { width: 2px; border-left: 1px solid #eeeeee; margin: 0px; padding: 0px; } + +/* others */ +.colorpicker, .colorbackpicker, .fontpicker, .headerpicker, .helpbox, .linkdialog { position:absolute; width: 216px; background:#eee; display:block; padding:0px; margin-top:0px; border:1px #555 solid;line-height:1.4} +.specialpicker { position:absolute; width: 216px; background:#eee; display:block; padding-top:20px;padding-left:20px; margin-top:0px; border:1px #555 solid;line-height:1.4} +.help {margin: 10px; font: 12px bold verdana,helvetica,arial,sans-serif black; text-align:center } +.help h4 {font: 18px bold verdana,helvetica,arial,sans-serif black; padding-top:10px} +.colorpicker a, .colorbackpicker a { border:1px #fff solid; height:10px; width:10px; font-size:0.01em; display:block;float:left; margin-right:0px;} +.colorpicker a:hover, .colorbackpicker a:hover { border:1px #f00 solid;} +.fontpicker a, .headerpicker a { color:#333;text-decoration:none;background:#eee;} +.fontpicker a:hover, .headerpicker a:hover, .specialpicker a:hover { color: #666 } +.specialpicker a { color:#333;font-family:arial;text-decoration:none;background:#eee;height:13px; width:12px;font-size:14px} +.charbutton { width:12px;height:14px; } \ No newline at end of file diff --git a/tmp/index.html b/tmp/index.html new file mode 100644 index 0000000..ff17433 --- /dev/null +++ b/tmp/index.html @@ -0,0 +1,15 @@ + + + + + Untitled + + + + +

    + + +

    + + diff --git a/topic.php b/topic.php new file mode 100644 index 0000000..d55abf7 --- /dev/null +++ b/topic.php @@ -0,0 +1,166 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./config.php'); +include('./includes/constants.php'); +include('./includes/class_db.php'); +include('./includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./includes/sessions.php'); +include('./includes/class_user.php'); +include('./common.php'); +include('./includes/class_overall.php'); +include('./includes/class_forum.php'); +include('./includes/class_topic.php'); +include('./includes/class_mod.php'); +include('./includes/classes/secure.php'); + +$default_lang = Over::DefaultLang(); +include('./lngs/'.$default_lang.'/main.php'); + +$tid = intval($_GET['t']); +$start = Over::TimeGeneration(); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +$default_skin = Over::ViewSkinName(); +include('./includes/cache/cache_topic.php'); + +$forum_locked = $forum['lock']; +//add skin variables +$skin = array( +'lreply'=>(($topic['lock']==1) or ($forum_locked==1)) ? + 'reply' + : + ' + reply' +); + +$skin = array_push_associative($skin, Over::generate_header($lng['showtopic'].': '.$topic['name'], '> '.$forum['name'].' > '.$topic['name'])); + +//do it! +include('./skins/'.$default_skin.'/overall_header.tpl'); +include('./skins/'.$default_skin.'/topic_body.tpl'); + +$sql = "SELECT ".POSTS_TABLE.".*, ".USERS_TABLE.".*, ".USERS_TABLE.".u_id AS user_id,".SESSIONS_TABLE.".* FROM `".POSTS_TABLE."` LEFT JOIN ".USERS_TABLE." ON ".USERS_TABLE.".u_id = ".POSTS_TABLE.".u_id LEFT JOIN ".SESSIONS_TABLE." ON ".SESSIONS_TABLE.".u_id = ".POSTS_TABLE.".u_id WHERE t_id='$tid' ORDER BY tp_id $limit;"; +$query = DataBase::sql_query($sql,'CRITICAL','Could not obtain post information.'); +while($item=mysql_fetch_array($query)) +{ + $ua = Over::user_agent($item['user_agent']); + $warn_pool = ($forum_config['allow_warns'] && $forum_config['warns_in_topic'] ) ? (isset($user_warnlevel[$item['u_id']])) ? + ''.$lng['warns'].': + '.($user_warnlevel[$item['u_id']]*10).'%' : ''.$lng['warns'].': + 0%' : ' '; + $skin = array( + 'tp_id' => $item['tp_id'], + 'p_id' => $item['p_id'], + 'u_id' => $item['user_id'], + 'username' => Topic::UserName($item['nick'], $item['rank']), + 'pdate' => Over::GenerateTime($item['ptime']), + 'user_gg' => (($item['allow_gg'])&& ($item['gg']!='0')) ? + 'gg
    ' : '', + 'edit' => ($_SESSION['uid']>0) ? (($item['u_id']==$_SESSION['uid']) ||(RANK>0)) ? + ' + edit
    ' : '' : '', + 'userrank' => User::UserRank($item['rank']), + 'avatar' => ($item['avatar']!='') ? 'av' : '



    ', + 'posttext' => Topic::PostText($item['text'], $item['moderated'], $item['p_id']), + 'sig'=>($item['sig']!='') ? '

    ----------------
    '.$item['sig'] : '', + 'posts'=>$item['posts'], + 'regdate' => date('d-m-Y',$item['regdate']), + 'lastvisit' => date('d-m-Y',$item['lastvisit']), + 'warns_pool' => $warn_pool, + 'lstat'=>$lng['stat'], + 'rowspan'=> ($_SESSION['uid']>0) ? ((RANK>0) ? '3' : '2') : '2', + 'L.IP' => ($_SESSION['uid']>0) ? ((($forum_config['ip_post_for_mod'] && (RANK>0)) || (RANK==2) ) ? 'IP: '.$item['post_ip'].'
    ' : '') : '', + 'IP'=>$item['post_ip'], + 'admin'=>$lng['admin_mod_administration'], + 'mode_p_del' => ($item['tp_id']!='1') ? + ' + pdelete
    ' : '', + 'ban'=> $lng['ban'], + 'edit_profile'=>$lng['edit_profile'], + 'add_warn'=>$lng['add_warn'], + 'online'=>($item['time']!=NULL) ? (($item['time']+1250)>time()) ? 'online.gif' : 'offline.gif' : 'offline.gif', + //labels + 'lwarns'=>$lng['warns'], + 'lang'=>$default_lang, + 'ldate'=>$lng['date'], + 'lrank'=>$lng['lurank2'], + 'llastvisit'=>$lng['lulastvisit'], + 'lregdate'=>$lng['regdate2'], + 'lposts'=>$lng['posts'], + 'ua_system'=>$ua[0], + 'ua_system_desc'=>$lng['system'].' '.$ua[2], + 'ua_browser'=>$ua[1], + 'ua_browser_desc'=>$lng['browser'].' '.$ua[3], + 'lno'=>$lng['no.'], + 'lpinfo'=>$lng['postinfo'], + 'C.delete_post'=>$lng['c_delete_post'] + ); + //do it! + include('./skins/'.$default_skin.'/topic_post_body.tpl'); +} + +//generate end template variables +$skin = array( +'functions_moderate'=> ($_SESSION['uid']>0) ? (RANK>0) ? './skins/'.$default_skin.'/topic_mod_body.tpl' : './skins/'.$default_skin.'/blank.tpl' : './skins/'.$default_skin.'/blank.tpl', +'lock' => ($topic['lock']==1) ? 'unlock' : 'lock', +'stick' => ($topic['sticky']==1) ? ' +unstick' +: 'stick', +'lmod' => $lng['lmod'], +'c_delete_topic'=>$lng['c_delete_topic'], +'option_pages'=>Over::AddPages(), +'lwith'=>$lng['with'], +'lpage'=>$lng['page'], +'lpages'=>$count +); +$skin['lreply']=(($topic['lock']==1) or ($forum_locked==1)) + ? 'reply' : ' + reply0) and ($topic['lock']==0) and ($forum_locked==0) and ($userdata['allow_qr']=='1')) +{ + include './quick_reply.php'; +} +if($_SESSION['uid']>0) +{ + if(RANK==2) + { + $skin['pa_link']=''.$lng['pa_link'].''; + } + else + { + $skin['pa_link']=''; + } +} +else +{ + $skin['pa_link']=''; +} +$stop = Over::TimeGeneration(); +$skin['queries'] = Over::ShowQueries($start, $stop); +include('./skins/'.$default_skin.'/overall_footer.tpl'); +?> diff --git a/user.php b/user.php new file mode 100644 index 0000000..3fc6e06 --- /dev/null +++ b/user.php @@ -0,0 +1,122 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./config.php'); +include('./includes/constants.php'); +include('./includes/class_db.php'); +include('./includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./includes/sessions.php'); +include('./includes/class_user.php'); +include('./common.php'); +include('./includes/class_overall.php'); +include('./includes/class_forum.php'); +include('./includes/classes/secure.php'); +$default_lang = Over::DefaultLang(); +include('./lngs/'.$default_lang.'/main.php'); +$start = Over::TimeGeneration(); +$default_skin = Over::ViewSkinName(); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +$uid = intval($_GET['id']); +//check online for user +$sql = "SELECT `s_id`, `u_id`, `time` FROM ".SESSIONS_TABLE." WHERE `u_id`='$uid' AND time+1250>".time()." LIMIT 1"; +$query = DataBase::sql_query($sql, 'GENERAL', 'Could not read user active.'); +$result = @mysql_fetch_array($query); +if ($result['u_id']==$uid) +{ + $active = 1; +} +else +{ + $active = 0; +} +unset($sql, $query, $result); +$userwarn = 0; +$sql = "SELECT `u_id`,`value` FROM `".WARNINGS_TABLE."` WHERE `u_id`='$uid'"; +$query = DataBase::sql_query($sql,'GENERAL','Could not obtain user warns information'); +$result = mysql_num_rows($query); +while ($result = @mysql_fetch_array($query)) +{ + if ($result['value']=='-') + { + $userwarn -=1; + } + else + { + $userwarn +=1; + } +} +$userwarn = ($userwarn>0) ? $userwarn*10 : $userwarn; +//add skin variables +$sql = "SELECT * FROM `".USERS_TABLE."` WHERE u_id='$uid'"; +$query = DataBase::sql_query($sql,'CRITICAL','Could not obtain user information'); +$user_info = @mysql_fetch_array($query); +if ($user_info['u_id']=='') +{ + message_forum($lng['no_user'],'index.php'); +} +$skin = array( +'u_id'=>$_GET['id'], +'lang'=>$default_lang, +'sig'=>$user_info['sig'], +'lsig'=>$lng['sig'], +'posts'=>$user_info['posts'], +'luposts'=>$lng['posts'], +'lstat'=>$lng['stat'], +'stat'=>($active==1) ? 'online.gif' : 'offline.gif', +'prposts'=>User::PostWithForum($user_info['posts']), +'lastvisit'=>($user_info['lastvisit']!='0') ? date('d-m-Y, G:i',$user_info['lastvisit']) : $lng['never'], +'llastvisit'=>$lng['lulastvisit'], +'avatar'=>($user_info['avatar']!='') ? 'av' : '



    ', +'lavatar'=>$lng['avatar'], +'regdate'=>date('d-m-Y, G:i',$user_info['regdate']), +'lpalf'=>$lng['witch_all_post_forum'], +'lregdate'=>$lng['luregister'], +'interests'=>$user_info['interests'], +'linterests'=>$lng['luinterests'], +'userrank'=>User::UserRank($user_info['rank']), +'luserrank'=>$lng['lurank'], +'lwarns'=> $lng['warns'], +'show_topics'=> $lng['view_user_topics'], +'warnlevel' => $userwarn, +'warncolor'=>($userwarn>0) ? 'red' : 'green', +'lcontact'=>$lng['contact'], +'user_gg'=>(($user_info['allow_gg'])&& ($user_info['gg']!='0')) ? 'gg' : '', +'user_email'=>($user_info['allow_email']=='1') ? 'email' : '', +); +$skin = array_push_associative($skin,Over::generate_header($lng['showprofile'].': '.$user_info['nick'], '> '.$lng['showprofile'].': '.$user_info['nick'])); +//do it! +include('./skins/'.$default_skin.'/overall_header.tpl'); +include('./skins/'.$default_skin.'/user_body.tpl'); +if($_SESSION['uid']>0) +{ + if(RANK==2) + { + $skin['pa_link']=''.$lng['pa_link'].''; + } + else + { + $skin['pa_link']=''; + } +} +else +{ + $skin['pa_link']=''; +} +$stop = Over::TimeGeneration(); +$skin['queries'] = Over::ShowQueries($start, $stop); +include('./skins/'.$default_skin.'/overall_footer.tpl'); +?> diff --git a/users.php b/users.php new file mode 100644 index 0000000..a72cfc3 --- /dev/null +++ b/users.php @@ -0,0 +1,229 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./config.php'); +include('./includes/constants.php'); +include('./includes/class_db.php'); +include('./includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./includes/sessions.php'); +include('./includes/class_user.php'); +include('./common.php'); +include('./includes/class_topic.php'); +include('./includes/class_overall.php'); +include('./includes/class_forum.php'); +$start = Over::TimeGeneration(); +include('./lngs/'.Over::DefaultLang().'/main.php'); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +$default_skin = Over::ViewSkinName(); +// +//generate output pages +// +if ($_SESSION['uid']>0) +{ + $limiter = User::UserInformation($_SESSION['uid'], 'limit_users'); +} +else +{ + $limiter = $forum_config['limit_users']; +} +if (isset($_GET['page'])&&($_GET['page']!=1)) +{ + if (!is_numeric($_GET['page'])) + { + die('Hacking attempt'); + } + $value = ($_GET['page']-1)*$limiter; + $limit = 'LIMIT '.$value . ', '.$limiter; + $page = $_GET['page']; +} +else +{ + $limit = 'LIMIT 0, '.$limiter; + $page=1; +} +$count = @mysql_fetch_array(DataBase::sql_query("SELECT COUNT(`u_id`) as `u_id` +FROM ".USERS_TABLE,'GENERAL','Could not obtain count amout of users')); +$count = $count['u_id'] -1; +$count = ceil($count / $limiter); +if(isset($_GET['page']) && ($_GET['page']>$count)) +{ + message_forum($lng['invalidpage'],'index.php'); +} +// +//end generating pages +// +if (isset($_COOKIE['users_desc'], $_POST['desc'])) +{ + unset($_COOKIE['users_desc']); +} +if (isset($_POST['sort'],$_COOKIE['users_sort'])) +{ + unset($_COOKIE['users_sort']); +} +if (!isset($_COOKIE['users_desc'])) +{ + if (isset($_POST['desc'])) + { + switch($_POST['desc']) + { + case 'yes': + { + @setcookie('users_desc','desc',time()+3600); + $_COOKIE['users_desc'] = 'desc'; + $desc = 'DESC'; + break; + } + case 'no': + { + @setcookie('users_desc','no',time()+3600); + $_COOKIE['users_desc'] = 'no'; + $desc = ''; + break; + } + } + } + else + { + @setcookie('users_desc','no',time()+3600); + $_COOKIE['users_desc'] = 'no'; + $desc = ''; + } +} +else +{ + $desc = ($_COOKIE['users_desc']=='desc') ? 'DESC' : ''; +} +if (!isset($_COOKIE['users_sort'])) +{ + if (isset($_POST['sort'])) + { + switch($_POST['sort']) + { + case 'regdate': + { + @setcookie('users_sort','regdate',time()+3600); + $_COOKIE['users_sort'] = 'regdate'; + break; + } + case 'lastvisit': + { + @setcookie('users_sort','lastvisit',time()+3600); + $_COOKIE['users_sort'] = 'lastvisit'; + break; + } + case 'uname': + { + @setcookie('users_sort','uname',time()+3600); + $_COOKIE['users_sort'] = 'uname'; + break; + } + case 'posts': + { + @setcookie('users_sort','posts',time()+3600); + $_COOKIE['users_sort'] = 'posts'; + break; + } + } + } + else + { + @setcookie('users_sort','regdate',time()+3600); + $_COOKIE['users_sort'] = 'regdate'; + } +} +//add skin variables +$skin = array( +'ldesc' => $lng['desc'], +'desc_yes_option'=>(($_COOKIE['users_desc']=='desc') || ((isset ($_POST['desc'])) && ($_POST['desc']=='yes'))) ? 'selected="selected"' : '', +'desc_no_option'=>(($_COOKIE['users_desc']=='no') || ((isset ($_POST['desc'])) && ($_POST['desc']=='no'))) ? 'selected="selected"' : '', +'regdate_option'=>(($_COOKIE['users_sort']=='regdate') || ((isset ($_POST['sort'])) && ($_POST['sort']=='posts'))) ? 'selected="selected"' : '', +'lastvisit_option'=>(($_COOKIE['users_sort']=='lastvisit') || ((isset ($_POST['sort'])) && ($_POST['sort']=='lastvisit'))) ? 'selected="selected"' : '', +'posts_option'=>(($_COOKIE['users_sort']=='posts') || ((isset ($_POST['sort'])) && ($_POST['sort']=='posts'))) ? 'selected="selected"' : '', +'uname_option'=>(($_COOKIE['users_sort']=='uname') || ((isset ($_POST['sort'])) && ($_POST['sort']=='uname'))) ? 'selected="selected"' : '', +'lselectusers'=>$lng['sort_u_by'], +'ltitle'=>$lng['lusers'], +'lyes'=>$lng['yes'], +'lno'=>$lng['no'], +'lregdate'=>$lng['luregister'], +'llastvisit'=>$lng['lulastvisit'], +'lposts'=>$lng['posts'], +'luname'=>$lng['user_name'], +'lgo'=>$lng['lgo'] +); +$skin = array_push_associative($skin, Over::generate_header($lng['lusers'],'> '.$lng['lusers'])); +//do it! +include('./skins/'.$default_skin.'/overall_header.tpl'); +include('./skins/'.$default_skin.'/users_body.tpl'); +switch($_COOKIE['users_sort']) +{ + case 'regdate': + { + $sql = "SELECT `u_id`,`nick`, `rank`, `regdate`, `lastvisit`, `posts` FROM `".USERS_TABLE."` WHERE `u_id`>0 ORDER BY `regdate` $desc $limit;"; + break; + } + case 'lastvisit': + { + $sql = "SELECT `u_id`,`nick`, `rank`, `regdate`, `lastvisit`, `posts` FROM `".USERS_TABLE."` WHERE `u_id`>0 ORDER BY `lastvisit` $desc $limit;"; + break; + } + case 'uname': + { + $sql = "SELECT `u_id`,`nick`, `rank`, `regdate`, `lastvisit`, `posts` FROM `".USERS_TABLE."` WHERE `u_id`>0 ORDER BY `nick` $desc $limit;"; + break; + } + case 'posts': + { + $sql = "SELECT `u_id`,`nick`, `rank`, `regdate`, `lastvisit`, `posts` FROM `".USERS_TABLE."` WHERE `u_id`>0 ORDER BY `posts` $desc $limit;"; + break; + } +} +$query = DataBase::sql_query($sql,'CRITICAL','Could not obtain user information.'); +while($result = mysql_fetch_array($query)) +{ + $skin = array( + 'id'=>$result['u_id'], + 'uname'=>Topic::UserName($result['nick'], $result['rank']), + 'regdate'=>date('d-m-Y, G:i',$result['regdate']), + 'lastvisit'=>($result['lastvisit']!='0') ? date('d-m-Y, G:i',$result['lastvisit']) : $lng['never'], + 'posts'=>$result['posts'] + ); + include('./skins/'.$default_skin.'/users_item_add_body.tpl'); +} +$skin = array( +'option_pages'=>Over::AddPages(), +'lwith'=>$lng['with'], +'lpage'=>$lng['page'], +'lpages'=>$count +); +include('./skins/'.$default_skin.'/users_end_body.tpl'); +if($_SESSION['uid']>0) +{ + if(RANK==2) + { + $skin['pa_link']=''.$lng['pa_link'].''; + } + else + { + $skin['pa_link']=''; + } +} +else +{ + $skin['pa_link']=''; +} +$stop = Over::TimeGeneration(); +$skin['queries'] = Over::ShowQueries($start, $stop); +include('./skins/'.$default_skin.'/overall_footer.tpl'); +?> diff --git a/warns.php b/warns.php new file mode 100644 index 0000000..59f08f8 --- /dev/null +++ b/warns.php @@ -0,0 +1,192 @@ + +* @link http://pioder.gim2przemysl.int.pl/dsf.html +* @license GNU GPL v3 +**/ +define('IN_uF', true); +//include files +include('./config.php'); +include('./includes/constants.php'); +include('./includes/class_db.php'); +include('./includes/class_error.php'); +//connect to database +DataBase::db_connect(); +include('./includes/sessions.php'); +include('./includes/class_user.php'); +include('./common.php'); +include('./includes/class_overall.php'); +include('./includes/class_topic.php'); +include('./includes/class_posting.php'); +include('./includes/class_forum.php'); +include('./includes/classes/secure.php'); +include('./lngs/'.Over::DefaultLang().'/main.php'); +$start = Over::TimeGeneration(); +sess_del_invalid($_SESSION['uid']); +sess_register($_SESSION['uid']); +sess_delete_old(); +foreach ($_POST as $name => $value) +{ + if ($forum_config['use_censorlist']) + { + $_POST[$name] = Secure::UseCensorlist($value); + } +} +if (!$forum_config['allow_warns']) +{ + message_forum($lng['warns_disabled'],'index.php'); +} + +$default_skin = Over::ViewSkinName(); + +switch(trim($_GET['mode'])) +{ + case 'add': + { + $uid = intval($_GET['id']); + if (User::RankAdminMod($_SESSION['uid'])=='0') + { + message_forum($lng['is_no_mod'],'warns.php?mode=view&id='.$uid); + } + $msg ='./skins/'.$default_skin.'/blank.tpl'; + if ((isset($_POST['textedit'])) and (isset($_POST['value']))) + { + if (($_POST['textedit'] !="" ) and (strlen($_POST['textedit'])>10)) + { + if ((strpos($_POST['value'],'+')!==false) or (strpos($_POST['value'],'-')!==false)) + { + $_POST['textedit'] = Secure::TagsReplace($_POST['textedit']); + User::UserAddWarn($_GET['id'],$_POST['value'] ,addslashes(strip_tags($_POST['textedit']))); + $stop = Over::TimeGeneration(); + message_forum($lng['warn_is_added'],'warns.php?mode=view&id='.$_GET['id']); + } + else + { + $message = $lng['werror_1']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } + } + else + { + $message = $lng['perror_1']; + $msg = './skins/'.$default_skin.'/post_error_body.tpl'; + } + } + else + { + $_POST['textedit']=''; + $_POST['value']=''; + } + $nick_name = User::UserInformation($_GET['id'],'nick'); + if($nick_name=='') + { + message_forum($lng['no_user'],'index.php'); + } + //add skin variables + $skin = array( + 'f_id'=>$_GET['id'], + 'smiles'=>Post::SmilesShow(), + 'action'=>'warns.php?mode=add&id='.$_GET['id'], + //labels + 'lsmiles'=>$lng['smiles'], + 'lmsg'=>$lng['motive'], + 'ladd'=>$lng['add'], + 'ldelete'=>$lng['delete'], + 'lsave'=>$lng['save'], + 'lvalue'=>$lng['value'], + 'lreset'=>$lng['reset'], + 'lwarn'=>$lng['warn'], + 'lall_warns'=>$lng['all_warns'], + 'queries'=>Over::ShowQueries($start, Over::TimeGeneration()) + ); + $skin = array_push_associative($skin, Over::generate_header($lng['add_warn'].': '.$nick_name,'> '.$lng['add_warn'].': '.$nick_name)); + if(User::UserInformation($_SESSION['uid'],'rank')=='2') + { + $skin['pa_link']=''.$lng['pa_link'].''; + } + else + { + $skin['pa_link']=''; + } + include('./skins/'.$default_skin.'/overall_header.tpl'); + include('./skins/'.$default_skin.'/warns_add_body.tpl'); + include('./skins/'.$default_skin.'/overall_footer.tpl'); + break; + } + case 'view': + { + $uid = $_GET['id']; + $sql = "SELECT `u_id`, `nick` FROM `".USERS_TABLE."` WHERE `u_id`='$uid'"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain user information'); + $user = @mysql_fetch_array($query); + if ($user['u_id']=='') + { + message_forum($lng['no_user'],'index.php'); + } + //add skin variables + $skin = array( + 'lvalue' => $lng['value'], + 'lmotive' => $lng['motive'] + ); + $skin = array_push_associative($skin, Over::generate_header($lng['show_warns'].': '.$user['nick'],'> '.$lng['show_warns'].': '.$user['nick'])); + include('./skins/'.$default_skin.'/overall_header.tpl'); + include('./skins/'.$default_skin.'/warns_view_body.tpl'); + $sql = "SELECT * FROM `".WARNINGS_TABLE."` WHERE `u_id`='$uid'"; + $query = DataBase::sql_query($sql,'GENERAL','Could not obtain user warns information'); + $result = mysql_num_rows($query); + $warns_count = 0; + while($item = mysql_fetch_array($query)) + { + $skin = array( + 'value'=>$item['value'], + 'motive'=>$item['motive'] + ); + include('./skins/'.$default_skin.'/warns_view_item_body.tpl'); + $warns_count = ($item['value']=='+') ? $warns_count + 1 : $warns_count -1; + } + $stop = Over::TimeGeneration(); + $skin = array( + 'lall_warns'=>$lng['all_warns'], + 'all_warns'=>($warns_count>0) ? ''.($warns_count*10).'%' : ''.$warns_count.'%', + 'queries'=>Over::ShowQueries($start, $stop) + ); + $user_rank = ($_SESSION['uid']>0) ? RANK : 0; + if ($user_rank>0) + { + $skin['add']=''.$lng['add_warn'].''; + } + else + { + $skin['add']=''; + } + if ($result>0) + { + $skin['no_elements']=''; + } + else + { + $skin['no_elements']='

    '.$lng['no_elements'].'!

    '; + } + if($user_rank=='2') + { + $skin['pa_link']=''.$lng['pa_link'].''; + } + else + { + $skin['pa_link']=''; + } + include('./skins/'.$default_skin.'/warns_view_end_body.tpl'); + include('./skins/'.$default_skin.'/overall_footer.tpl'); + break; + } + default: + { + $stop = Over::TimeGeneration(); + message_forum($lng['invalidmode'],'index.php'); + break; + } +} +?>