| 
<?php
include_once(dirname(__FILE__).DIRECTORY_SEPARATOR."ImageFragmentator.classmini.php");
 $ins = new ImageFragmentator;
 
 if(isset($_GET["ff_file"])){
 $ins->ifReturn($_GET["ff_file"], $_GET["ff_width"], $_GET["ff_height"], $_GET["ff_row"], $_GET["ff_column"]);
 exit;
 }
 
 echo "<h1>PHP class ImageFragmentator tests page</h1>".PHP_EOL;
 
 echo "<h2>Settings formular:</h2>".PHP_EOL;
 
 echo "<form method=\"post\" action=\"\" enctype=\"multipart/form-data\">".PHP_EOL;
 echo "#1 select input mime type ";
 echo "(of this image <img src=\"./ImageFragmentator.testimage.jpg\" width=\"40\" alt=\"[FILE NOT FOUND]\" />, 200 × 300 px) ";
 echo "<input type=\"radio\" name=\"ff_file\" value=\"jpg\" checked=\"checked\" /> JPG";
 echo "<input type=\"radio\" name=\"ff_file\" value=\"png\" /> PNG";
 echo "<input type=\"radio\" name=\"ff_file\" value=\"gif\" /> GIF ";
 echo "or select from PC <input type=\"file\" name=\"ff_file_pc\" />";
 echo "<br />";
 echo "#2 set width ";
 echo "<select name=\"ff_width\">";
 echo "<option value=\"0\">0 (full width)</option>";
 echo "<option value=\"1\">1</option>";
 for($i = 5; $i <= 350; $i = $i + 5){
 if($i == 100){
 $selected = " selected=\"selected\"";
 }
 else{
 $selected = "";
 }
 echo "<option value=\"".$i."\"".$selected.">".$i."</option>";
 }
 echo "</select>";
 echo " and height ";
 echo "<select name=\"ff_height\">";
 echo "<option value=\"0\">0 (full height)</option>";
 echo "<option value=\"1\">1</option>";
 for($i = 5; $i <= 350; $i = $i + 5){
 if($i == 100){
 $selected = " selected=\"selected\"";
 }
 else{
 $selected = "";
 }
 echo "<option value=\"".$i."\"".$selected.">".$i."</option>";
 }
 echo "</select>";
 echo " of fragment(s)";
 echo "<br />";
 echo "#3 select output mime type ";
 echo "<input type=\"radio\" name=\"ff_output\" value=\"image/jpeg\" checked=\"checked\" /> JPG";
 echo "<input type=\"radio\" name=\"ff_output\" value=\"image/png\" /> PNG";
 echo "<input type=\"radio\" name=\"ff_output\" value=\"image/gif\" /> GIF";
 echo "<br />";
 echo "#4 select action ";
 echo "<select name=\"ff_action\">";
 echo "<option value=\"save\" selected=\"selected\">save all fragments</option>";
 echo "<option value=\"return\">return one fragment</option>";
 echo "</select> ";
 echo "<br />";
 echo "(if save all fragments that with name ";
 echo "<input type=\"text\" name=\"ff_pattern\" value=\"ImageFragmentator.resultimage.[pc]\" />)";
 echo "<br />";
 echo "(if return one fragment that by order ";
 echo "<select name=\"ff_order\">";
 echo "<option value=\"0\">- - -</option>";
 for($i = 1; $i <= 100; $i++){
 echo "<option value=\"".$i."\">".$i."</option>";
 }
 echo "</select>";
 echo " or by row ";
 echo "<select name=\"ff_row\">";
 echo "<option value=\"0\">- - -</option>";
 for($i = 1; $i <= 10; $i++){
 echo "<option value=\"".$i."\">".$i."</option>";
 }
 echo "</select>";
 echo " and ";
 echo "<select name=\"ff_column\">";
 echo "<option value=\"0\">- - -</option>";
 for($i = 1; $i <= 10; $i++){
 echo "<option value=\"".$i."\">".$i."</option>";
 }
 echo "</select>";
 echo ")";
 echo "<br />";
 echo "#5 turn <input type=\"checkbox\" name=\"ff_overflow\" /> overflow if need ";
 echo "and turn <input type=\"checkbox\" name=\"ff_cut\" /> overflow cut if you want ";
 echo "(background color <input type=\"color\" name=\"ff_color\" value=\"#dddddd\" />, ";
 echo "<input type=\"checkbox\" name=\"ff_transparent\" /> gif/png transparent)";
 echo "<br />";
 echo "<input type=\"submit\" value=\"run test\" />";
 echo "</form>";
 
 echo "<h2>Result:</h2>".PHP_EOL;
 
 if(isset($_POST["ff_file"]) || isset($_POST["ff_file_pc"])){
 $code_buffer = "// PHP code<br />";
 $code_buffer .= "include_once(\"ImageFragmentator.class.php\");<br />";
 $code_buffer .= "$i = new ImageFragmentator;<br />";
 echo "<table>";
 echo "<tr><td>ORIGINAL FILE<br /> </td><td>FRAGMENT(S)<br />style=\"border: 1px solid #00ff00;\"</td><td>INFORMATIONS<br />$key = $value</td></tr>";
 echo "<tr>";
 echo "<td style=\"vertical-align: top;\">";
 //var_dump($_FILES);
 
 if(isset($_FILES["ff_file_pc"]) && $_FILES["ff_file_pc"]["error"] != 4){
 $name = $_FILES["ff_file_pc"]["name"];
 move_uploaded_file($_FILES["ff_file_pc"]["tmp_name"], $name);
 }
 else{
 $name = "./ImageFragmentator.testimage.".$_POST["ff_file"];
 }
 //echo $name;
 
 echo "<img src=\"".$name."\" alt=\"[FILE NOT FOUND]\" />";
 echo "</td>";
 echo "<td style=\"vertical-align: top;\">";
 $ins->ifSetFragmentsMimeType($_POST["ff_output"]);
 $code_buffer .= "$i->ifSetFragmentsMimeType(\"".$_POST["ff_output"]."\"); // default is \"image/jpeg\"<br />";
 if(isset($_POST["ff_overflow"])){
 $ins->ifSetOverflow($_POST["ff_overflow"]);
 $code_buffer .= "$i->ifSetOverflow(\"".$_POST["ff_overflow"]."\"); // default is false<br />";
 }
 if(isset($_POST["ff_cut"])){
 $ins->ifSetOverflowCut($_POST["ff_cut"]);
 $code_buffer .= "$i->ifSetOverflowCut(\"".$_POST["ff_cut"]."\"); // default is false<br />";
 }
 if(isset($_POST["ff_transparent"])){
 $ins->ifSetOverflowAlpha($_POST["ff_transparent"]);
 $code_buffer .= "$i->ifSetOverflowAlpha(\"".$_POST["ff_transparent"]."\"); // default is false<br />";
 }
 $ins->ifSetOverflowColor($_POST["ff_color"]);
 $code_buffer .= "$i->ifSetOverflowColor(\"".$_POST["ff_color"]."\"); // default is '000000'<br />";
 
 if($_POST["ff_action"] === "save"){
 $ins->ifSave($name, $_POST["ff_width"], $_POST["ff_height"], $_POST["ff_pattern"]);
 $code_buffer .= "$i->ifSave(\"".$name."\", ".$_POST["ff_width"].", ".$_POST["ff_height"].", \"".$_POST["ff_pattern"]."\");<br />";
 $info = $ins->ifGetInfo();
 foreach($info["fragments-paths"] as $key => $value){
 echo "<img src=\"".$value."\" alt=\"[ERROR]\" title=\"".$value."\" style=\"border: 1px solid #00ff00; margin: 2px;\" />";
 if(($key + 1) % $info["fragments-x"] === 0){
 echo "<br />";
 }
 }
 echo "list of files:<br />";
 foreach($info["fragments-paths"] as $value){
 echo $value."<br />";
 }
 }
 else{
 $file = explode(DIRECTORY_SEPARATOR, __FILE__);
 $file = end($file);
 $row = 0;
 $column = 0;
 // by order
 if($_POST["ff_order"] != 0){
 $row = $_POST["ff_order"]; // because if exist only row that row is order number
 //echo $name;
 echo "<img src=\"".$file."?ff_file=".$name."&ff_width=".$_POST["ff_width"]."&ff_height=".$_POST["ff_height"]."&ff_row=".$row."&ff_column=".$column."\" style=\"border: 1px solid #00ff00;\" />";
 $code_buffer .= "$i->ifReturn(\"".$name."\", ".$_POST["ff_width"].", ".$_POST["ff_height"].", ".$row.");<br />";
 }
 else{
 // by row and column
 if(($_POST["ff_row"] != 0) && ($_POST["ff_column"] != 0)){
 $row = $_POST["ff_row"];
 $column = $_POST["ff_column"];
 echo "<img src=\"".$file."?ff_file=".$name."&ff_width=".$_POST["ff_width"]."&ff_height=".$_POST["ff_height"]."&ff_row=".$row."&ff_column=".$column."\" />";
 $code_buffer .= "$i->ifReturn(\"".$name."\", ".$_POST["ff_width"].", ".$_POST["ff_height"].", ".$row.", ".$column.");<br />";
 
 }
 else{
 
 echo "By careful!<br />If you selected 'return one fragment' action<br />and you not selected 'order'<br />must by selected 'row' and 'column'.<br />";
 }
 }
 echo "<br />";
 }
 echo "</td>";
 echo "<td style=\"vertical-align: top;\">";
 
 $info = $ins->ifGetInfo();
 foreach($info as $k => $v){
 if(!is_array($v)){
 echo $k." = ".$v."<br />";
 }
 }
 echo "<dir style=\"font-size: 10px; font-family: 'Courier New', Courier, monospace; Border: 1px solid #000000; padding: 5px; background-color: #dddddd;\">";
 echo $code_buffer;
 echo "</dir>";
 echo "</td>";
 echo "</tr>";
 echo "</table>";
 }
 else{
 echo "Not result. Please use settings formular.";
 }
 
 ?>
 |