<?php error_reporting(E_ALL); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Categories Class Test .. By Shadi Ali</title>
<style>
.code_div{
border:dashed #006600 1px;
background:#E8FFEB;
font-family:Georgia, "Times New Roman", Times, serif;
font-size:11px;
width:90%;
padding:5px;
}
</style>
</head>
<body style="font-family:Tahoma">
<p>
<?php
// connect to database
mysql_connect("localhost","root","");
mysql_select_db("testing");
require_once("categories.class.php");
// Simple Usage
if(!isset($_GET["id"])) $_GET["id"] =0;
$ctg_id = $_GET["id"];
$categories = new categories;
$categories->name_prefix = " ";
?>
</p>
<p>Here is it a Html Menu:</p>
<br>
<div class="code_div"> <code><font color="#000000"><font color="#0000bb">$categories </font><font color="#007700">= new </font><font color="#0000bb">categories</font><font color="#007700">; </font></font><br><font color="#000000"><font color="#ff8000"> </font><font color="#0000bb">$output </font><font color="#007700">= </font><font color="#0000bb">$categories</font><font color="#007700">-></font><font color="#0000bb">html_output</font><font color="#007700">(</font><font color="#0000bb">$ctg_id</font><font color="#007700">); <br>
echo </font><font color="#0000bb">$output</font><font color="#007700">;</font></font></code> </div>
<p>
<?
// lets display the categories
$output = $categories->html_output($ctg_id);
echo $output;
?>
</p>
<hr>
<p>now I'll modify the $HtmlTree value a bit.</p>
<div class="code_div"> <code><font color="#000000"><font color="#0000bb">$categories</font><font color="#007700">-></font><font color="#0000bb">HtmlTree </font><font color="#007700">= array( <br>
</font><font color="#dd0000">"header" </font><font color="#007700">=> </font><font color="#dd0000">"<table width=200px border=0 cellpadding=2 cellspacing=2>"</font><font color="#007700">, <br>
</font><font color="#dd0000">"BodyUnselected" </font><font color="#007700">=> </font><font color="#dd0000">'<tr><td bgcolor=#C4D9FD >[prefix]&raquo;<a href="?id=[id]"><font color=#53507A>[name]</font></a></td></tr>'</font><font color="#007700">, <br>
</font><font color="#dd0000">"BodySelected" </font><font color="#007700">=> </font><font color="#dd0000">'<tr><td bgcolor="#E4DB2C">[prefix]&bull;<a href="?id=[id]"><strong><font color="#000000">[name]</font></strong></a></td></tr>'</font><font color="#007700">, <br>
</font><font color="#dd0000">"footer" </font><font color="#007700">=> </font><font color="#dd0000">'</table>'</font><font color="#007700">, <br>
); <br>
<br>
</font><font color="#0000bb">$output </font><font color="#007700">= </font><font color="#0000bb">$categories</font><font color="#007700">-></font><font color="#0000bb">html_output</font><font color="#007700">(</font><font color="#0000bb">$ctg_id</font><font color="#007700">); <br>
echo </font><font color="#0000bb">$output</font><font color="#007700">; </font></font></code> </div>
<?php
$categories->HtmlTree = array(
"header" => "<table width=200px border=0 cellpadding=2 cellspacing=2>",
"BodyUnselected" => '<tr><td bgcolor=#C4D9FD >[prefix]»<a href="?id=[id]"><font color=#53507A>[name]</font></a></td></tr>',
"BodySelected" => '<tr><td bgcolor="#E4DB2C">[prefix]•<a href="?id=[id]"><strong><font color="#000000">[name]</font></strong></a></td></tr>',
"footer" => '</table>',
);
$output = $categories->html_output($ctg_id);
echo $output;
?>
<hr>
<?
// lets get an array of the categories for our works
$categories = new categories;
$categories_list = $categories->build_list();
// lets do some actions
if(!isset($_REQUEST['act'])) $_REQUEST['act'] = "";
$act = $_REQUEST["act"];
switch($act)
{
case "add":
// lets add new category
// $categories->add_new( category parent , category name , description , icon path , group )
$categories->add_new($_POST['parent'] , $_POST["name"] , $_POST["desc"] , $_POST["icon"] );
echo '<script>alert("Category was inserted successfully into database");
location="class_categories_test.php";
</script>';
break;
case "delete":
$categories->delete($_GET["id"]);
echo '<script>alert("Category and Sub-Categories was successfully deleted");
location="class_categories_test.php";
</script>';
break;
case "_update":
$cat = $categories->fetch($_GET["id"]);
?>
<form name="form1" method="post" action="">
<p> the form below will execute the following. <br>
</p>
<div class="code_div"> <code><font color="#000000"><font color="#007700"> </font><font color="#0000bb">$categories</font><font color="#007700">-></font><font color="#0000bb">update</font><font color="#007700">(</font><font color="#0000bb">$_POST</font><font color="#007700">[</font><font color="#dd0000">"id"</font><font color="#007700">] , </font><font color="#0000bb">$_POST</font><font color="#007700">[</font><font color="#dd0000">"parent"</font><font color="#007700">] , </font><font color="#0000bb">$_POST</font><font color="#007700">[</font><font color="#dd0000">"name"</font><font color="#007700">] , </font><font color="#0000bb">$_POST</font><font color="#007700">[</font><font color="#dd0000">"desc"</font><font color="#007700">] , </font><font color="#0000bb">$_POST</font><font color="#007700">[</font><font color="#dd0000">"icon"</font><font color="#007700">] );</font></font></code> </div>
<br>
<table width="90%" border="0" align="center" cellpadding="2" cellspacing="0">
<tr>
<td colspan="3"><div align="center">Edit Category </div></td>
</tr>
<tr>
<td width="13%">Child Of : </td>
<td width="1%">:</td>
<td width="86%">
<select name="parent" id="parent">
<option value="0" selected>ROOT</option>
<?
foreach($categories_list as $c)
{
if($cat["id"] == $c["id"]) continue; // we don't list the category to be child of itself !!
?>
<option value="<?=$c["id"]?>" <? if($c["id"] == $cat["parent"]) echo "selected"; ?> ><?=$c["prefix"]?>»<?=$c["c_name"]?></option>
<?
}
?>
</select>
</td>
</tr>
<tr>
<td>Name:</td>
<td>:</td>
<td><input name="name" type="text" id="name" value="<?=$cat["c_name"]?>" size="20"></td>
</tr>
<tr>
<td>Description:</td>
<td>:</td>
<td><textarea name="desc" cols="40" rows="3" id="desc"><?=$cat["c_desc"]?>
</textarea></td>
</tr>
<tr>
<td>Icon:</td>
<td>:</td>
<td><input name="icon" type="text" id="icon" value="<?=$cat["c_icon"]?>" size="30"></td>
</tr>
<tr>
<td colspan="3"><div align="right">
<input name="act" type="hidden" value="update">
<input name="id" type="hidden" value="<?=$ctg_id?>">
<input type="submit" name="Submit" value="Save">
</div></td>
</tr>
</table>
</form>
<?
die();
break;
case "update":
$categories->update($_POST["id"] , $_POST["parent"] , $_POST["name"] , $_POST["desc"] , $_POST["icon"] );
echo '<script>alert("Category was updated successfully!");
location="class_categories_test.php";
</script>';
break;
}
?>
<p align="center"> </p>
<p align="center"><strong>You may list all your categories expanded like this</strong></p>
<div class="code_div">
<code><font color="#000000"><font color="#0000bb">$categories </font><font color="#007700">= new </font><font color="#0000bb">categories</font><font color="#007700">; <br>
</font><font color="#0000bb">$categories_list </font><font color="#007700">= </font><font color="#0000bb">$categories</font><font color="#007700">-></font><font color="#0000bb">build_list</font><font color="#007700">(0);</font></font></code>
<br>// $categories_list is now an array and you should use foreach command to print something like the following list.
</div>
<br>
<table width="90%" border="0" align="center" cellpadding="2" cellspacing="0">
<tr>
<td bgcolor="#4180BE"><font color="#FFFFFF"><strong>
Categories List:
</strong></font></td>
</tr>
<?
foreach($categories_list as $c)
{
?>
<tr>
<td>
<?=$c["prefix"]?>»<?=$c["c_name"]?> - [<a href="?act=_update&id=<?=$c["id"]?>">Edit</a> - <a href="?act=delete&id=<?=$c["id"]?>">Delete</a>]
</td>
</tr>
<?
}
?>
</table>
<p align="center"> </p>
<p align="center"><strong>Or you may also use it in a combo box</strong></p>
<table width="0" border="0" align="center" cellpadding="2" cellspacing="0">
<tr>
<td width="72"><select name="category_id" id="category_id">
<?
foreach($categories_list as $c)
{
?>
<option value="<?=$c["id"]?>"><?=$c["prefix"]?>»<?=$c["c_name"]?> </option>
<?
}
?>
</select></td>
<td width="0"><input type="button" name="Button" value="Edit" onClick="location='class_categories_test.php?act=_update&id='+document.getElementById('category_id').value;"></td>
<td width="0"><input type="button" name="Button" value="Delete" onClick="location='class_categories_test.php?act=delete&id='+document.getElementById('category_id').value;"></td>
</tr>
</table>
<p> </p>
<p><hr></p>
<form name="form1" method="post" action="">
the form below will execute the following.
<br>
<div class="code_div">
<code><font color="#000000"><font color="#ff8000"> </font><font color="#0000bb">$categories</font><font color="#007700">-></font><font color="#0000bb">add_new</font><font color="#007700">(</font><font color="#0000bb">$_POST</font><font color="#007700">[</font><font color="#dd0000">'parent'</font><font color="#007700">] , </font><font color="#0000bb">$_POST</font><font color="#007700">[</font><font color="#dd0000">"name"</font><font color="#007700">] , </font><font color="#0000bb">$_POST</font><font color="#007700">[</font><font color="#dd0000">"desc"</font><font color="#007700">] , </font><font color="#0000bb">$_POST</font><font color="#007700">[</font><font color="#dd0000">"icon"</font><font color="#007700">] ); </font></font></code></div><br>
<table width="400" border="0" align="center" cellpadding="2" cellspacing="0">
<tr>
<td colspan="3" bgcolor="#4180BE"><div align="center"><strong><font color="#FFFFFF">Add New Category </font></strong></div></td>
</tr>
<tr>
<td width="13%">Child Of : </td>
<td width="1%">:</td>
<td width="86%"><select name="parent" id="parent">
<option value="0">ROOT</option>
<?
foreach($categories_list as $c)
{
?>
<option value="<?=$c["id"]?>" >
<?=$c["prefix"]?>»<?=$c["c_name"]?>
</option>
<?
}
?>
</select></td>
</tr>
<tr>
<td>Name:</td>
<td>:</td>
<td><input name="name" type="text" id="name" size="20"></td>
</tr>
<tr>
<td>Description:</td>
<td>:</td>
<td><textarea name="desc" cols="40" rows="3" id="desc"></textarea></td>
</tr>
<tr>
<td>Icon:</td>
<td>:</td>
<td><input name="icon" type="text" id="icon" value="http://" size="30"></td>
</tr>
<tr>
<td colspan="3"><div align="right">
<input name="act" type="hidden" value="add">
<input type="submit" name="Submit" value="Add">
</div></td>
</tr>
</table>
</form>
<p align="center"> </p>
</body>
</html>
|