From: <wis...@us...> - 2016-02-12 04:42:31
|
Revision: 13203 http://sourceforge.net/p/xoops/svn/13203 Author: wishcraft Date: 2016-02-12 04:42:27 +0000 (Fri, 12 Feb 2016) Log Message: ----------- Started replanning xalky Added Paths: ----------- XoopsModules/xalky/trunk/ XoopsModules/xalky/trunk/modules/ XoopsModules/xalky/trunk/modules/xalky/ XoopsModules/xalky/trunk/modules/xalky/LICENSE XoopsModules/xalky/trunk/modules/xalky/admin/ XoopsModules/xalky/trunk/modules/xalky/admin/includes/ XoopsModules/xalky/trunk/modules/xalky/admin/includes/functions.php XoopsModules/xalky/trunk/modules/xalky/admin/includes/index.html XoopsModules/xalky/trunk/modules/xalky/admin/index.php XoopsModules/xalky/trunk/modules/xalky/admin/js/ XoopsModules/xalky/trunk/modules/xalky/admin/js/functions.js XoopsModules/xalky/trunk/modules/xalky/admin/js/index.html XoopsModules/xalky/trunk/modules/xalky/admin/templates/ XoopsModules/xalky/trunk/modules/xalky/admin/templates/add.php XoopsModules/xalky/trunk/modules/xalky/admin/templates/adverts.php XoopsModules/xalky/trunk/modules/xalky/admin/templates/bans.php XoopsModules/xalky/trunk/modules/xalky/admin/templates/database.php XoopsModules/xalky/trunk/modules/xalky/admin/templates/email.php XoopsModules/xalky/trunk/modules/xalky/admin/templates/footer.php XoopsModules/xalky/trunk/modules/xalky/admin/templates/games.php XoopsModules/xalky/trunk/modules/xalky/admin/templates/groups.php XoopsModules/xalky/trunk/modules/xalky/admin/templates/header.php XoopsModules/xalky/trunk/modules/xalky/admin/templates/home.php XoopsModules/xalky/trunk/modules/xalky/admin/templates/images/ XoopsModules/xalky/trunk/modules/xalky/admin/templates/images/background.jpg XoopsModules/xalky/trunk/modules/xalky/admin/templates/images/button.jpg XoopsModules/xalky/trunk/modules/xalky/admin/templates/images/icon.png XoopsModules/xalky/trunk/modules/xalky/admin/templates/images/index.html XoopsModules/xalky/trunk/modules/xalky/admin/templates/index.html XoopsModules/xalky/trunk/modules/xalky/admin/templates/login.php XoopsModules/xalky/trunk/modules/xalky/admin/templates/menu.php XoopsModules/xalky/trunk/modules/xalky/admin/templates/profiles.php XoopsModules/xalky/trunk/modules/xalky/admin/templates/rooms.php XoopsModules/xalky/trunk/modules/xalky/admin/templates/settings.php XoopsModules/xalky/trunk/modules/xalky/admin/templates/style.css XoopsModules/xalky/trunk/modules/xalky/admin/templates/subs.php XoopsModules/xalky/trunk/modules/xalky/admin/templates/transcripts.php XoopsModules/xalky/trunk/modules/xalky/admin/templates/users.php XoopsModules/xalky/trunk/modules/xalky/assets/ XoopsModules/xalky/trunk/modules/xalky/assets/avatars/ XoopsModules/xalky/trunk/modules/xalky/assets/avatars/40/ XoopsModules/xalky/trunk/modules/xalky/assets/avatars/40/couple.gif XoopsModules/xalky/trunk/modules/xalky/assets/avatars/40/female.gif XoopsModules/xalky/trunk/modules/xalky/assets/avatars/40/index.html XoopsModules/xalky/trunk/modules/xalky/assets/avatars/40/male.gif XoopsModules/xalky/trunk/modules/xalky/assets/avatars/40/pc.gif XoopsModules/xalky/trunk/modules/xalky/assets/avatars/40/phone.gif XoopsModules/xalky/trunk/modules/xalky/assets/avatars/40/share.gif XoopsModules/xalky/trunk/modules/xalky/assets/avatars/40/webcam.gif XoopsModules/xalky/trunk/modules/xalky/assets/avatars/block.gif XoopsModules/xalky/trunk/modules/xalky/assets/avatars/copyright.txt XoopsModules/xalky/trunk/modules/xalky/assets/avatars/couple.gif XoopsModules/xalky/trunk/modules/xalky/assets/avatars/female.gif XoopsModules/xalky/trunk/modules/xalky/assets/avatars/images/ XoopsModules/xalky/trunk/modules/xalky/assets/avatars/images/index.html XoopsModules/xalky/trunk/modules/xalky/assets/avatars/images/notice.gif XoopsModules/xalky/trunk/modules/xalky/assets/avatars/index.html XoopsModules/xalky/trunk/modules/xalky/assets/avatars/male.gif XoopsModules/xalky/trunk/modules/xalky/assets/avatars/online.gif XoopsModules/xalky/trunk/modules/xalky/assets/avatars/pc.gif XoopsModules/xalky/trunk/modules/xalky/assets/avatars/phone.gif XoopsModules/xalky/trunk/modules/xalky/assets/avatars/upload.php XoopsModules/xalky/trunk/modules/xalky/assets/avatars/webcam.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/ XoopsModules/xalky/trunk/modules/xalky/assets/images/bg.jpg XoopsModules/xalky/trunk/modules/xalky/assets/images/camHelp.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/checkout.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/close.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/copyright.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/default.jpg XoopsModules/xalky/trunk/modules/xalky/assets/images/edit.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/eraser.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/index.html XoopsModules/xalky/trunk/modules/xalky/assets/images/inv.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/ XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/avatars.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/avatars_small.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/bell.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/bell_small.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/dice.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/games.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/games_small.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/grin.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/grin_small.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/help.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/help_small.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/index.html XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/share.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/sound.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/sound_small.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/styles.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/styles_small.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/timer.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/transcripts.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/menu/transcripts_small.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/min.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/mini.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/notice.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/private.jpg XoopsModules/xalky/trunk/modules/xalky/assets/images/rooms.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/share.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/usermenu/ XoopsModules/xalky/trunk/modules/xalky/assets/images/usermenu/block.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/usermenu/index.html XoopsModules/xalky/trunk/modules/xalky/assets/images/usermenu/private.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/usermenu/profile.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/usermenu/report.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/usermenu/tool.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/usermenu/unblock.gif XoopsModules/xalky/trunk/modules/xalky/assets/images/youtube_share_url.jpg XoopsModules/xalky/trunk/modules/xalky/assets/js/ XoopsModules/xalky/trunk/modules/xalky/assets/js/XmlHttpRequest.js.php XoopsModules/xalky/trunk/modules/xalky/assets/js/cookie.js.php XoopsModules/xalky/trunk/modules/xalky/assets/js/divLayout.js.php XoopsModules/xalky/trunk/modules/xalky/assets/js/functions.js.php XoopsModules/xalky/trunk/modules/xalky/assets/js/index.html XoopsModules/xalky/trunk/modules/xalky/assets/js/intellibot.js.php XoopsModules/xalky/trunk/modules/xalky/assets/js/intellibotRes.js.php XoopsModules/xalky/trunk/modules/xalky/assets/js/jquery-1.9.1.js XoopsModules/xalky/trunk/modules/xalky/assets/js/jquery-ui.js XoopsModules/xalky/trunk/modules/xalky/assets/js/message.js.php XoopsModules/xalky/trunk/modules/xalky/assets/js/newRoom.js.php XoopsModules/xalky/trunk/modules/xalky/assets/js/playSnd.js XoopsModules/xalky/trunk/modules/xalky/assets/js/private.js.php XoopsModules/xalky/trunk/modules/xalky/assets/js/swfobject.js XoopsModules/xalky/trunk/modules/xalky/assets/js/userlist.js.php XoopsModules/xalky/trunk/modules/xalky/assets/smilies/ XoopsModules/xalky/trunk/modules/xalky/assets/smilies/ban.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/biggrin.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/blush.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/bye.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/censored.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/confused.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/cry.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/drool.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/flowers.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/frown.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/frusty.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/heart.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/help.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/index.html XoopsModules/xalky/trunk/modules/xalky/assets/smilies/innocent.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/kiss.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/loveit.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/ninja.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/nono.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/omg.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/puh2.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/rock.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/rolleyes.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/sadley.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/shadey.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/shiny.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/shoot.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/smile.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/sweat.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/thumbdown.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/thumbup.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/whistle.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/wink.gif XoopsModules/xalky/trunk/modules/xalky/assets/smilies/winknkiss.gif XoopsModules/xalky/trunk/modules/xalky/assets/sounds/ XoopsModules/xalky/trunk/modules/xalky/assets/sounds/beep_high.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/beep_low.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/door_close.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/doorbell.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/index.html XoopsModules/xalky/trunk/modules/xalky/assets/sounds/ringbell.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/ XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/bite.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/boo.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/burp.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/cough.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/die.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/evil.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/fart.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/giggle.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/hiccup.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/index.html XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/kiss.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/punches.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/ricochet.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/scream.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/slap.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/slurp.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/smooch.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/sneeze.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/snore.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/speaker.gif XoopsModules/xalky/trunk/modules/xalky/assets/sounds/sfx/yehaw.mp3 XoopsModules/xalky/trunk/modules/xalky/assets/swf/ XoopsModules/xalky/trunk/modules/xalky/assets/swf/expressInstall.swf XoopsModules/xalky/trunk/modules/xalky/assets/swf/index.html XoopsModules/xalky/trunk/modules/xalky/assets/swf/playSnd.swf XoopsModules/xalky/trunk/modules/xalky/chat.js XoopsModules/xalky/trunk/modules/xalky/cms.php XoopsModules/xalky/trunk/modules/xalky/includes/ XoopsModules/xalky/trunk/modules/xalky/includes/config.php XoopsModules/xalky/trunk/modules/xalky/includes/db.php XoopsModules/xalky/trunk/modules/xalky/includes/functions.php XoopsModules/xalky/trunk/modules/xalky/includes/getData.php XoopsModules/xalky/trunk/modules/xalky/includes/index.html XoopsModules/xalky/trunk/modules/xalky/includes/ini.php XoopsModules/xalky/trunk/modules/xalky/includes/lang.js.php XoopsModules/xalky/trunk/modules/xalky/includes/sendData.php XoopsModules/xalky/trunk/modules/xalky/includes/session.php XoopsModules/xalky/trunk/modules/xalky/includes/settings.js.php XoopsModules/xalky/trunk/modules/xalky/includes/version.php XoopsModules/xalky/trunk/modules/xalky/index.php XoopsModules/xalky/trunk/modules/xalky/language/ XoopsModules/xalky/trunk/modules/xalky/language/english/ XoopsModules/xalky/trunk/modules/xalky/language/english/english.php XoopsModules/xalky/trunk/modules/xalky/language/english/index.php XoopsModules/xalky/trunk/modules/xalky/plugins/ XoopsModules/xalky/trunk/modules/xalky/plugins/example/ XoopsModules/xalky/trunk/modules/xalky/plugins/example/README.txt XoopsModules/xalky/trunk/modules/xalky/plugins/example/images/ XoopsModules/xalky/trunk/modules/xalky/plugins/example/images/image.gif XoopsModules/xalky/trunk/modules/xalky/plugins/example/images/index.html XoopsModules/xalky/trunk/modules/xalky/plugins/example/index.php XoopsModules/xalky/trunk/modules/xalky/plugins/example/js/ XoopsModules/xalky/trunk/modules/xalky/plugins/example/js/functions.js XoopsModules/xalky/trunk/modules/xalky/plugins/example/js/index.html XoopsModules/xalky/trunk/modules/xalky/plugins/index.html XoopsModules/xalky/trunk/modules/xalky/profiles/ XoopsModules/xalky/trunk/modules/xalky/profiles/index.php XoopsModules/xalky/trunk/modules/xalky/profiles/uploads/ XoopsModules/xalky/trunk/modules/xalky/profiles/uploads/index.html XoopsModules/xalky/trunk/modules/xalky/profiles/uploads/nopic.jpg XoopsModules/xalky/trunk/modules/xalky/profiles/view.php XoopsModules/xalky/trunk/modules/xalky/sql/ XoopsModules/xalky/trunk/modules/xalky/sql/mysql.sql XoopsModules/xalky/trunk/modules/xalky/templates/ XoopsModules/xalky/trunk/modules/xalky/templates/default/ XoopsModules/xalky/trunk/modules/xalky/templates/default/ecredits.php XoopsModules/xalky/trunk/modules/xalky/templates/default/images/ XoopsModules/xalky/trunk/modules/xalky/templates/default/images/avatar.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/background.jpg XoopsModules/xalky/trunk/modules/xalky/templates/default/images/bell.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/block.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/button.gif XoopsModules/xalky/trunk/modules/xalky/templates/default/images/copyright.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/deleteMessageIMG.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/ecredits.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/edit.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/games.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/help.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/icon.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/index.html XoopsModules/xalky/trunk/modules/xalky/templates/default/images/login.jpg XoopsModules/xalky/trunk/modules/xalky/templates/default/images/loginButton.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/loginbg.jpg XoopsModules/xalky/trunk/modules/xalky/templates/default/images/logo.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/logout.jpg XoopsModules/xalky/trunk/modules/xalky/templates/default/images/pen.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/private.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/profile.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/register.jpg XoopsModules/xalky/trunk/modules/xalky/templates/default/images/registerButton.jpg XoopsModules/xalky/trunk/modules/xalky/templates/default/images/registerButton.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/report.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/rooms.jpg XoopsModules/xalky/trunk/modules/xalky/templates/default/images/rooms.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/rubber.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/send.jpg XoopsModules/xalky/trunk/modules/xalky/templates/default/images/sfx.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/share.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/smilie.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/tool.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/transcripts.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/unblock.png XoopsModules/xalky/trunk/modules/xalky/templates/default/images/welcome.png XoopsModules/xalky/trunk/modules/xalky/templates/default/index.html XoopsModules/xalky/trunk/modules/xalky/templates/default/login.php XoopsModules/xalky/trunk/modules/xalky/templates/default/lost.php XoopsModules/xalky/trunk/modules/xalky/templates/default/main.php XoopsModules/xalky/trunk/modules/xalky/templates/default/online.php XoopsModules/xalky/trunk/modules/xalky/templates/default/private.php XoopsModules/xalky/trunk/modules/xalky/templates/default/profile.php XoopsModules/xalky/trunk/modules/xalky/templates/default/report.php XoopsModules/xalky/trunk/modules/xalky/templates/default/style.css XoopsModules/xalky/trunk/modules/xalky/templates/default/terms.php XoopsModules/xalky/trunk/modules/xalky/templates/default/transcripts.php XoopsModules/xalky/trunk/modules/xalky/templates/index.html XoopsModules/xalky/trunk/modules/xalky/xoops_version.php Added: XoopsModules/xalky/trunk/modules/xalky/LICENSE =================================================================== --- XoopsModules/xalky/trunk/modules/xalky/LICENSE (rev 0) +++ XoopsModules/xalky/trunk/modules/xalky/LICENSE 2016-02-12 04:42:27 UTC (rev 13203) @@ -0,0 +1,184 @@ +/** + * Xalky - Talks like a cockatoo - XOOPS Chat Rooms + * + * You may not change or alter any portion of this comment or credits + * of supporting developers from this source code or any supporting source code + * which is considered copyrighted (c) material of the original comment or credit authors. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * @copyright Chronolabs Cooperative http://sourceforge.net/projects/chronolabs/ + * @license GNU GPL 3 (http://labs.coop/briefs/legal/general-public-licence/13,3.html) + * @author Simon Antony Roberts <wis...@us...> + * @see http://sourceforge.net/projects/xoops/ + * @see http://sourceforge.net/projects/chronolabs/ + * @see http://sourceforge.net/projects/chronolabsapi/ + * @see http://labs.coop + * @version 1.0.1 + * @since 1.0.1 + */ + + +== General Software License ================================================================================================ + +DO NOT OPEN THE ENCLOSED MEDIA PACKAGE UNTIL YOU HAVE READ AND AGREED TO THIS LICENSE AGREEMENT. + +This is a legal agreement between you, the end user or developer, and Chronolabs (Chronolabs & Associates). By breaking the +seal/unzipping/taking delivery and opening the media package you are consenting to the terms of this License. If you do not +agree to the terms of this non-exclusive License Agreement, DO NOT OPEN THE MEDIA PACKAGE. For a full refund, return the +unopened media package and all accompanying materials within seven (7) days to the place where you obtained them. +Where there is no seal or packaging to open, use of software and or data constitutes acceptance. + +Contents +DO NOT OPEN THE ENCLOSED MEDIA PACKAGE UNTIL YOU HAVE READ AND AGREED TO THIS LICENSE AGREEMENT. +DEFINITIONS +DURATION +GENERAL +PER USER LICENSE ONLY: USES PERMITTED +SERVER LICENSE ONLY: USES PERMITTED +PER USER(S) LICENSE AND SERVER LICENSE: USES NOT PERMITTED: UNLESS OTHERWISE AGREED TO IN WRITING WITH CHRONOLABS, YOU MAY NOT: +LIMITED WARRANTY +ACKNOWLEDGEMENT: +MEMBER ACCOUNT, PASSWORD, AND SECURITY: +NO UNLAWFUL OR PROHIBITED USE: +GOVERNING LAW: +U.S. GOVERNMENT RESTRICTED RIGHTS: +PARTIES: + +DEFINITIONS +As used in this License Agreement, "Software" means the computer programs either contained on the media in the package, or +which you have downloaded, together with any additional Chronolabs proprietary programs, updates or revisions subsequently +licensed by you. "Software Copies" means the actual copies of all or any portion of the Software, including backups, updates, +merged or partial copies permitted hereunder or subsequently licensed to you. +"Data" means the non-Software information contained on the media provided with this package, or downloaded, and which is used +and manipulated by the Software. "Data Copies" means the actual copies of all or any portion of the Data, including backups, +updates, merged or partial copies permitted hereunder or subsequently provided to you. "Related Materials" means all of the +printed materials and whatever is in the package or downloaded. +The non-Software and non-Data contained on the media supplied in the package, downloaded, or otherwise supplied by or from +Chronolabs for use with the Software and Data. "License" means the grant of certain limited rights to use and maintain the +Software, Software Copies, Data, Data Copies and Related Materials. "Server" means a single computer system. "Named User" +means (i) a named person or (ii) a single terminal or a single workstation of a computer used only by a person (and not +accessed otherwise). +"Concurrent Users? means a specified number of individual workstation licensed to access Software and or Data on a Server at +any one time, which once reached, results in prohibition of any further access until such time as one or more workstations +discontinues access. In order to preserve and protect its rights under applicable law, Chronolabs is not selling you ownership +rights to Software or Data (owned by or licensed to Chronolabs). Chronolabs specifically retains title to all Chronolabs +Software, Data and Related Materials, and Chronolabs licensors retain title to items owned by them. +DURATION +This License Agreement is effective from the day you open the sealed media package or download and continues until terminated. +If you fail to comply with any provision of the License, termination is automatic, without notice from Chronolabs and without +the necessity for recourse to any judicial authority. Upon termination you must destroy the written materials, the Software, +Data and all Software and Data copies. Chronolabs can also enforce its other legal and equitable rights. +GENERAL +This Agreement represents our entire understanding and agreement regarding the Software, Software Copies, Data, Data Copies +and Related Materials, and supersedes any prior purchase order, communication, advertising or representation, and may only be +modified in a written amendment signed by an authorized Chronolabs representative or by a specific prior or subsequent +written agreement between the parties. If any provision of this Agreement shall be unlawful, void or for any reason +unenforceable, that provision shall be deemed severable from, and shall in no way affect the validity or enforceability of, +the remaining provisions. +PER USER LICENSE ONLY: USES PERMITTED +Software and Data may be used only by a person (and not accessed otherwise) on a single terminal or a single workstation of a +computer. On multiple terminals/stations in accordance with the number of user licenses for which you or your organisation has +paid. Software and Data may be installed onto a hard disk drive. +One backup copy may be made for each legally obtained media copy or downloaded copy you have received, provided that all +Chronolabs and third party licensor information including copyright notices are maintained and possession of the copy is +retained by you in a secure location. In addition, you agree to use reasonable efforts to protect the Software and Data from +unauthorized use, reproduction, distribution or publication. All rights not specifically granted in this License are reserved +by Chronolabs. +SERVER LICENSE ONLY: USES PERMITTED +Software and Data may be installed on one Server. Access to the Software and Data on the Server is restricted based on the +license purchased as specified in an ordering document or License Certificate provided to Customer by Chronolabs. License +options are either Named Users, Concurrent Users (for the number specified), unlimited internal (i.e. Intranet) users, or +unlimited external (i.e. Internet) users. +One backup copy may be made for each legally obtained media copy or downloaded copy you have received (and not per user), +provided that it is necessary to preserve the use of the software, is used only for backup purposes, all Chronolabs and third +party. +Licenses or information including copyright notices are maintained, and possession of the copy. is retained by you in a secure +location. In addition, you agree to use reasonable efforts to protect the Software and Data from unauthorised use, +reproduction, distribution or publication. All rights not specifically granted in this License are reserved by Chronolabs. +PER USER(S) LICENSE AND SERVER LICENSE: USES NOT PERMITTED: UNLESS OTHERWISE AGREED TO IN WRITING WITH CHRONOLABS, YOU MAY +NOT: +Make derivative works including but not limited to translations, adaptations, arrangements or any other alteration (each of +which would become the property of Chronolabs or its licensors, as applicable) or make copies of the Software or Data, except +as permitted above;Make copies of the Related Materials;Use any Chronolabs product to translate the product of another +licensor unless you have the legal right to do so;Allow a greater number of users to access the Software and Data at any one +time than the total number of user licenses for which you have paid;Rent, lease, sublicense or lend the Software, Software +Copies, Data, Data Copies, Related Materials or your rights under this License or allow access to the Software for unlicensed +internal users;Allow third parties to access the Software and or Data through any means to obtain reports, maps or other +output;Alter, decompile (except to the limited extent that decompilation by the licensed user only is necessary as the only +available way to achieve interoperability with other programs, and in that situation. any resulting information cannot be +used in developing. producing or marketing any software substantially similar in expression to the Chronolabs product), +disassemble or reverse engineer the Software;Make any attempt to unlock or bypass any initialisation system, or system +designed to control Concurrent Users, or encryption techniques utilized by the Software or Data; or (9) Alter, remove or +obscure any proprietary legend, copyright or trademark notice contained in or on Software, Data or Related Materials. + +LIMITED WARRANTY +COVERING THE PHYSICAL MEDIA AND PRINTED MATERIALS: Chronolabs warrants to you, the original licensee, that the media on which +the Software and/or Data is recorded are free from defects in materials and workmanship under normal end user support such as +assistance with the source code. FROM THE DATE OF LICENSE PURCHASE as evidenced by a copy of the receipt. Chronolabs entire +liability and your exclusive remedy as to defective media or Related Material(s) shall be, at Chronolabs option, either return + of the license purchase price or replacement of the media or Related Material(s). Each defective item, along with proof of + license purchase and date, must be sent in a traceable manner, to: Chronolabs, 10/466 Illawarra Rd, Marrickville, NSW, 2204, + Australia. +DISCLAIMER REGARDING THE SOFTWARE, DATA AND RELATED MATERIALS: THE SOFTWARE, DATA AND THE RELATED MATERIALS ARE PROVIDED "AS +IS." EXCEPT AS MAY OTHERWISE BE EXPRESSLY SET FORTH HEREIN, MAPINTO MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED +WITH RESPECT TO THE SOFTWARE, THE DATA OR THE RELATED MATERIALS, INCLUDING BY WAY OF EXAMPLE AND NOT LIMITATION, THE IMPLIED +WARRANTIES OF TITLE, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. BY WAY OF FURTHER EXAMPLE AND NOT LIMITATION, +ChronoLABS MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, WITH RESPECT TO THE ACCURACY, RELIABILITY OR +COMPLETENESS OF THE DATA OR THE RELATED MATERIALS. THE ENTIRE RISK AS TO THE USE OF THE SOFTWARE, THE DATA. AND THE RELATED +MATERIALS IS ASSUMED BY Y0U. IN NO EVENT SHALL Chronolabs BE LIABLE TO YOU OR ANY OTHER PERSON, REGARDLESS OF THE CAUSE, FOR +THE EFFECTIVENESS OR ACCURACY OF THE SOFTWARE, THE DATA OR THE RELATED MATERIALS, OR FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING FROM OR OCCASIONED BY YOUR USE OF THE SOFTWARE, THE DATA OR THE RELATED MATERIALS, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN THE EVENT THE FOREGOING IS FOUND BY A COURT OF COMPETENT JURISDICTION TO BE +INEFFECTIVE, YOU HEREBY AGREE THAT CHRONOLABS' MAXIMUM LIABILITY FOR ANY CLAIM ARISING IN CONNECTION WITH THE SOFTWARE, THE +DATA AND/OR THE RELATED MATERIALS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE, PRODUCT LIABILITY OR OTHERWISE) SHALL NOT +EXCEED THE LICENSE FEES PAID BY YOU WITH RESPECT TO THE SOFTWARE, DATA UNIT(S) AND/OR RELATED MATERIALS AT ISSUE. SOME STATES +DO NOT ALLOW THE LIMITATION OR EXCLUSION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE FOREGOING PROVISION WITH RESPECT TO +EXCLUDING OR LIMITING SUCH DAMAGES MAY NOT APPLY TO YOU. +ACKNOWLEDGEMENT: +You acknowledge that you have read this LIMITED WARRANTY, understand it, and agree to be bound by its terms and conditions. +You also agree that: +No oral or written information or advice given by Chronolabs, its dealers, distributors, agents or employees shall in any way +increase the scope of this Limited Warranty, and you may not rely on any such information or advice.Unless a written governing +agreement signed by you and Chronolabs exists, this License Agreement is the complete and exclusive statement of agreement of +Chronolabs and you, and supersedes all proposals, oral or written, and any other communications you may have had prior to +purchasing your license.Except for the price and delivery terms agreed upon by both parties, the terms and conditions of this +License Agreement shall supersede those set forth in any purchase order where the purchase order conflicts or is inconsistent +with or adds to the terms and conditions of this License, and those superseded purchase order terms and conditions shall be +null and void.If your organization has purchased a multiple user License, you agree to assure that copies of this License +Agreement are distributed, read and agreed to by each person using a licensed product. +MEMBER ACCOUNT, PASSWORD, AND SECURITY: +If any of the Services requires you to open an account, you must complete the registration process by providing us with +current, complete and accurate information as prompted by the applicable registration form. You also will choose a password +and a user name. You are entirely responsible for maintaining the confidentiality of your password and account. Furthermore, +you are entirely responsible for any and all activities that occur under your account. You agree to notify Chronolabs +immediately of any unauthorized use of your account or any other breach of security. Chronolabs will not be liable for any +loss that you may incur as a result of someone else using your password or account, either with or without your knowledge. +However, you could be held liable for losses incurred by Chronolabs or another party due to someone else using your account +or password. You may not use anyone else's account at any time, without the permission of the account holder. +NO UNLAWFUL OR PROHIBITED USE: +As a condition of your use of the Services, you will not use the Services for any purpose that is unlawful or prohibited by +these terms, conditions, and notices. You may not use the Services in any manner that could damage, disable, overburden, or +impair any Chronolabs server, or the network(s) connected to any Chronolabs server, or interfere with any other party's use +and enjoyment of any Services. You may not attempt to gain unauthorized access to any Services, other accounts, computer +systems or networks connected to any Chronolabs server or to any of the Services, through hacking, password mining or any +other means. You may not obtain or attempt to obtain any materials or information through any means not intentionally made +available through the Services. +GOVERNING LAW: +This Agreement shall be governed by the laws of the State of New South Wales and the Federal Courts of Australia, excluding +its conflicts of laws principles and excluding the United Nations Convention on Contracts for the International Sale of Goods. +You agree to exclusive jurisdiction of Australia’s federal and state courts, for resolution of any dispute related to this +Agreement. +U.S. GOVERNMENT RESTRICTED RIGHTS: +The Software, Data and documentation are provided with RESTRICTED RIGHTS. Use, duplication or disclosure by the Government is +subject to restrictions as set forth in subparagraph (c)(1) (ii) of the Rights in Technical Data and Computer Software clause +at DFARS 252.227 7013 or subparagraphs (c)(1) and (2) of the Commercial Computer Software Restricted Rights at 48 +CFR 52.227 19, as applicable. Manufacturer is Chronolabs. Rights are reserved under copyright laws of the United States with +respect to unpublished portions of the Software. +PARTIES: +This software licence applies to any code, compiled as an executable or in text source code, this includes old code from +deregistered parties like Exitstencil Press (ABN 87 096 867 775), Chronolabs can be found under the following trading names +or entities associated. Core Corporation, Chronolabs, Ethnobotanical Search, Nanotech Systems, labs.coop, That Business Empire, Timelabs Australia, Web Core Design, Why Corporation, all refer to the entity known as Chronolabs (ABN 41 460 248 629) whom hold copyright © 2006-2025 +All Rights Reserved to the content being provided online. When this document refers to You it is direct reference to the +person or parties use a resource from Chronolabs, this is generally in reference to service or good received in binary form. \ No newline at end of file Added: XoopsModules/xalky/trunk/modules/xalky/admin/includes/functions.php =================================================================== --- XoopsModules/xalky/trunk/modules/xalky/admin/includes/functions.php (rev 0) +++ XoopsModules/xalky/trunk/modules/xalky/admin/includes/functions.php 2016-02-12 04:42:27 UTC (rev 13203) @@ -0,0 +1,3046 @@ +<?php + +/* +* get admin login +* +*/ + +function getAdminLogin() +{ + if($_SESSION['adminUser']) + { + unset($_SESSION['adminUser']); + } + + // get captcha text + $showCaptcha = getCaptchaText(); + + $html = ''; + $html = '<input type="hidden" name="sCaptcha" value="'.$showCaptcha.'">'; + $html .= '<tr><td class="header" colspan="2">Admin Area - Login</td></tr>'; + $html .= '<tr><td width="100">Username</td><td><input type="text" name="uName" value=""></td></tr>'; + $html .= '<tr><td>Password</td><td><input type="password" name="uPass" value=""></td></tr>'; + $html .= '<tr><td>Enter Code</td><td><input type="text" size="6" name="uCaptcha" value=""> <span class="captcha">'.$showCaptcha.'</span></td></tr>'; + + $html .= '<tr><td> </td><td><input style="cursor:pointer;" type="submit" name="submit" value="Login"></td></tr>'; + + include("../includes/config.php"); + + if($CONFIG['showAdminResetPasswordLink']){ + $html .= '<tr><td> </td><td>» <a href="?option=lostPassword">Reset Password?</a></td></tr>'; + } + + return $html; +} + +/* +* check admin login +* +*/ + +function updateAdminLogin($data) +{ + $result = '0'; + + if(empty($data['uName'])) + { + return "Please enter your login name."; + } + + try { + $dbh = db_connect(); + $params = array(''); + $query = "SELECT admin, adminLogin FROM xalky_config"; + $action = $dbh->prepare($query); + $action->execute($params); + + foreach ($action as $i) + { + if(stristr($i['admin'],$data['uName']) && $i['adminLogin'] == md5($data['uPass']) && $data['sCaptcha'] == $data['uCaptcha']) + { + // is admin + $_SESSION['adminUser'] = '1'; + + $result = "1"; + } + } + + $dbh = null; + } + catch(PDOException $e) + { + $error = "Function: ".__FUNCTION__."\n"; + $error .= "File: ".basename(__FILE__)."\n"; + $error .= 'PDOException: '.$e->getCode(). '-'. $e->getMessage()."\n\n"; + + debugError($error); + } + + return $result; +} + +/* +* reset admin password +* +*/ + +function resetAdminLogin($status) +{ + // include files + include("../includes/config.php"); + + // create a random password + $newPass = substr(md5(date("U").rand(1,99999)),0,-16); + + // insert into database + try { + $dbh = db_connect(); + $params = array( + 'password' => md5($newPass) + ); + $query = "UPDATE xalky_config + SET adminLogin = :password + WHERE id = '1' + "; + $action = $dbh->prepare($query); + $action->execute($params); + $dbh = null; + } + catch(PDOException $e) + { + $error = "Function: ".__FUNCTION__."\n"; + $error .= "File: ".basename(__FILE__)."\n"; + $error .= 'PDOException: '.$e->getCode(). '-'. $e->getMessage()."\n\n"; + + debugError($error); + } + + // create headers + $headers = "MIME-Version: 1.0\n"; + $headers .= "Content-type: text/plain; charset=iso-8859-1\n"; + $headers .= "X-Priority: 3\n"; + $headers .= "X-MSMail-Priority: Normal\n"; + $headers .= "X-Mailer: php\n"; + $headers .= "From: \"" . $CONFIG['chatroomName'] . "\" <" . $CONFIG['chatroomEmail'] . ">\n"; + + // send email + if($status == '1') + { + $email_subject = $CONFIG['chatroomName']." - Admin Area Password"; + $email_message = "Hello Admin,\r\n\r\n"; + $email_message .= "Please find below your admin area login password,\r\n\r\n"; + $email_message .= "Password: ".$newPass."\r\n\r\n"; + $email_message .= "Login Url: ".$CONFIG['chatroomUrl']."admin/\r\n\r\n"; + $email_message .= "Many thanks,\r\n"; + $email_message .= $CONFIG['chatroomName']; + } + + mail($CONFIG['chatroomEmail'], $email_subject, $email_message, $headers); +} + +/* +* get config settings +* +*/ + +function getAdminConfig() +{ + try { + $dbh = db_connect(); + $params = array(''); + $query = "SELECT * FROM xalky_config"; + $action = $dbh->prepare($query); + $action->execute($params); + + foreach ($action as $i) + { + return array( + + $i['id'], + $i['adminLogin'], + $i['avatars'], + urldecode($i['badwords']), + $i['font_color'], + $i['font_size'], + $i['font_family'], + $i['sfx'], + $i['smilies_text'], + $i['smilies_images'], + $i['gender'], + $i['profileOn'], + $i['profileUrl'], + $i['profileRef'], + $i['privateOn'], + $i['whisperOn'], + $i['webcamsOn'], + $i['advertsOn'], + $i['enableUrl'], + $i['enableEmail'], + $i['enableShoutFilter'], + $i['floodXalky'], + $i['newPm'], + $i['newPmMin'], + $i['refreshRate'], + $i['totalMessages'], + urldecode($i['admin']), + $i['textAdverts'], + $i['textAdvertsDesc'], + $i['textAdvertsRate'], + urldecode(str_replace("select,","",$i['userStatusMes'])), + urldecode($i['news']) + ); + } + + $dbh = null; + } + catch(PDOException $e) + { + $error = "Function: ".__FUNCTION__."\n"; + $error .= "File: ".basename(__FILE__)."\n"; + $error .= 'PDOException: '.$e->getCode(). '-'. $e->getMessage()."\n\n"; + + debugError($error); + } +} + +/* +* update config settings +* +*/ + +function updateAdminConfig($data) +{ + // split smilie input field into 2 arrays + $smilies_text = ''; + $smilies_images = ''; + + $str = str_replace("\r\n"," ",$data['smilieHTML']); + $str = str_replace(" = "," ",$str); + + $str = explode(" ", $str); + + for ( $i = 0; $i < count($str); $i++) + { + $x = ($i%2) ? TRUE : FALSE; + + if($x === FALSE) + { + $smilies_text .= $str[$i].","; + } + else + { + $smilies_images .= $str[$i].","; + } + } + + // replace commas with ASCII characters + $data['textAdvertsDesc'] = str_replace(",",",",$data['textAdvertsDesc']); + + // replace line breaks with commas + $data['textAdvertsDesc'] = str_replace("\r\n",",",$data['textAdvertsDesc']); + + + + // update data + try { + $dbh = db_connect(); + + /* + * start badwords cleanup + * ( remove any additional comma(s) left at the end/between badwords ) + */ + $badwords_array = explode(",",$data['badwords']); + $total_badwords = count($badwords_array); + for($i = 0; $i < $total_badwords; ) { + + if( empty( $badwords_array[$i] ) ) { + unset( $badwords_array[$i] ); + } + + $i++; + } + $data['badwords'] = implode(",",$badwords_array); + /* end badwords cleanup */ + + if(!empty($data['adminLogin'])) + { // update admin login password + $params = array( + 'adminLogin' => md5($data['adminLogin']), + 'avatars' => $data['avatars'], + 'badwords' => urlencode($data['badwords']), + 'font_color' => $data['font_color'], + 'font_size' => $data['font_size'], + 'font_family' => $data['font_family'], + 'sfx' => $data['sfx'], + 'smilies_text' => $smilies_text, + 'smilies_images' => $smilies_images, + 'gender' => $data['gender'], + 'profileOn' => $data['profileOn'], + 'profileUrl' => $data['profileUrl'], + 'profileRef' => $data['profileRef'], + 'privateOn' => $data['privateOn'], + 'whisperOn' => $data['whisperOn'], + 'webcamsOn' => $data['webcamsOn'], + 'advertsOn' => $data['advertsOn'], + 'enableUrl' => $data['enableUrl'], + 'enableEmail' => $data['enableEmail'], + 'enableShoutFilter' => $data['enableShoutFilter'], + 'floodXalky' => $data['floodXalky'], + 'newPm' => $data['newPm'], + 'newPmMin' => $data['newPmMin'], + 'refreshRate' => $data['refreshRate'], + 'totalMessages' => $data['totalMessages'], + 'admin' => urlencode($data['admin']), + 'textAdverts' => $data['textAdverts'], + 'textAdvertsDesc' => $data['textAdvertsDesc'], + 'textAdvertsRate' => $data['textAdvertsRate'], + 'userStatusMes' => 'select,'.urlencode($data['userStatusMes']), + 'news' => urlencode($data['news']) + ); + $query = "UPDATE xalky_config + SET + adminLogin = :adminLogin, + avatars = :avatars, + badwords = :badwords, + font_color = :font_color, + font_size = :font_size, + font_family = :font_family, + sfx = :sfx, + smilies_text = :smilies_text, + smilies_images = :smilies_images, + gender = :gender, + profileOn = :profileOn, + profileUrl = :profileUrl, + profileRef = :profileRef, + privateOn = :privateOn, + whisperOn = :whisperOn, + webcamsOn = :webcamsOn, + advertsOn = :advertsOn, + enableUrl = :enableUrl, + enableEmail = :enableEmail, + enableShoutFilter = :enableShoutFilter, + floodXalky = :floodXalky, + newPm = :newPm, + newPmMin = :newPmMin, + refreshRate = :refreshRate, + totalMessages = :totalMessages, + admin = :admin, + textAdverts = :textAdverts, + textAdvertsDesc = :textAdvertsDesc, + textAdvertsRate = :textAdvertsRate, + userStatusMes = :userStatusMes, + news = :news + WHERE id = '1' + "; + } + else + { + $params = array( + 'avatars' => $data['avatars'], + 'badwords' => urlencode($data['badwords']), + 'font_color' => $data['font_color'], + 'font_size' => $data['font_size'], + 'font_family' => $data['font_family'], + 'sfx' => $data['sfx'], + 'smilies_text' => $smilies_text, + 'smilies_images' => $smilies_images, + 'gender' => $data['gender'], + 'profileOn' => $data['profileOn'], + 'profileUrl' => $data['profileUrl'], + 'profileRef' => $data['profileRef'], + 'privateOn' => $data['privateOn'], + 'whisperOn' => $data['whisperOn'], + 'webcamsOn' => $data['webcamsOn'], + 'advertsOn' => $data['advertsOn'], + 'enableUrl' => $data['enableUrl'], + 'enableEmail' => $data['enableEmail'], + 'enableShoutFilter' => $data['enableShoutFilter'], + 'floodXalky' => $data['floodXalky'], + 'newPm' => $data['newPm'], + 'newPmMin' => $data['newPmMin'], + 'refreshRate' => $data['refreshRate'], + 'totalMessages' => $data['totalMessages'], + 'admin' => urlencode($data['admin']), + 'textAdverts' => $data['textAdverts'], + 'textAdvertsDesc' => $data['textAdvertsDesc'], + 'textAdvertsRate' => $data['textAdvertsRate'], + 'userStatusMes' => 'select,'.urlencode($data['userStatusMes']), + 'news' => urlencode($data['news']) + ); + $query = "UPDATE xalky_config + SET + avatars = :avatars, + badwords = :badwords, + font_color = :font_color, + font_size = :font_size, + font_family = :font_family, + sfx = :sfx, + smilies_text = :smilies_text, + smilies_images = :smilies_images, + gender = :gender, + profileOn = :profileOn, + profileUrl = :profileUrl, + profileRef = :profileRef, + privateOn = :privateOn, + whisperOn = :whisperOn, + webcamsOn = :webcamsOn, + advertsOn = :advertsOn, + enableUrl = :enableUrl, + enableEmail = :enableEmail, + enableShoutFilter = :enableShoutFilter, + floodXalky = :floodXalky, + newPm = :newPm, + newPmMin = :newPmMin, + refreshRate = :refreshRate, + totalMessages = :totalMessages, + admin = :admin, + textAdverts = :textAdverts, + textAdvertsDesc = :textAdvertsDesc, + textAdvertsRate = :textAdvertsRate, + userStatusMes = :userStatusMes, + news = :news + WHERE id = '1' + "; + } + + $action = $dbh->prepare($query); + $action->execute($params); + $dbh = null; + } + catch(PDOException $e) + { + $error = "Function: ".__FUNCTION__."\n"; + $error .= "File: ".basename(__FILE__)."\n"; + $error .= 'PDOException: '.$e->getCode(). '-'. $e->getMessage()."\n\n"; + + debugError($error); + } + + return "Success! - Settings have been updated."; +} + +/* +* get adverts +* +*/ + +function getAdminAdverts() +{ + try { + $dbh = db_connect(); + $params = array(''); + $query = "SELECT * + FROM xalky_adverts + ORDER BY id DESC + "; + $action = $dbh->prepare($query); + $action->execute($params); + + $html = ''; + $html .= '<tr><td class="header" colspan="2"><b>Add New Advert</b></td></tr>'; + $html .= '<tr><td colspan="2"><b> </b></td></tr>'; + $html .= '<tr><td width="10"> </td><td>'; + $html .= 'Copy & Paste your advertising HTML code below,<br>'; + $html .= '<textarea name="text"></textarea><br>'; + $html .= '</td></tr>'; + $html .= '<tr><td> </td><td colspan="2"><input class="submit" type="submit" name="update" value="Add Banner"><br><br></td></tr>'; + + $html .= '</table>'; + $html .= '<br>'; + $html .= '<table>'; + + $html .= '<tr><td class="header" colspan="2">Banner Adverts</td></tr>'; + $html .= '<tr><td width="50">ID</td><td>Advert</td></tr>'; + + foreach ($action as $i) + { + $html .= '<tr><td>'.$i['id'].'</td><td>'; + $html .= stripslashes($i['text']).'<br>'; + $html .= '<input type="checkbox" name="del[]" value="'.$i['id'].'">Delete this advert?<br><br>'; + $html .= 'Displays: '.$i['displays'].'<br>'; + $html .= 'Clicked: '.$i['clicks'].'<br><br></td></tr>'; + } + + $dbh = null; + } + catch(PDOException $e) + { + $error = "Function: ".__FUNCTION__."\n"; + $error .= "File: ".basename(__FILE__)."\n"; + $error .= 'PDOException: '.$e->getCode(). '-'. $e->getMessage()."\n\n"; + + debugError($error); + } + + $html .= '<tr><td> </td><td colspan="2"><input class="submit" type="submit" name="update" value="Update Banners"><br><br></td></tr>'; + + return $html; +} + +/* +* update adverts +* +*/ + +function updateAdminAdverts($data) +{ + if (isset($data['del'])) + { + foreach ($data['del'] as $id) + { + try { + $dbh = db_connect(); + $params = array( + 'id' => $id + ); + $query = "DELETE FROM xalky_adverts WHERE id = :id"; + $action = $dbh->prepare($query); + $action->execute($params); + $dbh = null; + } + catch(PDOException $e) + { + $error = "Function: ".__FUNCTION__."\n"; + $error .= "File: ".basename(__FILE__)."\n"; + $error .= 'PDOException: '.$e->getCode(). '-'. $e->getMessage()."\n\n"; + + debugError($error); + } + + } + + return "Success! - Advert(s) has been deleted."; + } + + if (!empty($data['text'])) + { + try { + $dbh = db_connect(); + $params = array( + 'txt' => $data['text'] + ); + $query = "INSERT INTO xalky_adverts + ( + text, + displays, + clicks + ) + VALUES + ( + :txt, + '0', + '0' + ) + "; + $action = $dbh->prepare($query); + $action->execute($params); + $dbh = null; + } + catch(PDOException $e) + { + $error = "Function: ".__FUNCTION__."\n"; + $error .= "File: ".basename(__FILE__)."\n"; + $error .= 'PDOException: '.$e->getCode(). '-'. $e->getMessage()."\n\n"; + + debugError($error); + } + + return "Success! - New advert has been added."; + } +} + +/* +* get games +* +*/ + +function getAdminGames() +{ + $html = ''; + + try { + $dbh = db_connect(); + $params = array(''); + $query = "SELECT * FROM xalky_games"; + $action = $dbh->prepare($query); + $action->execute($params); + + $html = '<tr><td class="header" colspan="2"><b>Add New Game</b></td></tr>'; + $html .= '<tr><td colspan="2"> </td></tr>'; + $html .= '<tr><td width="100">Title:</td><td><input type="text" name="title" value=""></td></tr>'; + $html .= '<tr><td>Description:</td><td><textarea name="desc"></textarea></td></tr>'; + $html .= '<tr><td>Thumbnail:</td><td><input type="file" name="thumb"></td></tr>'; + $html .= '<tr><td>.SWF File:</td><td><input type="file" name="swf"></td></tr>'; + $html .= '<tr><td>Width:</td><td><input type="text" name="width" value="400" size="3" maxlength="3"> pixels</td></tr>'; + $html .= '<tr><td>Height:</td><td><input type="text" name="height" value="300" size="3" maxlength="3"> pixels</td></tr>'; + $html .= '<tr><td> </td><td colspan="2"><input class="submit" type="submit" name="update" value="Add Game"><br><br></td></tr>'; + + $html .= '</table>'; + $html .= '<br>'; + $html .= '<table>'; + + $html .= '<tr><td class="header" colspan="2"><b>Games Library</b></td></tr>'; + $html .= '<tr><td width="100">ID</td><td>Games</td></tr>'; + + foreach ($action as $i) + { + $html .= '<tr><td>'.$i['game_ID'].'</td><td>'; + $html .= '<img style="cursor:pointer;" onclick="playGames('.$i['game_ID'].')" src=\'../plugins/games/images/'.$i['game_Thumb'].'\' width=\'70\' height=\'60\' align=\'top\' border=\'0\'> '; + $html .= urldecode($i['game_Desc']); + $html .= '<br><input type="checkbox" name="del[]" value="'.$i['game_ID'].'">Delete this game?<br><br>'; + $html .= '</td></tr>'; + } + + $html .= '<tr><td> </td><td colspan="2"><input class="submit" type="submit" name="update" value="Update Games"><br><br></td></tr>'; + + $dbh = null; + } + catch(PDOException $e) + { + $error = "Function: ".__FUNCTION__."\n"; + $error .= "File: ".basename(__FILE__)."\n"; + $error .= 'PDOException: '.$e->getCode(). '-'. $e->getMessage()."\n\n"; + + debugError($error); + } + + return $html; +} + +/* +* update games +* +*/ + +function updateAdminGames($data) +{ + if (isset($data['del'])) + { + foreach ($data['del'] as $id) + { + try { + $dbh = db_connect(); + $params = array( + 'id' => $id + ); + $query = "DELETE FROM xalky_games WHERE game_ID = :id"; + $action = $dbh->prepare($query); + $action->execute($params); + $dbh = null; + } + catch(PDOException $e) + { + $error = "Function: ".__FUNCTION__."\n"; + $error .= "File: ".basename(__FILE__)."\n"; + $error .= 'PDOException: '.$e->getCode(). '-'. $e->getMessage()."\n\n"; + + debugError($error); + } + } + + return "Success! - Game(s) has been deleted."; + } + + if (!empty($data['title'])) + { + // do image upload + $folder = "../plugins/games/images/"; + $img_name = $_FILES['thumb']['name']; + $img_tmp_name = $_FILES['thumb']['tmp_name']; + $img_ext = strtolower(substr($_FILES['thumb']['name'], -3)); + + $allow_ext=array("jpg","gif","png","bmp"); + + if(!in_array($img_ext,$allow_ext)) + { + return " Error: [".$img_name."] - Image must be .jpg, .gif, .png or .bmp"; + } + else + { + copy($img_tmp_name, $folder . "/" . $img_name) or die("Error: could not upload image"); + } + + // do .swf upload + $folder = "../plugins/games/swf/"; + $swf_name = $_FILES['swf']['name']; + $swf_tmp_name = $_FILES['swf']['tmp_name']; + $swf_ext = strtolower(substr($_FILES['swf']['name'], -3)); + if ($swf_ext != 'swf') + { + return "Error: [".$swf_name."] - File is not a .swf"; + } + else + { + copy($swf_tmp_name, $folder . "/" . $swf_name) or die("Error: could not upload .swf file"); + } + + try { + $dbh = db_connect(); + $params = array( + 'game_SwfFile' => $_FILES['swf']['name'], + 'game_Name' => urlencode($data['title']), + 'game_Thumb' => $_FILES['thumb']['name'], + 'game_Width' => $data['width'], + 'game_Height' => $data['height'], + 'game_Desc' => urlencode($data['desc']) + ); + $query = "INSERT INTO xalky_games + ( + game_SwfFile, + game_Name, + game_Thumb, + game_Width, + game_Height, + game_Desc + ) + VALUES + ( + :game_SwfFile, + :game_Name, + :game_Thumb, + :game_Width, + :game_Height, + :game_Desc + ) + "; + $action = $dbh->prepare($query); + $action->execute($params); + $dbh = null; + } + catch(PDOException $e) + { + $error = "Function: ".__FUNCTION__."\n"; + $error .= "File: ".basename(__FILE__)."\n"; + $error .= 'PDOException: '.$e->getCode(). '-'. $e->getMessage()."\n\n"; + + debugError($error); + } + + return "Success! - New game has been added."; + } +} + +/* +* get rooms +* +*/ + +function getAdminRooms($id) +{ + $html = ''; + + try { + $dbh = db_connect(); + + if($id != '0') + { + $params = array( + 'id' => $id + ); + $query = "SELECT * FROM xalky_rooms WHERE id = :id"; + } + else + { + $params = array(''); + $query = "SELECT * FROM xalky_rooms"; + } + + $action = $dbh->prepare($query); + $action->execute($params); + + if($id == '0') + { + $html .= '<tr><td class="header" colspan="2">Add New Room</td></tr>'; + $html .= '<tr><td colspan="2"> </td></tr>'; + $html .= '<input type="hidden" name="addRoom" value="1">'; + $html .= '<tr><td width="70">RoomName: </td><td><input type="text" name="room" value=""></td></tr>'; + $html .= '<tr><td>Password: </td><td><input type="text" name="pass" value=""> (optional)</td></tr>'; + $html .= '<tr><td>Background: </td><td><input type="text" name="bg" value=""> (upload image to folder <i>/images/</i> or enter <i>url</i> to image)</td></tr>'; + $html .= '<tr><td>Description: </td><td><textarea name="desc"></textarea></td></tr>'; + + $html .= '<tr><td> </td><td><input class="submit" type="submit" name="update" value="Add Room"></td></tr>'; + + $html .= '<tr><td colspan="2"> </td></tr>'; + + $html .= '</table>'; + $html .= '<br>'; + $html .= '<table>'; + + $html .= '<tr><td colspan="2"> </td></tr>'; + $html .= '<tr><td class="header" colspan="2">Room Details</td></tr>'; + $html .= '<tr><td colspan="2"> </td></tr>'; + } + + foreach ($action as $i) + { + if($id != '0') + { + $html .= '<tr class="header"><td colspan="2">:: Edit Room</td></tr>'; + $html .= '<tr><td colspan="2"> </td></tr>'; + $html .= '<input type="hidden" name="updateRoom" value="'.$i['id'].'">'; + + if($i['id'] == "1") + { + $html .= '<tr><td width="70">RoomID: </td><td>'.$i['id'].' <input type="hidden" name="roomID" value="'.$i['id'].'"> </td></tr>'; + } + else + { + $html .= '<tr><td width="70">RoomID: </td><td><input type="text" name="roomID" value="'.$i['id'].'"> (at least 1 room must have a roomID of <i>1</i>)</td></tr>'; + } + + $html .= '<tr><td>RoomName: </td><td><input type="text" name="room" value="'.urldecode($i['roomname']).'"></td></tr>'; + $html .= '<tr><td>Password: </td><td><input type="text" name="pass" value="'.$password.'"> (leave blank if no change)</td></tr>'; + $html .= '<tr><td>Background: </td><td><input type="text" name="bg" value="'.$i['roombg'].'"> (upload image to folder <i>/images/</i> or enter <i>url</i> to image)</td></tr>'; + $html .= '<tr><td>Description: </td><td><textarea name="desc">'.stripslashes(urldecode($i['roomdesc'])).'</textarea></td></tr>'; + $html .= '<tr><td> </td><td><input class="submit" type="submit" name="update" value="Update Rooms"></td></tr>'; + } + + if($id == '0') + { + $password = 'No'; + + if($i['roompassword']) + { + $password = 'Yes'; + } + + $html .= '<tr><td width="70">RoomID: </td><td>'.$i['id'].'</td></tr>'; + $html .= '<tr><td>RoomName: </td><td>'.urldecode($i['roomname']).'</td></tr>'; + $html .= '<tr><td>OwnerID: </td><td>'.$i['roomowner'].'</td></tr>'; + $html .= '<tr><td>Password: </td><td>'.$password.'</td></tr>'; + $html .= '<tr><td>Background: </td><td>'.$i['roombg'].'</td></tr>'; + ... [truncated message content] |