<?php
CreateExtension("newsPHP Glossary v1.0", $nphp_notices["Glossary"], $nphp_notices["Glossary_Desc"], 4, 1, 1, "glossary");

$glosValues[0][0] = "1";
$glosValues[0][1] = $nphp_notices["Yes"];

$glosValues[1][0] = "0";
$glosValues[1][1] = $nphp_notices["No"];

CreateSubmitField("useglos", $nphp_notices["UseGlossary"], 4, $glosValues, "");

$func_settings[0][0] = 1;
$func_settings[0][1] = "HTTP_POST_VARS";

$func_settings[1][0] = 0;
$func_settings[1][1] = "HTTP_POST_VARS['useglos']";

$func_settings[2][0] = 0;
$func_settings[2][1] = "post_message";

RegisterFunction("Glossary_DoIt", NPHP_POSTNEWS, $func_settings);

/*
// Since this is an extension not many of it's
// messages are contained in the language
// file. If you wish to translate they
// are listed below in the array.
*/

if(!(isset($save)))
{
  $save = 0;
}

$nglos_notices["GlosDatNoExist"] = "I'm sorry but your glossary data file could not be found. Please make sure you have uploaded it and CHMODed it correctly.";
$nglos_notices["CannotOpen"]     = "I was unable to open the glossary file for writing. Your glossary has not been updated.";
$nglos_notices["Updated"]        = "Your glossary has been updated successfully.";
$nglos_notices["DeleteInfo"]     = "If you would like to remove a glossary item, simple delete the text in the 'Replace' and 'With' text boxes for that item. It will then be removed when you hit 'Submit'.";

if($nphp_common["qstring"] == "glossary" && $nphp_currentuser[3] >= 4)
{
 if($save != 1)
 {
  $message = "<A HREF=\"nphpd.php?main" . $nphp_common["qline"] . "\">" . $nphp_notices["Home"] . "</A> / <A HREF=\"nphpd.php?glossary" . $nphp_common["qline"] . "\">" . $nphp_notices["Glossary"] . "</A> /";
  HTMLHeader($message,$nphp_notices["Glossary"],$nphp_notices["Glossary_Desc"]);
  
  if(file_exists("glossary.dat"))
  {
    $glos_data = file("glossary.dat");
    
    echo("<FORM METHOD=\"POST\" ACTION=\"nphpd.php?glossary" . $nphp_common["qline"] . "&save=1\">\n");
    echo("<TABLE BORDER=\"0\" CELLPADDING=\"3\" CELLSPACING=\"0\">\n");
    
      echo("<TR><TD>\n");
      echo("<FONT FACE=\"Verdana, Arial, Tahoma\" SIZE=\"2\" COLOR=\"#000000\">\n");
      echo("<B>Replace</B>\n");
      echo("</FONT>\n");
      echo("</TD><TD>\n");
      echo("<FONT FACE=\"Verdana, Arial, Tahoma\" SIZE=\"2\" COLOR=\"#000000\">\n");
      echo("<B>With</B>\n");
      echo("</FONT>\n");
      echo("</TD></TR>\n");
    
    for($i = 0; $i < count($glos_data); $i++)
    {
      $glos_item_data = explode("<~>",$glos_data[$i]);
      
      echo("<TR><TD>\n");
      echo("<FONT FACE=\"Verdana, Arial, Tahoma\" SIZE=\"2\" COLOR=\"#000000\">\n");
      echo("<INPUT TYPE=\"TEXT\" SIZE=\"25\" NAME=\"glosreplace[" . $i . "][0]\" VALUE=\"" . htmlentities($glos_item_data[0]) . "\">\n");
      echo("</FONT>\n");
      echo("</TD><TD>\n");
      echo("<FONT FACE=\"Verdana, Arial, Tahoma\" SIZE=\"2\" COLOR=\"#000000\">\n");
      echo("<INPUT TYPE=\"TEXT\" SIZE=\"45\" NAME=\"glosreplace[" . $i . "][1]\" VALUE=\"" . htmlentities($glos_item_data[1]) . "\">\n");
      echo("</FONT>\n");
      echo("</TD></TR>\n");
    }
    
    for($z=1; $z < 3; $z++)
    {
      echo("<TR><TD>\n");
      echo("<FONT FACE=\"Verdana, Arial, Tahoma\" SIZE=\"2\" COLOR=\"#000000\">\n");
      echo("<INPUT TYPE=\"TEXT\" SIZE=\"25\" NAME=\"glosreplace[" . $i . "][0]\" VALUE=\"\">\n");
      echo("</FONT>\n");
      echo("</TD><TD>\n");
      echo("<FONT FACE=\"Verdana, Arial, Tahoma\" SIZE=\"2\" COLOR=\"#000000\">\n");
      echo("<INPUT TYPE=\"TEXT\" SIZE=\"45\" NAME=\"glosreplace[" . $i . "][1]\" VALUE=\"\">\n");
      echo("</FONT>\n");
      echo("</TD></TR>\n");
      $i++;
    }
    
      echo("<TR><TD COLSPAN=\"2\">\n");
      echo("<FONT FACE=\"Verdana, Arial, Tahoma\" SIZE=\"2\" COLOR=\"#000000\">\n");
      echo("<INPUT TYPE=\"SUBMIT\" VALUE=\"" . $nphp_notices["Submit"] . "\"> <INPUT TYPE=\"RESET\" VALUE=\"" . $nphp_notices["Reset"] . "\">\n");
      echo("</FONT>\n");
      echo("</TD></TR>\n");
    
    echo("</TABLE><BR>\n");
    echo("</FORM>\n");
    echo($nglos_notices["DeleteInfo"]);
  }
  else
  {
    echo($nglos_notices["GlosDatNoExist"]);
  }
  
  HTMLFooter();
  exit();
 }
 else
 {
 // SAVE THE GLOSSARY
 
  if(!($gloss_file = fopen("glossary.dat","w")))
  {
    $message = "<A HREF=\"nphpd.php?main" . $nphp_common["qline"] . "\">" . $nphp_notices["Home"] . "</A> / <A HREF=\"nphpd.php?glossary" . $nphp_common["qline"] . "\">" . $nphp_notices["Glossary"] . "</A> /";
    HTMLHeader($message,$nphp_notices["Glossary"],$nphp_notices["Glossary_Desc"]);
    echo($nglos_notices["CannotOpen"]);
    HTMLFooter();
  }
  else
  {
   for($i=0; $i < count($glosreplace); $i++)
   {
    if($glosreplace[$i][0] != "" && $glosreplace[$i][1] != "")
    {
     fputs($gloss_file, stripslashes($glosreplace[$i][0]) . "<~>" . eregi_replace("[\n\r]","",stripslashes($glosreplace[$i][1])) . "\n");
    }
   }
   fclose($gloss_file);
   
    $message = "<A HREF=\"nphpd.php?main" . $nphp_common["qline"] . "\">" . $nphp_notices["Home"] . "</A> / <A HREF=\"nphpd.php?glossary" . $nphp_common["qline"] . "\">" . $nphp_notices["Glossary"] . "</A> /";
    HTMLHeader($message,$nphp_notices["Glossary"],$nphp_notices["Glossary_Desc"]);
    echo($nglos_notices["Updated"]);
    HTMLFooter();
    exit();
  }
 
 }
}

function Glossary_DoIt($temp, $settingvalue, &$original)
{
	$post_message = $original;
	if($settingvalue != 0)
	{
		$glos_data = file("glossary.dat");
		for($i = 0; $i < count($glos_data); $i++)
		{
			$glos_item_data = explode("<~>",$glos_data[$i]);

			echo("<!-- REPLACING [" . eregi_replace("[\n\r]","",$glos_item_data[0]) . "] WITH [" . eregi_replace("[\n\r]","",$glos_item_data[1]) . "] -->\n");
			$post_message = eregi_replace(eregi_replace("[\n\r]","",$glos_item_data[0]),eregi_replace("[\n\r]","",$glos_item_data[1]),$post_message);
		}
	 $original = $post_message;
	}

}

?>