";
elseif($_POST['more']=="reloadSaved") echo "?php
}
if($_post['wordswindow']>?php>";
else echo "";
if(!empty($puzzleTitle))
echo "
".$puzzleTitle."
";
##### Print out the grid
$border = ($_POST['wordList']=="bottom") ? "bottom" : "right";
$echoThis = "";
if($_POST['useLetters']) {
$ch = 0;
$chars = array();
for($tok=strlen($inserted)-1;$tok>=0;$tok--) {
for($kot=strlen($inserted[$tok])-1;$kot>=0;$kot--) {
$chars[$ch] = $inserted[$tok][$kot];
$ch++;
}
}
$chars = array_values(array_unique($chars));
$chars = implode("",$chars);
}
$charsLen = strlen($chars)-1;
$hideThis = "style=\"color:".$backgroundColor."\"";
$hiding = 1;
if($_POST['centerGrid']) { $echoThis .= "
"; }
$echoThis .= "";
$echoThis .= (!$_POST['wordsWindow'] && !$_POST['hideWords']) ? " " : "";
for($x=1,$ran=1;$x<=$rows;$x++) {
$echoThis .= "";
$hiding = ($hiding) ? 0 : 1;
for($y=1;$y<=$cols;$y++,$ran++) {
$random = mt_rand(0,$charsLen);
if($gridWords[$x][$y]!="") {
$gridWordsTemp = explode(",",$gridWords[$x][$y]);
$c = count($gridWordsTemp)-1;
$p=array();
$m=0;
foreach($gridWordsTemp as $g) {
for($q=0;$q".$ranChar." | " : "".$gridChar." | ";
} else { $echoThis .= ($grid[$x][$y][0]=="") ? "".$ranChar." | " : "".$gridChar." | "; }
$hiding = ($hiding) ? 0 : 1;
}
if ($_POST['wordList']=="right") $echoThis .= " | ";
$echoThis .= " ";
}
if ($_POST['wordList']=="bottom") $echoThis .= "| | ";
$echoThis .= " ";
$echoThis .= " | ";
##### List words on grid page
if ($_POST['wordList']=="bottom") {
$echoThis .= "
";
$margin = "top";
} else {
$margin = "left";
}
if(!$_POST['hideWords'] || !$_POST['forPrint']) {
if(!$_POST['wordsWindow']) {
$echoThis .= "";
$echoThis .= (!$_POST['hideWords']) ? "" : " ";
$count=count($inserted);
for($x=0,$y=1;$x<$count;$x++) {
$xyArrayTemp = explode(",",$xyArray[$inserted[$x]]);
$c = count($xyArrayTemp)-1;
$p=$u="";
foreach($xyArrayTemp as $g) {
$u .= $g.",";
}
$u = substr($u,0,-2);
for($q=0;$qdocument.write(unescape('%3C')+'span id=\"".$inserted[$x]."r\" onmousedown=\"".$xyTemp.";r(\'".$inserted[$x]."\',v);\">(?)'+unescape('%3C')+'/span>')" : "";
if($_POST['lowerCase'] && $languages[$language]!="Numbers") {
$inWord = strtr($inserted[$x], ${$languages[$language]}[0], ${$languages[$language]}[1]);
$inWord = strtolower($inWord);
} else {
$inWord = $inserted[$x];
}
$echoThis .= "".$print."".$inWord." ";
$t = ($_POST['wordList']=="bottom") ? 15*$y-1 : $rows*$y-1;
if($x==$t) { $echoThis .= " | "; $y++; }
}
$echoThis .= " |
| ";
}
}
$echoThis .= " ";
echo (!$_POST['forPrint'] && !$_POST['wordsWindow']) ? "\n\n\n\n" : $echoThis;
#if($_POST['centerGrid']) { echo " |
"; }
echo "\n\n
"._SAVE_TEXT.":
"._SAVE_INFO."
";
echo "
"._PAUSED."
"._PRESS_ENTER."
";
} else {
header("Content-type: text/xml; charset=ISO-8859-1");
echo "\n";
echo "
".$rows."
".$cols."
";
foreach($inserted as $in) {
echo "-
".$in."
".substr($xyArray[$in],0,-1)."
";
}
echo "
";
for($x=1;$x<=$rows;$x++) {
for($y=1;$y<=$cols;$y++) {
echo "- ";
echo "".$x."";
echo "".$y."";
echo ($grid[$x][$y][0]=="") ? "".$chars[mt_rand(0,strlen($chars)-1)]."" : "".$grid[$x][$y][0]."";
echo "
";
}
}
echo "\n";
}
}
##### List words in new window
elseif ($_GET['act']=="listwords") {
$tempWords = str_replace(",","",$_GET['wordlist']);
if(strlen($tempWords)>$maxCharsLimit) haltError(_TOO_MANY_CHARS);
unset($tempWords);
echo "= $title; ?>";
echo "
";
$sep_word = explode(",", $_GET['wordlist']);
$x=1;
foreach($sep_word as $word) {
echo $word." ";
if($x==40) { echo " | "; $x=1; }
else { $x++; }
}
echo " |
";
}
##### Show custom grid form
elseif ($_GET['act']=="customGrid") {
?>
= $title; ?> = _STYLE_TOOLKIT; ?>
= $title; ?> = _STYLE_TOOLKIT; ?>
o();eventHandle();document.getElementById('_1').style.backgroundColor = 'green';">
";
for($b=1;$b<=$cols;$b++,$c++) {
echo "
| ";
}
echo "";
}
?>
= _custom_info; ?>
= _marker_info; ?>
= _rows; ?> (10-60): = _columns; ?> (10-60):
= _shift_grid; ?>:
= _resize_info; ?>
= _custom_save; ?>:
?=>?=>?=>?=>?=>
?=>?=>
".$fileStripped."";
}
}
closedir($dh);
}
}
$wordlist_options = "";
if($wordlist==1 && $useMysql==1) {
$link = mysql_connect($host,$username,$password);
mysql_select_db($database);
$sql = "SELECT * FROM FSWF_config";
$res = mysql_query($sql);
while($t = mysql_fetch_assoc($res)) {
$wordlist_options .= "
".str_replace("_"," ",$t[fsset])."";
}
mysql_query($link);
} else if ($wordlist==1) {
$dir = $pathToWordlists;
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if($file!="." && $file!=".." && ereg(".txt$",$file)) {
$fileStripped = ereg_replace("_|.txt$"," ",$file);
$fileStripped = ereg_replace("[@#$%^&*+\\/]","",$fileStripped);
$wordlist_options .= "
".$fileStripped."";
}
}
closedir($dh);
}
}
}
if(isset($_COOKIE['fswordfinder'])) {
$cookie = explode(",",$_COOKIE['fswordfinder']);
$rowsSaved = ereg_replace("[^0-9]","",$cookie[0]);
$colsSaved = ereg_replace("[^0-9]","",$cookie[1]);
$fontSizeSaved = ereg_replace("[^0-9.]","",$cookie[2]);
$bgColorSaved = ereg_replace("[^0-9A-Za-z#]","",$cookie[3]);
$fontColorSaved = ereg_replace("[^0-9A-Za-z#]","",$cookie[4]);
$highColorSaved = ereg_replace("[^0-9A-Za-z#]","",$cookie[5]);
$languageSaved = ereg_replace("[^0-9]","",$cookie[6]);
$borfSaved = $cookie[7];
$diagSaved = $cookie[8];
$upanddownSaved = $cookie[9];
$alphaSortSaved = $cookie[10];
$hideWordsSaved = $cookie[11];
$wordsWindowSaved = $cookie[12];
$forPrintSaved = $cookie[13];
$randomWordsSaved = ereg_replace("[^0-9]","",$cookie[14]);
$centerGridSaved = $cookie[15];
// $wordListSaved = $cookie[16]; // This setting isn't currently being saved
$useLettersSaved = $cookie[16];
$checkeredSaved = $cookie[17];
$lowerCaseSaved = $cookie[18];
unset($cookie);
} else {
$rowsSaved = $defaultRows;
$colsSaved = $defaultCols;
$fontSizeSaved = $fSize;
$bgColorSaved = $bgColor;
$fontColorSaved = $fColor;
$highColorSaved = $highColor;
$languageSaved = 0;
$borfSaved = "regular";
$diagSaved = "diag";
$upanddownSaved = "upanddown";
$alphaSortSaved = "";
$hideWordsSaved = "";
$wordsWindowSaved = "";
$forPrintSaved = "";
$randomWordsSaved = "";
$centerGridSaved = "";
// $wordListSaved = "";
$useLettersSaved = "";
$checkeredSaved = "";
$lowerCaseSaved = "";
}
$borf = "
\n";
$diag = "
\n";
$upanddown = "
\n";
$placement = "
\n";
$langOptions="
";
$alphaSortSaved=($alphaSortSaved) ? " checked=\"checked\"" : "";
$hideWordsSaved=($hideWordsSaved) ? " checked=\"checked\"" : "";
$wordsWindowSaved=($wordsWindowSaved) ? " checked=\"checked\"" : "";
$forPrintSaved=($forPrintSaved) ? " checked=\"checked\"" : "";
$centerGridSaved=($centerGridSaved) ? " checked=\"checked\"" : "";
$useLettersSaved=($useLettersSaved) ? " checked=\"checked\"" : "";
$checkeredSaved=($checkeredSaved) ? " checked=\"checked\"" : "";
$lowerCaseSaved=($lowerCaseSaved) ? " checked=\"checked\"" : "";
$gridStyles = "
";
if(!is_file($pathToMaininc)) haltError("main_inc.php not found");
@require($pathToMaininc);
}
##### Pick a direction and spot in the grid
function make_random() {
global $xnum,$ynum,$rows,$cols;
direction();
$xnum = mt_rand(1,$rows);
$ynum = mt_rand(1,$cols);
}
##### Pick a direction
function direction() {
global $dir;
if($_POST['BorF']=="forward") {
$temp = array(3,8,5,7);
if($_POST['diag']=="diagonly") { $dir = $temp[mt_rand(0,1)]; }
elseif($_POST['upanddown']=="upanddownonly") { $dir = 7; }
elseif($_POST['diag']=="nodiag") { if($_POST['upanddown']=="noupanddown") { $dir=5; } else { $dir = $temp[mt_rand(2,3)]; } }
elseif($_POST['diag']=="diag") { if($_POST['upanddown']=="noupanddown") { $dir = $temp[mt_rand(0,2)]; } else { $dir = $temp[mt_rand(0,3)]; } }
else { $dir = $temp[mt_rand(0,3)]; }
}
elseif($_POST['BorF']=="backward") {
$temp = array(1,6,4,2);
if($_POST['diag']=="diagonly") { $dir = $temp[mt_rand(0,1)]; }
elseif($_POST['upanddown']=="upanddownonly") { $dir = 2; }
elseif($_POST['diag']=="nodiag") { if($_POST['upanddown']=="noupanddown") { $dir=4; } else { $dir = $temp[mt_rand(2,3)]; } }
elseif($_POST['diag']=="diag") { if($_POST['upanddown']=="noupanddown") { $dir = $temp[mt_rand(0,2)]; } else { $dir = $temp[mt_rand(0,3)]; } }
else { $dir = $temp[mt_rand(0,3)]; }
}
else {
if($_POST['diag']=="diagonly") { $temp = array(1,3,6,8); $dir = $temp[mt_rand(0,3)]; }
elseif($_POST['upanddown']=="upanddownonly") { $temp = array(2,7); $dir = $temp[mt_rand(0,1)]; }
elseif($_POST['diag']=="nodiag") { if($_POST['upanddown']=="noupanddown") { $temp = array(4,5); $dir = $temp[mt_rand(0,1)]; } else { $temp = array(2,4,5,7); $dir = $temp[mt_rand(0,3)]; } }
elseif($_POST['diag']=="diag") { if($_POST['upanddown']=="noupanddown") { $temp = array(1,3,4,5,6,8); $dir = $temp[mt_rand(0,5)]; } else { $dir = mt_rand(1,8); } }
else { $dir = mt_rand(1,8); }
}
}
##### Check if words can fit in position and direction
/*
1 2 3
^
\ | /
4 < - > 5
/ | \
v
6 7 8
*/
function check($word,$add) {
global $grid,$xnum,$ynum,$dir,$count,$rows,$cols,$xy,$scoreTemp,$scoreXYTemp,$gridWords;
$xy="";
if($dir==1) {
if($xnum-$count>=0 && $ynum-$count>=0) {
for($i=0,$x=$xnum,$y=$ynum;$i<$count;$i++,$x--,$y--) {
if($grid[$x][$y][0]!="" && $grid[$x][$y][0]!=$word[$i]) return 0;
}
for($i=0,$x=$xnum,$y=$ynum;$i<$count;$i++,$x--,$y--) {
if(!$add) {
if($grid[$x][$y][0]==$word[$i]) { $scoreTemp++; }
} else {
$grid[$x][$y][0] = $word[$i];
$xy .= (($x-1)*$cols)+$y.",";
$gridWords[$x][$y].=$word.",";
}
}
} else {
return 0;
}
}
elseif($dir==2) {
if($xnum-$count>=0) {
for($i=0,$x=$xnum,$y=$ynum;$i<$count;$i++,$x--) {
if($grid[$x][$y][0]!="" && $grid[$x][$y][0]!=$word[$i]) return 0;
}
for($i=0,$x=$xnum,$y=$ynum;$i<$count;$i++,$x--) {
if(!$add) {
if($grid[$x][$y][0]==$word[$i]) { $scoreTemp++; }
} else {
$grid[$x][$y][0] = $word[$i];
$xy .= (($x-1)*$cols)+$y.",";
$gridWords[$x][$y].=$word.",";
}
}
} else {
return 0;
}
}
elseif($dir==3) {
if($xnum-$count>=0 && $ynum+($count-1)<=$cols) {
for($i=0,$x=$xnum,$y=$ynum;$i<$count;$i++,$x--,$y++) {
if($grid[$x][$y][0]!="" && $grid[$x][$y][0]!=$word[$i]) return 0;
}
for($i=0,$x=$xnum,$y=$ynum;$i<$count;$i++,$x--,$y++) {
if(!$add) {
if($grid[$x][$y][0]==$word[$i]) { $scoreTemp++; }
} else {
$grid[$x][$y][0] = $word[$i];
$xy .= (($x-1)*$cols)+$y.",";
$gridWords[$x][$y].=$word.",";
}
}
} else {
return 0;
}
}
elseif($dir==4) {
if($ynum-$count>=0) {
for($i=0,$x=$xnum,$y=$ynum;$i<$count;$i++,$y--) {
if($grid[$x][$y][0]!="" && $grid[$x][$y][0]!=$word[$i]) return 0;
}
for($i=0,$x=$xnum,$y=$ynum;$i<$count;$i++,$y--) {
if(!$add) {
if($grid[$x][$y][0]==$word[$i]) { $scoreTemp++; }
} else {
$grid[$x][$y][0] = $word[$i];
$xy .= (($x-1)*$cols)+$y.",";
$gridWords[$x][$y].=$word.",";
}
}
} else {
return 0;
}
}
elseif($dir==5) {
if($ynum+($count-1)<=$cols) {
for($i=0,$x=$xnum,$y=$ynum;$i<$count;$i++,$y++) {
if($grid[$x][$y][0]!="" && $grid[$x][$y][0]!=$word[$i]) return 0;
}
for($i=0,$x=$xnum,$y=$ynum;$i<$count;$i++,$y++) {
if(!$add) {
if($grid[$x][$y][0]==$word[$i]) { $scoreTemp++; }
} else {
$grid[$x][$y][0] = $word[$i];
$xy .= (($x-1)*$cols)+$y.",";
$gridWords[$x][$y].=$word.",";
}
}
} else {
return 0;
}
}
elseif($dir==6) {
if($xnum+($count-1)<=$rows && $ynum-$count>=0) {
for($i=0,$x=$xnum,$y=$ynum;$i<$count;$i++,$x++,$y--) {
if($grid[$x][$y][0]!="" && $grid[$x][$y][0]!=$word[$i]) return 0;
}
for($i=0,$x=$xnum,$y=$ynum;$i<$count;$i++,$x++,$y--) {
if(!$add) {
if($grid[$x][$y][0]==$word[$i]) { $scoreTemp++; }
} else {
$grid[$x][$y][0] = $word[$i];
$xy .= (($x-1)*$cols)+$y.",";
$gridWords[$x][$y].=$word.",";
}
}
} else {
return 0;
}
}
elseif($dir==7) {
if($xnum+($count-1)<=$rows) {
for($i=0,$x=$xnum,$y=$ynum;$i<$count;$i++,$x++) {
if($grid[$x][$y][0]!="" && $grid[$x][$y][0]!=$word[$i]) return 0;
}
for($i=0,$x=$xnum,$y=$ynum;$i<$count;$i++,$x++) {
if(!$add) {
if($grid[$x][$y][0]==$word[$i]) { $scoreTemp++; }
} else {
$grid[$x][$y][0] = $word[$i];
$xy .= (($x-1)*$cols)+$y.",";
$gridWords[$x][$y].=$word.",";
}
}
} else {
return 0;
}
}
elseif($dir==8) {
if($xnum+($count-1)<=$rows && $ynum+($count-1)<=$cols) {
for($i=0,$x=$xnum,$y=$ynum;$i<$count;$i++,$x++,$y++) {
if($grid[$x][$y][0]!="" && $grid[$x][$y][0]!=$word[$i]) return 0;
}
for($i=0,$x=$xnum,$y=$ynum;$i<$count;$i++,$x++,$y++) {
if(!$add) {
if($grid[$x][$y][0]==$word[$i]) { $scoreTemp++; }
} else {
$grid[$x][$y][0] = $word[$i];
$xy .= (($x-1)*$cols)+$y.",";
$gridWords[$x][$y].=$word.",";
}
}
} else {
return 0;
}
}
if(!$add) $scoreXYTemp=$xnum.",".$ynum;
return 1;
}
##### Custom layout function
function customLayout() {
global $rows,$cols,$words,$puzzleTitle,$fontSize,$language,$title,$gridStyleOptions,$pathToGridstyles;
if(!is_file($pathToGridstyles)) haltError("gridStyles.php not found");
@require($pathToGridstyles);
?>
= $title; ?> = _CUSTOM_LAYOUT; ?>
" />
" />
" />
" />
" />
" />
" />
" />
" />
" />
" />
" />
" />
STEPS:
- = _pick_word; ?>?=>
- = _left_click; ?>?=>
- = _click_save; ?>?=>
- = _leftovers; ?>?=>
Available words:
= inserted_words; ?>:
?=>
|
Original size: ".$size;
echo " - Gzip size: ".strlen(gzcompress($contents,2))."";
$contents = ob_get_contents();
$size = strlen($contents);
$crc = crc32($contents);
*/
$gzdata .= gzcompress($contents, 2);
$gzdata = substr($gzdata, 0, strlen($gzdata) - 4);
$gzdata .= pack("V",$crc) . pack("V", $size);
ob_end_clean();
Header('Content-Encoding: gzip');
echo $gzdata;
} else { ob_end_clean(); echo $contents; }
?>!doctype>!doctype>!doctype>?xml>!doctype>