<?
 
/*
 
$Author: colineberhardt $
 
$Date: 2004/11/12 16:30:20 $
 
$Revision: 1.1 $
 
$Name:  $
 
 
Copyright (C) 2004  C.N.Eberhardt ([email protected])
 
 
This program is free software; you can redistribute it and/or
 
modify it under the terms of the GNU General Public License
 
as published by the Free Software Foundation; either version 2
 
of the License, or (at your option) any later version.
 
 
This program is distributed in the hope that it will be useful,
 
but WITHOUT ANY WARRANTY; without even the implied warranty of
 
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
GNU General Public License for more details.
 
 
You should have received a copy of the GNU General Public License
 
along with this program; if not, write to the Free Software
 
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
*/
 
 
    require("../SiteTranslatorAdmin.php");
 
    $translator = new SiteTranslatorAdmin();
 
?>
 
 
<html>
 
<body>
 
<?
 
    if (!$translator->isLoggedIn())
 
    {
 
        echo "<h2>Access denied</h2>";
 
    }
 
    else
 
    {
 
    
 
        if ($_POST["submit"])
 
        {        
 
            if ($translator->isEditor())
 
            {
 
                if ($_POST["delete"]=="CHECKED")
 
                {
 
                    $translator->deleteText($_POST["key"]);
 
                }
 
                else
 
                {
 
                    $languages = $translator->getTranslatorLanguages().",".$translator->getDefaultLanguage();
 
                    
 
                    //update the localised text for each language that this editor manages
 
                    $language = strtok ($languages,",");
 
                    while($language)
 
                    {
 
                        //does the editor wish to update this text?
 
                        if ($_POST[$language."_update_text"]=="CHECKED")
 
                        {
 
                            //do they wish to update the timestamp for this record
 
                            $blnUpdateTime = ($_POST[$language."_update_date"]=="CHECKED");
 
                            $translator->setLocalisedText($language, $_POST["key"], $_POST[$language."_text"], $blnUpdateTime);
 
                        }
 
                        $language = strtok (",");
 
                    }
 
                }
 
            }
 
            else
 
            {
 
                //update the localised text for each language that this editor manages
 
                $language = strtok ($translator->getTranslatorLanguages(),",");
 
                while($language)
 
                {
 
                    $translator->setLocalisedText($language, $_POST["key"], $_POST[$language."_text"]);
 
                    $language = strtok (",");
 
                }
 
            }
 
                
 
            echo "<h3>The database has been updated</h3>";
 
            echo "You will have to refresh the menu on the left hand side to see the changes";
 
        
 
        }
 
        else
 
        {
 
            ?>
 
            <form method="post" action="<? echo $PHP_SELF ?>">
 
            <INPUT VALUE="<? echo $_GET["key"] ?>" READONLY TYPE="HIDDEN" NAME="key" SIZE=10>
 
            <?
 
                                
 
                if ($translator->isEditor())
 
                {
 
                    echo '<INPUT TYPE="CHECKBOX" VALUE="CHECKED" NAME="delete"><b>Delete this text entry</b></INPUT>';    
 
                    
 
                    //show the default text
 
                    ShowTextArea($_GET["key"], $translator->getDefaultLanguage(), false, true);
 
                    
 
                    //show an edit box for each of the languages that this editor can translate
 
                    $language = strtok ($translator->getTranslatorLanguages(),",");
 
                    while($language)
 
                    {
 
                        ShowTextArea($_GET["key"], $language, false, true);
 
                        $language = strtok (",");
 
                    }    
 
                }
 
                else
 
                {
 
                    //show the default text (read only)
 
                    ShowTextArea($_GET["key"], $translator->getDefaultLanguage(), true);
 
                    
 
                    //show an edit box for each of the languages that this editor can translate
 
                    $language = strtok ($translator->getTranslatorLanguages(),",");
 
                    while($language)
 
                    {
 
                        ShowTextArea($_GET["key"], $language);
 
                        $language = strtok (",");
 
                    }    
 
                }
 
                
 
            ?>
 
            <p>
 
            <INPUT TYPE="SUBMIT" VALUE="Submit Details" NAME="submit">
 
            </form>
 
            <?
 
        }
 
    }
 
    
 
    
 
    function ShowTextArea($key, $language, $blnReadOnly=false, $blnEditor=false)
 
    {
 
        global $translator;        
 
                
 
        //if the text requires an update - highlight it    
 
        if ($translator->isTranslated($key, $language) && !$translator->isUpToDate($key, $language))
 
            $strUpdateText = '<font color="red">(requires updating)</font>';
 
        
 
        //output the heading
 
        $languageName = $translator->getLanguageName($language);    
 
        echo "<br><br><b>$languageName: $strUpdateText</b><br><br>";                                
 
    
 
        //output the text area
 
        if ($blnReadOnly)
 
            $strReadOnly = "READONLY";
 
        $strText = $translator->getLocalisedText($language, $key);
 
        echo "<TEXTAREA $strReadOnly NAME=\"".$language."_text\" rows=\"15\" cols=\"80\">$strText</TEXTAREA>";
 
        
 
        if ($blnEditor)
 
        {
 
            echo "<BR><INPUT TYPE=\"CHECKBOX\" VALUE=\"CHECKED\" NAME=\"".$language."_update_text\">Update $languageName text</INPUT>";        
 
            echo '<BR><INPUT TYPE="CHECKBOX" VALUE="CHECKED" NAME="'.$language.'_update_date">Update the timestamp for this text</INPUT>';        
 
        }
 
    }
 
    
 
?>
 
 
</body>
 
</html>
 
 
 
 |