[Phpbbkb-checkins] SF.net SVN: phpbbkb: [34] root
Status: Alpha
Brought to you by:
markthedaemon
From: <so...@us...> - 2006-12-29 23:45:12
|
Revision: 34 http://svn.sourceforge.net/phpbbkb/?rev=34&view=rev Author: softphp Date: 2006-12-29 15:45:05 -0800 (Fri, 29 Dec 2006) Log Message: ----------- - Added more to the acp, still buggy though, especially the sort function - Gotta fix some bbcode, some links here and there, need a native englishman to look the lang vars over and we're ready to go alpha. Modified Paths: -------------- install.xml root/admin/admin_kb.php root/kb.php root/language/lang_english/lang_kb.php Added Paths: ----------- root/templates/subSilver/admin/kb_cats.tpl Modified: install.xml =================================================================== --- install.xml 2006-12-28 01:47:23 UTC (rev 33) +++ install.xml 2006-12-29 23:45:05 UTC (rev 34) @@ -41,6 +41,13 @@ <username>ToonArmy</username> <contributions /> </author> + <author> + <realname>Andreas Nielsen</realname> + <email>Lor...@ho...</email> + <username>Imladris</username> + <homepage>http://blog.softphp.dk</homepage> + <contributions /> + </author> </author-group> <mod-version> <major>0</major> @@ -58,5 +65,17 @@ </installation> <meta name="generator" content="Phpbb.ModTeam.Tools (c#)" /> </header> - <action-group /> + <action-group> + <open src="language/lang_english/lang_admin.php"> + <edit> + <find>// +// That's all Folks! +// ------------------------------------------------- + +?></find> + <action type="before-add">$lang['KB'] = "Knowledge Base"; +$lang['Categories'] = "Category Management";</action> + </edit> + </open> + </action-group> </mod> \ No newline at end of file Modified: root/admin/admin_kb.php =================================================================== --- root/admin/admin_kb.php 2006-12-28 01:47:23 UTC (rev 33) +++ root/admin/admin_kb.php 2006-12-29 23:45:05 UTC (rev 34) @@ -27,6 +27,10 @@ return; } +$phpbb_root_path = "./../"; +require($phpbb_root_path . 'extension.inc'); +require('./pagestart.' . $phpEx); + // Get constants and functions include($phpbb_root_path . "kb/constants." . $phpEx); include($phpbb_root_path . "kb/functions." . $phpEx); @@ -79,15 +83,18 @@ 'L_CAT_PARENT' => $lang['kbadm_cat_parent'], 'CAT_TITLE' => $cat['cat_title'], - 'CAT_DESC' => $cat['cat_desc'], + 'DESCRIPTION' => $cat['cat_desc'], 'S_SUBMIT_VALUE' => $lang['kbadm_editcat'], 'S_PARENT' => $parent, 'S_HIDDEN_FIELDS' => $s_hidden_fields, - 'S_FORUM_ACTION' => append_sid("admin_kb." . $phpEx . "?edit=" . $edit) + 'S_FORUM_ACTION' => append_sid("admin_kb." . $phpEx . "?mode=cats&edit=" . $edit)) ); $template->pparse('body'); + + include('./page_footer_admin.'.$phpEx); + exit; } else { @@ -140,15 +147,18 @@ 'L_CAT_PARENT' => $lang['kbadm_cat_parent'], 'CAT_TITLE' => $cat['cat_title'], - 'CAT_DESC' => $cat['cat_desc'], + 'DESCRIPTION' => $cat['cat_desc'], 'S_SUBMIT_VALUE' => $lang['kbadm_editcat'], 'S_PARENT' => $parent, 'S_HIDDEN_FIELDS' => $s_hidden_fields, - 'S_FORUM_ACTION' => append_sid("admin_kb." . $phpEx . "?edit=" . $edit) + 'S_FORUM_ACTION' => append_sid("admin_kb." . $phpEx . "?mode=cats&edit=" . $edit)) ); $template->pparse('body'); + + include('./page_footer_admin.'.$phpEx); + exit; } else { @@ -172,7 +182,7 @@ } // And a message here somewhere - $message = $lang['kbadm_editcat_success'] . '<br /><br />' . sprintf($lang['kbadm_Click_return_catadmin'], '<a href="' . append_sid("admin_kb." . $phpEx) . '?mode=cats">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>'); + $message = $lang['kbadm_editcat_success'] . '<br /><br />' . sprintf($lang['kbadm_Click_return_catadmin'], '<a href="' . append_sid("admin_kb." . $phpEx . "?mode=cats") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>'); message_die(GENERAL_MESSAGE, $message); } @@ -201,11 +211,14 @@ 'L_YES' => $lang['Yes'], 'L_NO' => $lang['No'], - 'S_CONFIRM_ACTION' => append_sid("admin_kb." . $phpEx . "?delete=true"), + 'S_CONFIRM_ACTION' => append_sid("admin_kb." . $phpEx . "?mode=cats&delete=true"), 'S_HIDDEN_FIELDS' => $s_hidden_fields) ); $template->pparse('confirm_body'); + + include('./page_footer_admin.'.$phpEx); + exit; } elseif($confirm) // Double check user confirmed { @@ -224,7 +237,7 @@ message_die(GENERAL_ERROR, "Couldn't delete category from articlecats table.", "", __LINE__, __FILE__, $sql); } - $message = $lang['kbadm_delcat_success'] . '<br /><br />' . sprintf($lang['kbadm_Click_return_catadmin'], '<a href="' . append_sid("admin_kb." . $phpEx) . '?mode=cats">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>'); + $message = $lang['kbadm_delcat_success'] . '<br /><br />' . sprintf($lang['kbadm_Click_return_catadmin'], '<a href="' . append_sid("admin_kb." . $phpEx . "?mode=cats") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>'); // Delete all articles in this category or set cat_id to another one or? I'm not sure how we should handle this? message_die(GENERAL_MESSAGE, $message); @@ -253,10 +266,13 @@ 'S_SUBMIT_VALUE' => $lang['kbadm_addcat'], 'S_PARENT' => $parent, 'S_HIDDEN_FIELDS' => $s_hidden_fields, - 'S_FORUM_ACTION' => append_sid("admin_kb." . $phpEx) + 'S_FORUM_ACTION' => append_sid("admin_kb." . $phpEx . "mode=cats")) ); $template->pparse('body'); + + include('./page_footer_admin.'.$phpEx); + exit; } else { @@ -299,13 +315,19 @@ 'L_CAT_DESCRIPTION' => $lang['kbadm_cat_desc'], 'L_CAT_PARENT' => $lang['kbadm_cat_parent'], + 'CAT_TITLE' => $HTTP_POST_VARS['title'], + 'DESCRIPTION' => $HTTP_POST_VARS['desc'], + 'S_SUBMIT_VALUE' => $lang['kbadm_addcat'], 'S_PARENT' => $parent, 'S_HIDDEN_FIELDS' => $s_hidden_fields, - 'S_FORUM_ACTION' => append_sid("admin_kb." . $phpEx . "?edit=" . $edit) + 'S_FORUM_ACTION' => append_sid("admin_kb." . $phpEx . "?mode=cats&edit=" . $edit)) ); $template->pparse('body'); + + include('./page_footer_admin.'.$phpEx); + exit; } else { @@ -322,7 +344,7 @@ sort_cats("add", $db->sql_nextid(), 0, $parent); // And a message here somewhere - $message = $lang['kbadm_addcat_success'] . '<br /><br />' . sprintf($lang['kbadm_Click_return_catadmin'], '<a href="' . append_sid("admin_kb." . $phpEx) . '?mode=cats">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>'); + $message = $lang['kbadm_addcat_success'] . '<br /><br />' . sprintf($lang['kbadm_Click_return_catadmin'], '<a href="' . append_sid("admin_kb." . $phpEx . "?mode=cats") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>'); message_die(GENERAL_MESSAGE, $message); } @@ -333,16 +355,103 @@ { $sort = explode("|", $sort); - // ok so ?sort=id|id2|up/down - sort_cats("", $sort[0], $sort[2], $sort[1]); // Put id2 in the level argument, nvm that :) + // ok so ?sort=id,id2|up/down|level + sort_cats("", $sort[0], $sort[1], $sort[2]); // Put id2 in the level argument, nvm that :) // And yes yet another message here - $message = $lang['kbadm_sortcat_success'] . '<br /><br />' . sprintf($lang['kbadm_Click_return_catadmin'], '<a href="' . append_sid("admin_kb." . $phpEx) . '?mode=cats">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>'); + $message = $lang['kbadm_sortcat_success'] . '<br /><br />' . sprintf($lang['kbadm_Click_return_catadmin'], '<a href="' . append_sid("admin_kb." . $phpEx . "?mode=cats") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>'); message_die(GENERAL_MESSAGE, $message); } // Show categories as list + $cats = get_cats_structure(); + + $template->set_filenames(array( + 'body' => 'admin/kb_cats.tpl') + ); + + $template->assign_vars(array( + 'L_CATEGORIES' => $lang['kb_categories'], + 'L_EDITCAT' => $lang['kbadm_editcat'], + 'L_MOVECAT_UP' => $lang['kbadm_movecatup'], + 'L_MOVECAT_DOWN' => $lang['kbadm_movecatdown'], + 'L_DELCAT' => $lang['kbadm_delcat'], + 'L_HEADER' => $lang['Categories'], + 'L_EXPLAIN' => $lang['kbadm_maincat_explain']) + ); + + if($total_catrows = count($cats)) + { + for($i = 0; $i < $total_catrows; $i++) + { + //$auth = kb_auth("view", $catrows[$i]['cat_id'], $userdata); + + // auth not included in alpha + //if($auth['auth_view']) + //{ + // Ok display one cat here + $template->assign_block_vars('catrow', array( + // Name 'nd stuff + 'CAT_TITLE' => $cats[$i]['cat_title'], + 'CAT_DESC' => $cats[$i]['cat_desc'], + + // Links + 'U_EDITCAT' => append_sid("admin_kb." . $phpEx . "?mode=cats&edit=" . $cats[$i]['cat_id']), + 'U_DELCAT' => append_sid("admin_kb." . $phpEx . "?mode=cats&delete=" . $cats[$i]['cat_id']), + // sort=id,id2|up/down|level + 'U_MOVECAT_UP' => append_sid("admin_kb." . $phpEx . "?mode=cats&s=" . $cats[$i]['cat_id'] . "," . $cats[$i - 1]['cat_id'] . "|up|" . $cats[$i]['cat_main']), + 'U_MOVECAT_DOWN' => append_sid("admin_kb." . $phpEx . "?mode=cats&s=" . $cats[$i]['cat_id'] . "," . $cats[$i + 1]['cat_id'] . "|down|" . $cats[$i]['cat_main']), + + // Image + 'FORUM_FOLDER_IMG' => "../" . $images['forum']) // Stolen :D + ); + + if($total_subcats = count($cats[$i]['subcats'])) + { + // Contains subcats, show them + $template->assign_block_vars('catrow.switch_subcat', array( + 'L_SUBCATS' => $lang['kb_subcats']) + ); + + for($j = 0; $j < $total_subcats; $j++) + { + //$auth = kb_auth("view", $subcats[$j]['cat_id'], $userdata); + + // auth not included in alpha + //if($auth['auth_view']) + //{ + // Show the subcat + $template->assign_block_vars('catrow.subcatrow', array( + 'SUBCAT_TITLE' => $cats[$i]['subcats'][$j]['cat_title'], + 'SUBCAT_DESC' => $cats[$i]['subcats'][$j]['cat_desc'], + + // Links + 'U_EDITSUBCAT' => append_sid("admin_kb." . $phpEx . "?mode=cats&edit=" . $cats[$i]['subcats'][$j]['cat_id']), + 'U_DELSUBCAT' => append_sid("admin_kb." . $phpEx . "?mode=cats&delete=" . $cats[$i]['subcats'][$j]['cat_id']), + // sort=id,id2|up/down|level + 'U_MOVESUBCAT_UP' => append_sid("admin_kb." . $phpEx . "?mode=cats&s=" . $cats[$i]['subcats'][$j]['cat_id'] . "," . $cats[$i]['subcats'][$j - 1]['cat_id'] . "|up|" . $cats[$i]['subcats'][$j]['cat_main']), + 'U_MOVESUBCAT_DOWN' => append_sid("admin_kb." . $phpEx . "?mode=cats&s=" . $cats[$i]['subcats'][$j]['cat_id'] . "," . $cats[$i]['subcats'][$j + 1]['cat_id'] . "|down|" . $cats[$i]['subcats'][$j]['cat_main']), + + 'TOPIC_FOLDER_IMG' => "../" . $images['folder']) // Stolen :D + ); + //} // if auth view + } // for subcats + + $template->assign_block_vars('catrow.switch_subcat_close', array()); + } // if subcats + //} // auth view + } // for cats + + $template->pparse('body'); + }// total cats + else + { + message_die(GENERAL_MESSAGE, $lang['No_kb_cats']); + } + + include('./page_footer_admin.'.$phpEx); + exit; break; case "auth": // For later use @@ -412,6 +521,8 @@ function sort_cats($type = "", $id = 0, $dir = 0, $level = 0) { + global $db; + if($type == "add") { $sql = "SELECT cat_id @@ -493,31 +604,49 @@ { if($dir == "up") { + $ids = explode(",", $id); + $sql = "UPDATE " . KB_CATEGORIES_TABLE . " SET cat_order = cat_order - 1 - WHERE cat_id = '" . $id . "'; - UPDATE " . KB_CATEGORIES_TABLE . " + WHERE cat_id = '" . $ids[0] . "';"; + + $sql2 = "UPDATE " . KB_CATEGORIES_TABLE . " SET cat_order = cat_order + 1 - WHERE cat_id = '" . $dir . "';"; + WHERE cat_id = '" . $ids[1] . "' + AND cat_main = '" . $level . "';"; // to ensure they are in the same level. if(!$db->sql_query($sql)) { message_die(GENERAL_ERROR, "Couldn't alter categories order.", "", __LINE__, __FILE__, $sql); } + + if(!$db->sql_query($sql2)) + { + message_die(GENERAL_ERROR, "Couldn't alter categories order.", "", __LINE__, __FILE__, $sql); + } } elseif($dir == "down") { + $ids = explode(",", $id); + $sql = "UPDATE " . KB_CATEGORIES_TABLE . " SET cat_order = cat_order + 1 - WHERE cat_id = '" . $id . "'; - UPDATE " . KB_CATEGORIES_TABLE . " + WHERE cat_id = '" . $ids[0] . "';"; + + $sql2 = "UPDATE " . KB_CATEGORIES_TABLE . " SET cat_order = cat_order - 1 - WHERE cat_id = '" . $dir . "';"; + WHERE cat_id = '" . $ids[1] . "' + AND cat_main = '" . $level . "';"; // to ensure they are in the same level if(!$db->sql_query($sql)) { message_die(GENERAL_ERROR, "Couldn't alter categories order.", "", __LINE__, __FILE__, $sql); } + + if(!$db->sql_query($sql2)) + { + message_die(GENERAL_ERROR, "Couldn't alter categories order.", "", __LINE__, __FILE__, $sql); + } } return; } Modified: root/kb.php =================================================================== --- root/kb.php 2006-12-28 01:47:23 UTC (rev 33) +++ root/kb.php 2006-12-29 23:45:05 UTC (rev 34) @@ -88,10 +88,11 @@ { for($i = 0; $i < $total_catrows; $i++) { - $auth = kb_auth("view", $catrows[$i]['cat_id'], $userdata); + //$auth = kb_auth("view", $catrows[$i]['cat_id'], $userdata); - if($auth['auth_view']) - { + // auth not included in alpha + //if($auth['auth_view']) + //{ // Ok display one cat here $template->assign_block_vars('catrow', array( 'CAT_TITLE' => $catrows[$i]['cat_title'], @@ -125,10 +126,11 @@ for($j = 0; $j < $total_subcats; $j++) { - $auth = kb_auth("view", $subcats[$j]['cat_id'], $userdata); + //$auth = kb_auth("view", $subcats[$j]['cat_id'], $userdata); - if($auth['auth_view']) - { + // auth not included in alpha + //if($auth['auth_view']) + //{ // Show the subcat $k = $j + 1; $subcat_comma = ( isset($subcats[$k]) ) ? ", " : "."; @@ -137,10 +139,10 @@ 'SUBCAT_TITLE' => $subcats[$j]['cat_title'], 'SUBCAT_COMMA' => $subcat_comma) ); - } // if auth view + //} // if auth view } // for subcats } // if subcats - } // auth view + //} // auth view } // for cats }// total cats else Modified: root/language/lang_english/lang_kb.php =================================================================== --- root/language/lang_english/lang_kb.php 2006-12-28 01:47:23 UTC (rev 33) +++ root/language/lang_english/lang_kb.php 2006-12-29 23:45:05 UTC (rev 34) @@ -29,7 +29,7 @@ // Normal Page $lang['kb_categories'] = "Knowledge Base Categories"; $lang['kb_articles'] = "Articles"; -$lang['kb_subcats'] = "Sub categories"; +$lang['kb_subcats'] = "Subcategories"; $lang['kb_remove_installfile'] = "Please ensure that you remove the kb_install.php file located in your phpBB root folder. Knowledge Base won't work before that has been done!"; $lang['No_kb_cats'] = "No knowledge base categories has been added."; $lang['kb_cat_noexist'] = "The category you chose does not exist."; @@ -58,22 +58,28 @@ $lang['kb_posted_by'] = "This article was submitted by %s on %s, it was last updated on %s."; // Admin -$lang['kbadm_header_editcat'] -$lang['kbadm_explain_editcat'] -$lang['kbadm_cat_settings'] -$lang['kbadm_cat_title'] -$lang['kbadm_cat_desc'] -$lang['kbadm_cat_parent'] -$lang['kbadm_empty_cat_title'] -$lang['kbadm_empty_cat_desc'] -$lang['kbadm_confirm_deletecat'] -$lang['kbadm_Click_return_catadmin'] -$lang['kbadm_header_addcat'] -$lang['kbadm_explain_addcat'] -$lang['kbadm_addcat'] +$lang['kbadm_header_editcat'] = "Edit Category"; +$lang['kbadm_explain_editcat'] = "Here you can edit the chosen category, specifying its name, parent category adn description."; +$lang['kbadm_cat_settings'] = "Category Properties"; +$lang['kbadm_cat_title'] = "Category Title"; +$lang['kbadm_cat_desc'] = "Category Description"; +$lang['kbadm_cat_parent'] = "Parent Category"; +$lang['kbadm_empty_cat_title'] = "The Category Title submitted was empty."; +$lang['kbadm_empty_cat_desc'] = "The Category Description submitted was empty."; +$lang['kbadm_confirm_deletecat'] = "Are you sure you want to delete this category?"; +$lang['kbadm_Click_return_catadmin'] = "Click %shere%s to return to category administration."; +$lang['kbadm_header_addcat'] = "Add Category"; +$lang['kbadm_explain_addcat'] = "From here you can add a new category."; +$lang['kbadm_addcat'] = "Add"; +$lang['kbadm_editcat'] = "Edit"; -$lang['kbadm_delcat_success'] -$lang['kbadm_editcat_success'] -$lang['kbadm_addcat_success'] -$lang['kbadm_sortcat_success'] +$lang['kbadm_movecatup'] = "Move Up"; +$lang['kbadm_movecatdown'] = "Move Down"; +$lang['kbadm_delcat'] = "Delete"; +$lang['kbadm_maincat_explain'] = "This is the place where you can move categories up and down, create new ones and edit the already existant."; + +$lang['kbadm_delcat_success'] = "The category has been deleted successfully."; +$lang['kbadm_editcat_success'] = "The category has been edited successfully."; +$lang['kbadm_addcat_success'] = "Your new category has been added."; +$lang['kbadm_sortcat_success'] = "The category has been moved as specified."; ?> \ No newline at end of file Added: root/templates/subSilver/admin/kb_cats.tpl =================================================================== --- root/templates/subSilver/admin/kb_cats.tpl (rev 0) +++ root/templates/subSilver/admin/kb_cats.tpl 2006-12-29 23:45:05 UTC (rev 34) @@ -0,0 +1,52 @@ +<h1>{L_HEADER}</h1> + +<p>{L_EXPLAIN}</p> + +<table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline"> + <tr> + <th colspan="2" class="thCornerL" height="25" nowrap="nowrap"> {L_CATEGORIES} </th> + <th class="thCornerR" colspan="4" nowrap="nowrap"> </th> + </tr> + <tr> + <td class="catLeft" colspan="2" height="28"><span class="cattitle"> </span></td> + <td class="rowpic" colspan="4" align="right"> </td> + </tr> + <!-- BEGIN catrow --> + <tr> + <td class="row1" align="center" valign="middle" height="50"><img src="{catrow.FORUM_FOLDER_IMG}" width="46" height="25" /></td> + <td class="row1" width="100%" height="50">{catrow.CAT_TITLE}<br /> + </span> <span class="genmed">{catrow.CAT_DESC}</td> + <td class="row2" align="center" valign="middle" height="50" nowrap="nowrap"><span class="genmed"><a href="{catrow.U_EDITCAT}">{L_EDITCAT}</a></span></td> + <td class="row2" align="center" valign="middle" height="50" nowrap="nowrap"><span class="genmed"><a href="{catrow.U_MOVECAT_UP}">{L_MOVECAT_UP}</a></span></td> + <td class="row2" align="center" valign="middle" height="50" nowrap="nowrap"><span class="genmed"><a href="{catrow.U_MOVECAT_DOWN}">{L_MOVECAT_DOWN}</a></span></td> + <td class="row2" align="center" valign="middle" height="50" nowrap="nowrap"><span class="genmed"><a href="{catrow.U_DELCAT}">{L_DELCAT}</a></span></td> + </tr> + <!-- BEGIN switch_subcat --> + <tr> + <td class="catLeft" colspan="2" height="28"><span class="cattitle">{catrow.switch_subcat.L_SUBCATS}</span></td> + <td class="rowpic" colspan="4" align="right"> </td> + </tr> + <!-- END switch_subcat --> + <!-- BEGIN subcatrow --> + <tr> + <td class="row1" align="center" valign="middle" height="50"><img src="{catrow.subcatrow.TOPIC_FOLDER_IMG}" width="19" height="18" /></td> + <td class="row1" width="100%" height="50">{catrow.subcatrow.SUBCAT_TITLE}<br /> + <span class="genmed">{catrow.subcatrow.SUBCAT_DESC}</span></td> + <td class="row2" align="center" valign="middle" height="50" nowrap="nowrap"><span class="genmed"><a href="{catrow.subcatrow.U_EDITSUBCAT}">{L_EDITCAT}</a></span></td> + <td class="row2" align="center" valign="middle" height="50" nowrap="nowrap"><span class="genmed"><a href="{catrow.subcatrow.U_MOVESUBCAT_UP}">{L_MOVECAT_UP}</a></span></td> + <td class="row2" align="center" valign="middle" height="50" nowrap="nowrap"><span class="genmed"><a href="{catrow.subcatrow.U_MOVESUBCAT_DOWN}">{L_MOVECAT_DOWN}</a></span></td> + <td class="row2" align="center" valign="middle" height="50" nowrap="nowrap"><span class="genmed"><a href="{catrow.subcatrow.U_DELSUBCAT}">{L_DELCAT}</a></span></td> + </tr> + <!-- END subcatrow --> + <!-- BEGIN switch_subcat_close --> + <tr> + <td class="catBottom" align="center" valign="middle" colspan="6" height="28"> </td> + </tr> + <!-- END switch_subcat_close --> + <!-- END catrow --> + <tr> + <td class="catBottom" align="center" valign="middle" colspan="6" height="28"> </td> + </tr> +</table> + +<br clear="all" /> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |