CHANGE LOG 3.5.1 - Added a default language file option to options.php. - Added a check to each require() to issue an error if whatever file being added is not found. - Updated English_main.php to 1.0.2 in the lang directory. - Fixed a bug where the user would pick diagonal words and no up and down words, and it would still pick down and not the 8th direction (down-right diagonal). 3.5 - Fixed puzzle title, which now accepts everything except @#$%^&*+\/ - Fixed word list bug where the word list had non-English letters and weren't being capitalized, therefore they were removed by the check. - Fixed the option to manually place words in the puzzle. - Selecting lowercase letters and manually placing words, the puzzle will now be in lowercase. - Removed strtoupper on line 787 that capitalized _PUZZLE_FINISHED. This results in all strtoupper's having corresponding strtr for non-English words. - Removed strtolower on line 794 that lowercased _MISTAKES. This results in all strtolower's having correspoding strtr for non-English words. - Changed many filters to allow anything but @#$%^&*+\/ characters. This includes the language and word list filenames. - Updated English_main.php to 1.0.1 in the lang directory. - Revealing the last word no longer causes mouseIsDown to be true. The user can no longer highlight anything when the puzzle is finished. 3.4.1 - Added ability to pass save game information through the URL. (fs.wordfinder.php?savedgame=) - Lowercase letters wasn't being saved with the saved game. - Fixed saved games that didn't have any crossed out words. 3.4 - Added an option to use lowercase letters in the puzzle. - Changed the way words are highlighted in the puzzle. The user now needs to hold down the left mouse button and drag the cursor over the entire word and then release. - Changed the save game format. This means that older saved games will not work, but this also means that saved games will be much smaller. - Moved all options to a separate file, options.php - Remove all English words that get echoed to the user from fs.wordfinder.php and main_inc.php and put them in a separate file for easier translation. - If the user uses red as the font color, then the font color for revealed words will now be blue. - Puzzle titles can now contain all the letters of the selected grid language. 3.3 - Added a javascript check to make sure inputWords is not empty. - Added option for admins to use the word lists as flat files which doesn't require the use of a database. - Added another check to make sure $words isn't empty before preceding with the main loop. For some reason, the script made it that far on empty in certain circumstances. - Added a marker to the style toolkit to make it easier to select cells. - Add two buttons on the Information tab that will remove the users Settings and Custom grid cookies. - Main and Grid pages are once again XHTML 1.1 compliant. - Light optimizations. - $maxCharsLimit will now be used throughout the script where needed, instead of just in select spots. - The minimum allowed squares in the style toolkit is now $minRows * $minCols, instead of 50. This keeps users from making a custom grid that's smaller than the set amount. - Fixed Random Words option where the user enters a 1. - Fixed bug where the user hides the word list, presses S to save, and then presses Continue. The word list will now be hidden once again. 3.2 - Added option to make the script only use letters from the word list. - Added option to hidden every other letter in the grid, creating a checkered board type grid. 3.1.1 - Fixed bug when you disabled gzip, it would print out to of everything. 3.1.0 - Added ability to output to XML. 3.0.0 - Added ability for user to place any or all words into the puzzle manually. - Fixed bug when words are overlapped. 2.8 - Added new interface. Old interface is still available to use if the admin wishes. - Added 2 new grid styles. 2.73 - Fixed bug with the load game which wouldn't work in some situations. 2.72 - Fixed a bug in picking words from a word list, where the script wouldn't fill in the grid properly. 2.71 - Fixed a bug where some languages were broken. - Added Hebrew. 2.7 - Main, grid, and style pages are now XHTML 1.1 compliant. - Added a javascript check to the main form. If the users javascript is disabled, it will set forPrint to TRUE. - Added a 'Make custom' button for making a custom grid style, instead of the old way of selecting 'Custom...' from the dropdown. Also, this button will only appear if the user has javascript enabled. - Added a check to the style toolkit to make sure the letter marks is at least a certain amount (which I set to 50 for now). - Changed the 'Save settings' checkbox to a button. Clicking this button will save your settings without having to click on 'Create puzzle'. If the user has javascript disabled, then the old way is still used. - Added a check to make sure the php version on the server is compatible. - Added output buffering and gzip compression. - Added check to the grid page that will ask the user if they want to leave the page without saving first. This does not work in Opera, only IE and Firefox as far I can test. - Added a cache control to the grid page to prevent cheating. - "Encoded" the some things on the grid page in an attempt to thwart cheating. It's still possible to cheat, it just takes some thinking and time. - Added ability to save your progress. Press S to show the form. You must then copy the code you see and save it somewhere. When you want to load it up again, enter that same code at the bottom of the main page. - Added check to $_POST['gridStyle'] to make sure it's a valid style. 2.61 - Fixed style toolkit to work properly in IE. 2.6 - Added ability for the end user to create their own grid style in an easy to use style toolkit. - Added custom grid styles. The user now has a choice as to the shape of the grid. The admin can also add new styles. - Added size limit check to $puzzleTitle. This includes a new option for the admin to set the size limit. 2.5 - Added option for end user to add a title to the top of the grid page. - Added option to put the word list on the right or bottom of the grid. - $title now shows as the browser title in both the main window and the new words window. - Hide/Reveal option will recognize capital R now. - Changed variable name rev# to lower size of grid page. - Pausing the grid will now hide the word list. - Added character count check to the new words window. 2.4 - There's now a message alerting the user to the limitations of Internet Explorer with the new words window. IE is limited to 2MB in the address bar. As far as I can tell, Mozilla Firefox has no limits, or at least I'm able to pass over 650 words. - Improved main loop. Removed extra loops. Retry limit now equals retry limit. Should improve performance some. - Improved memory management. - Added the option to center the grid. - If the user enters a value for rows/cols that's lower/higher than the min/max, rows/cols will become the min/max. - Added a word list. This uses a mysql db as the backend. The word list will be completely optional. - Added a max character check. For example, if the grid is 20x20, that's 400 letters. If the user enters 5000 letters the script will no longer waste time checking these words. The script will now limit how many word checks it goes through based on the grid size, with a little latitude towards words overlapping. 2.31 - If the user turns off javascript and inputs a row or column value that's out of the minimum or maximum range, the script will now default to the default values. - The charset for a given language now passes to the words window. - Script will now correctly parse new line characters on *nix and macs. 2.3 - Fixed bug (1028903) where if the user made the grid uneven like if the grid was 20x21, or 40x10, the script would miscalculate the XY coordinates. 2.2 - Added a readme.txt file. This includes all the setup and file list information. This also includes the info to the language files as best I could explain. - Users can hide the word list without needing javascript. - Users can no longer pause the grid when they finish it. - Fixed bug with hiding the word list with more than one column and it only hid the first column. This also affects pressing R to hide the list. - Added word count to title if the user selects 'Hide words' and 'For print'. - Removed void 0 and changed name of changeColor and reveal functions to lower the grid page size significantly. - Fixed bug with the new words window not using the font size entered. - Added ability to highlight the first and last letters in a word and the whole word will now be highlighted. - Changed all die() calls to haltError() to provide admins ability to close the script properly, if they are using beginning and ending templates. - Added Polish, Greek, Czech, and Russian languages. - Switched all languages to their own language file located in the lang directory. - Fixed bug with hiding the word list and clicking for print. The word list will now hide again. - Fixed javascript bug when 'Hide words', 'New window', and 'For print' are selected. 2.1 - Optimized code to improve performance. - If the user has javascript disabled in the browser, the question mark next to a word in the word list will not be displayed anymore. - If user hides the word list, and finishes the puzzle, the word list will be displayed. - Added option for user to enter how many words to pick at random. - Added option to reveal the word list if the user has chosen to hide it by pressing R. - Added a catchall to direction() in case the users browser doesn't send the correct info or the user intentionally sent the wrong info. - Added Numbers to the available languages. This option will only allow numbers in the Words field and will only display numbers in the grid. - Fixed bug with hiding the word list and highlighting a word in the grid. - Added option for admin to set the default font size, background color, font color, and highlight color for the grid page. - Added option for admin to set the default rows and columns. - Added option for user to save all the settings. - Added 'Puzzle finished' to the status bar, and the time will stop. - Added words revealed stats to status bar. - Changed the pause key to Enter. The Opera browser had the letter P associated with print preview. - Added option to choose 'Diagonal words only' or 'Up and down words only'. - Script now will have a much greater chance to overlap other words. It's still random and not very predictable. - For print option will now disable all javascript. Useful if the user is going to print, or is having problems with the javascript. - Letters have a bigger area around them. Instead of just highlighting the letter. Now the area around the letter gets highlighted as well. Makes it easier to select a letter too. 2.0 - If a user clicks both New window and Hide words, the new window will not popup. - Before sorting words alphabetically, the script will make sure the user hasn't also selected to hide the word list. - Fixed the words list window when the server is on a different port than the default. - Added option to display forward or backward words only. - Added option to disable up or down words. - Added content type header to the words list window. - Added option for end user to change background and font colors for the grid page. - Added javascript to check the min and max of rows and cols. If the user inputs anything under or over, the script will change it to the min or max respectively. - Added javascript to the font size field. If the user enters nothing or a zero, the script will change it to the default of 4.0. - Added javascript so the user can now highlight the letters right on the grid page. Highlight color is customizable. Highlighting the complete word in the grid will cross out the word in the word list. - Added an option for the user to reveal a word in the grid by pressing the question mark next to the word. There will be a javascript confirm box to ask if the user is sure they want to reveal a word. - Added a 'Puzzle finished' alert box when the user finds all the words in the grid. It displays the time it took to find all the words, the mistakes, and how many words the user revealed. - Added option for admin to set the maximum number of characters the script will accept for the words textarea. - Added a character count to show the user how many characters are remaining. - Added a word count to the status bar on the grid page. This will keep track on how many words are remaining and how many words there are total. - Added a mistake counter to the status bar. If the user clicks on a letter that is not in a word that's a mistake. - Added the time in seconds to the status bar. - Added option to pause the grid by pressing P or p. This will also hide the grid. - The script will only allow unique words now. - Made the main html seperate for easier editing. The file is called main_inc.php. - Admin can now change the title of the page. - Script will now check the length of a word BEFORE going any further with it. The script used to just check if the word wasn't blank, then added the uniques and alphabet, only then did it check the length of the word. - Script will change spaces into commas now. So it's now possible to add words seperated by spaces. - Main page html is XHTML 1.0 Transitional compliant again. - Fixed where the script kept adding $languages to $chars. Moved $chars outside of the for loop at the beginning. This explains why certain letters were always picked more than others. Will use a lot less memory. - Fixed when the script encounters more than one comma in a row. Script will now keep going with the word list. - Fixed when the script encounters a comma at the very beginning of the word list. The script now checks if the word list is empty instead of just the first element. - Fixed direction checks where it didn't pick the right direction for nodiag. - Fixed directions 3,5,6,7,8 in which it went too far in checking if the word can fit. This made a word that was exactly the same size as max columns or rows to not fit. - Fixed bug where the script didn't check the words length after taking out all the artifacts. This allowed a user to input two characters with something inbetween and it would make it through. - Fixed bug where if there is no word in $words[0], it will display an error. Before it would just go through and display no words in the word list. - Fixed bug when the user entered a word too big to fit into the grid, but was still within $maxChars range. Like when a user made the grid 10x10 and entered a word that's anything longer than 10 letters. The script would still try all the retries, wasting time. And if this was the only word, the script would still display the grid with no word list. - Fixed bug when there were no words in the word list even after all the checks and the script would still display the grid with no word list. The script will now say there aren't any words and to try again. 1.3a - Fixed official site link to point to the sourceforge site. - Change log has been taken out of the source and is available on the official site only. 1.3 - Changed my name and website addresses. This is still bAAGi, I just don't go by that name anymore. - Added option for admin to change the minimum and maximum number of rows and columns allowed. - Added option to disable diagonal words. - Added option to sort words alphabetically. - Added check to make sure rows, cols, and font size are numbers. - Added different languages to the grid/word list. - Modified HTML: added nowrap to grid table, made the new words window bigger, made main table wider, put all styles for main page into a