<?php
##############################################################
##In-portal													##
##############################################################
##					      In-portal							## 
##					Intechnic Corporation					##
##			   All Rights Reserved, 1998-2002				##
##															##	
##	No portion of this code may be copied, reproduced or	##	
##	   otherwise redistributed without proper written		##
##	  consent of Intechnic Corporation.  Violation will		##
##	   result in revocation of the license and support		##
##	 privileges along maximum prosecution allowed by law.	##
##############################################################

// new startup: begin
define('REL_PATH', 'admin/config');
$relation_level = count( explode('/', REL_PATH) );
define('FULL_PATH', realpath(dirname(__FILE__) . str_repeat('/..', $relation_level) ) );
require_once FULL_PATH.'/kernel/startup.php';
// new startup: end

require_once ($pathtoroot.$admin."/include/elements.php"); 
require_once ($pathtoroot."kernel/admin/include/navmenu.php"); 
//require_once ($pathtolocal."admin/include/navmenu.php"); 
require_once($pathtoroot.$admin."/toolbar.php");
require_once($pathtoroot.$admin."/listview/listview.php");

$m = GetModuleArray();
foreach($m as $key=>$value)
{
    $path = $pathtoroot. $value."admin/include/parser.php";
    if(file_exists($path))
    {    
      include_once($path);
    }
}

unset($objEditItems);

$objEditItems = new clsPhraseList();
$objEditItems->SourceTable = $objSession->GetEditTable("Language");
$objEditItems->EnablePaging = FALSE;

//Multiedit init
$en = (int)$_GET["en"];
$objEditItems->Query_Item("SELECT * FROM ".$objEditItems->SourceTable);
$itemcount=$objEditItems->NumItems();

$c = $objEditItems->GetItemByIndex($en);

$name = $c->Get("PackName");
if($itemcount>1)
{    
	  if ($en+1 == $itemcount)
		$en_next = -1;
	  else
		$en_next = $en+1;
	
	  if ($en == 0)
		$en_prev = -1;
	  else
		$en_prev = $en-1;	
}

$action = "m_phrase_edit";
/* -------------------------------------- Section configuration ------------------------------------------- */
$envar = "env=" . BuildEnv() . "&en=$en";
$section = 'in-portal:lang_labels';
$sec = $objSections->GetSection($section);

$SortFieldVar = "Phrase_LV_Sortfield";
$SortOrderVar = "Phrase_LV_Sortorder";
$DefaultSortField = "Phrase";
$PerPageVar = "Perpage_Phrase";
$CurrentPageVar = "Page_Phrase";
$CurrentFilterVar = "Lang_View";

$ListForm = "language";
$CheckClass = "LangChecks";

/* ------------------------------------- Configure the toolbar ------------------------------------------- */
$objListToolBar = new clsToolBar();
$objListToolBar->Add("img_save", "la_Save","#","swap('img_save','toolbar/tool_select_f2.gif');", "swap('img_save', 'toolbar/tool_select.gif');","do_edit_save('language','LangEditStatus','".$admin."/config/config_lang.php',1);","tool_select.gif");
$objListToolBar->Add("img_cancel", "la_Cancel","#","swap('img_cancel','toolbar/tool_cancel_f2.gif');", "swap('img_cancel', 'toolbar/tool_cancel.gif');","do_edit_save('language','LangEditStatus','".$admin."/config/config_lang.php',2);",$imagesURL."/toolbar/tool_cancel.gif");
$objListToolBar->Set("section",$section);
$objListToolBar->Set("load_menu_func","");
$objListToolBar->Set("CheckClass",$CheckClass);
$objListToolBar->Set("CheckForm",$ListForm);

if ( isset($en_prev) || isset($en_next) )
{	
  $objListToolBar->Add("divider");
  if($en_prev>-1)
  {
    $MouseOver="swap('moveleft','toolbar/tool_prev_f2.gif');";
    $MouseOut="swap('moveleft', 'toolbar/tool_prev.gif');";
    $onClick= $sec->Get("onclick");
    $var="?env=".BuildEnv()."&en=$en_prev&lpn=1";
    $link=$_SERVER["PHP_SELF"].$var;
    $objListToolBar->Add("moveleft",admin_language("la_ToolTip_Previous")." ".admin_language("la_Text_Theme"),$link,$MouseOver,$MouseOut,"","tool_prev.gif");
  }
  else
  {
    $MouseOver="";
    $MouseOut="";
    $onClick="";
    $link="#";
    $objListToolBar->Add("moveleft",admin_language("la_ToolTip_Previous")." ".admin_language("la_Text_Theme"),"#","","","","tool_prev_f3.gif");

  }  
  if($en_next>-1)
  {
    $MouseOver="swap('moveright','toolbar/tool_next_f2.gif');";
    $MouseOut="swap('moveright', 'toolbar/tool_next.gif');";
    $onClick=$sec->Get("onclick");
    $var="?env=".BuildEnv()."&en=$en_next&lpn=1";
    $link=$_SERVER["PHP_SELF"].$var;
    $objListToolBar->Add("moveright",admin_language("la_ToolTip_Next")." ".admin_language("la_Text_Theme"),$link,$MouseOver,$MouseOut,"","tool_next.gif");
  }
  else
  {
    $objListToolBar->Add("moveright",admin_language("la_ToolTip_Next")." ".admin_language("la_Text_Theme"),$link,$MouseOver,$MouseOut,"","tool_next_f3.gif");
  }

}

$listImages = array();
                    //$img, $alt, $link, $onMouseOver, $onMouseOut, $onClick

$objListToolBar->Add("new_label", "la_ToolTip_New_label","#","swap('new_label','toolbar/tool_new_language_var_f2.gif');",
                    "swap('new_label', 'toolbar/tool_new_language_var.gif');", 
                     "OpenPhraseEditor('&destform=popup&LanguageId=".$c->Get("LanguageId")."');",
                     "tool_new_language_var.gif");

$objListToolBar->Add("label_edit","la_ToolTip_Edit","#", "if (LangChecks.itemChecked()) swap('label_edit','toolbar/tool_edit_f2.gif');",
                     "if (LangChecks.itemChecked()) swap('label_edit', 'toolbar/tool_edit.gif');",
                     "if (LangChecks.itemChecked()) EditPhrase();",
                     "tool_edit.gif",TRUE,TRUE);
$listImages[] = "LangChecks.addImage('label_edit','$imagesURL/toolbar/tool_edit.gif','$imagesURL/toolbar/tool_edit_f3.gif',1); ";

$objListToolBar->Add("label_del","la_ToolTip_Delete","#", "if (LangChecks.itemChecked()) swap('label_del','toolbar/tool_delete_f2.gif');",
                    "if (LangChecks.itemChecked()) swap('label_del', 'toolbar/tool_delete.gif');","if (LangChecks.itemChecked()) LangChecks.check_submit('addlang_labels', 'm_phrase_delete');",
                    "tool_delete.gif",FALSE,TRUE);
$listImages[] = "LangChecks.addImage('label_del','$imagesURL/toolbar/tool_delete.gif','$imagesURL/toolbar/tool_delete_f3.gif',1); ";

$objListToolBar->Add("divider");

$objListToolBar->Add("viewmenubutton", "la_ToolTip_View","#","swap('viewmenubutton','toolbar/tool_view_f2.gif'); ",
                    "swap('viewmenubutton', 'toolbar/tool_view.gif');",
                     "ShowViewMenu();","tool_view.gif");


$objListToolBar->AddToInitScript($listImages);
$objListToolBar->AddToInitScript("fwLoadMenus();");

$CurrentLangId = $c->Get("LanguageId");

/* ----------------------------------------- Set the View Filter ---------------------------------------- */
/* bit place holders for view menu */
$Bit_Front=1;
$Bit_Admin=2;
$Bit_Both = 4;
$Bit_All = 7;

$FilterLabels = array();

$FilterLabels[0] = admin_language("la_Text_Front");
$FilterLabels[1] = admin_language("la_Text_Admin");
$FilterLabels[2] = admin_language("la_Text_Both");

if( !(isset($objThemeList)&&is_object($objThemeList)) )
{
    $objThemeList = new clsThemeList();
}

if($objThemeList->NumItems()==0)
    $objThemeList->LoadThemes();

/* determine current view menu settings */
$LangView = $objConfig->Get($CurrentFilterVar);

if(!is_numeric($LangView))
{   
   $LangView = $Bit_All; //Set all bits ON
   $LangFilter = "";
}

  if($LangView & $Bit_Both)
      $Status[] = 2;

  if($LangView & $Bit_Admin)
      $Status[] = 1;

  if($LangView & $Bit_Front)
      $Status[] = 0;
  
  if(count($Status)>0)
  {  
    $LangFilter = "p.PhraseType IN (".implode(",",$Status).")";
  }
  else
      $LangFilter = "p.PhraseType = -1";

$objPhrases =  new clsPhraseList();
$objPhrases->SourceTable = $objSession->GetEditTable("Phrase");

$order = trim($objConfig->Get($SortFieldVar)." ".$objConfig->Get($SortOrderVar));

$SearchWords = $objSession->GetVariable("PhraseSearchWord");
if(strlen($SearchWords))
{
    $where = $objPhrases->AdminSearchWhereClause($SearchWords);
}
else
  $where = "";

$primary = $objLanguages->GetPrimary();

/* ------------------------------------ Build the SQL statement to populate the list ---------------------------*/

$ptable = GetTablePrefix()."Phrase";

$sql = "SELECT distinct(p.Phrase) as Phrase,p.Translation as Translation,ELT(p.PhraseType+1,'".admin_language("la_Text_Front")."','".admin_language("la_Text_Admin")."','".admin_language("la_Text_Both")."') as Type, ";
$sql .="pri.Translation as PrimaryValue, p.PhraseId as PhraseId ";
$sql .= "FROM ".$objPhrases->SourceTable." as p LEFT JOIN $ptable as pri ON (p.Phrase=pri.Phrase AND pri.LanguageId=".$objLanguages->GetPrimary().") WHERE p.LanguageId=".$c->Get("LanguageId")." ";

if(strlen($where))
    $sql .= "AND ".$where." ";
if(strlen($LangFilter))
{ 
   $sql .= " AND $LangFilter ";
}

if(strlen($order))
    $sql .= "ORDER BY ".$order." ";

if(isset($_GET["lpn"]))
    $objSession->SetVariable($CurrentPageVar,$_GET["lpn"]);

$sql .= GetLimitSQL($objSession->GetVariable($CurrentPageVar),$objConfig->Get($PerPageVar));

//echo $sql;

$objPhrases->Query_Item($sql);
$itemcount = QueryCount($sql);

if($objSession->HasSystemPermission("DEBUG.LIST"))
   echo htmlentities($sql,ENT_NOQUOTES)."<br>\n";

/* ---------------------------------------- Configure the list view ---------------------------------------- */
$objListView = new clsListView($objListToolBar,$objPhrases);
$objListView->IdField = "PhraseId";

$order = $objConfig->Get($SortOrderVar);
$objListView->ColumnHeaders->Add("Phrase",admin_language("la_prompt_Label"),1,0,$order,"width=\"30%\"",$SortFieldVar,$SortOrderVar,"Phrase");
$objListView->ColumnHeaders->Add("Translation",admin_language("la_prompt_Value"),1,0,$order,"width=\"30%\"",$SortFieldVar,$SortOrderVar,"Translation");
$objListView->ColumnHeaders->Add("PrimaryValue",admin_language("la_prompt_PrimaryValue"),1,0,$order,"width=\"30%\"",$SortFieldVar,$SortOrderVar,"PrimaryValue");
$objListView->ColumnHeaders->Add("Type",admin_language("la_prompt_Type"),1,0,$order,"width=\"30%\"",$SortFieldVar,$SortOrderVar,"Type");

$objListView->ColumnHeaders->SetSort($objConfig->Get($SortFieldVar), $objConfig->Get($SortOrderVar));

$objListView->PrintToolBar = FALSE;
$objListView->checkboxes = TRUE;

$objListView->CurrentPageVar = $CurrentPageVar;
$objListView->PerPageVar = $PerPageVar;
$objListView->CheckboxName = "itemlist[]"; 
$objListView->SearchBar = TRUE;
$objListView->SearchKeywords = $SearchWords;
$objListView->SearchAction="m_phrase_search";

$objListView->TotalItemCount = $itemcount;

  $objListView->ConfigureViewMenu($SortFieldVar,$SortOrderVar,$DefaultSortField,
  								  $CurrentFilterVar,$LangView,$Bit_All);

  foreach($FilterLabels as $Bit=>$Label)
  {
  	$objListView->AddViewMenuFilter($Label,$Bit);
  }	
  
for($i=0;$i<count($objPhrases->Items);$i++)
{     
  $objListView->RowIcons[] = $objPhrases->Items[$i]->AdminIcon();
}

$filter = false; // always initialize variables before use
if($objSession->GetVariable("PhraseSearchWord") != '') {
	$filter = true;
} 
else {
	if ($LangView != $Bit_All) {
		$filter = true;
	}
}

$title = $title = GetTitle("la_Text_Pack", "la_tab_Labels", $c->Get('LanguageId'), $c->Get('LocalName'));///admin_language("la_Text_Configuration")." - '".$name."' ".admin_language("la_Text_Pack")." - ".admin_language("la_tab_Labels")." ($itemcount)";
$h = "\n\n<SCRIPT Language=\"JavaScript1.2\">\n".$objListView->GetViewMenu($imagesURL)."\n</SCRIPT>\n";

define('FORCE_CHARSET', $c->Get("Charset") );
int_header($objListToolBar,NULL, $title,NULL,$h);

if ($objSession->GetVariable("HasChanges") == 1) {
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="toolbar">
  <tr>
    <td valign="top">
      <?php int_hint_red(admin_language("la_Warning_Save_Item")); ?>
    </td>
  </tr>
</table>
<?php } ?> 
<?php if ($filter) { ?>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="toolbar">
  <tr>
    <td valign="top">
      <?php int_hint_red(admin_language("la_Warning_Filter")); ?>
    </td>
  </tr>
</table>
<?php } ?> 
<form name="language" ID="language" action="<?php echo $_SERVER["PHP_SELF"]."?".$envar;?>" method=POST>
<table cellSpacing="0" cellPadding="2" width="100%" class="tableborder">
<tbody>
<?php
  print $objListView->PrintList();  
?>
    <input type="hidden" NAME="section" VALUE="<?php echo $section; ?>">
    <input type="hidden" name="Action" value="m_config_phrase">
    <input type="hidden" name="LangEditStatus" VALUE="0">
</FORM>
</TABLE>

<!-- CODE FOR VIEW MENU -->
<form ID="viewmenu" method="post" action="<?php echo $_SERVER["PHP_SELF"]."?".$envar; ?>" name="viewmenu">
<input type="hidden" name="fieldname" value="">
<input type="hidden" name="varvalue" value="">
<input type="hidden" name="varvalue2" value="">
<input type="hidden" name="Action" value="">
</form>
<!-- CODE FOR TEMPLATE MENU -->
<form ID="templatemenu" method="post" action="<?php echo $_SERVER["PHP_SELF"]."?".$envar; ?>" name="templatemenu">
<input type="hidden" name="fieldname" value="">
<input type="hidden" name="varvalue" value="">
<input type="hidden" name="varvalue2" value="">
<input type="hidden" name="Action" value="">
</form>
<FORM ID="ListSearchForm" NAME="ListSearchForm" method="POST" action="<?php echo $_SERVER["PHP_SELF"]."?env=".BuildEnv(); ?>">
   <INPUT TYPE="HIDDEN" NAME="Action" VALUE="">
   <INPUT TYPE="HIDDEN" NAME="list_search">
</FORM>

<FORM NAME="popup" METHOD="POST" ACTION="<?php echo $_SERVER["PHP_SELF"]."?".$envar; ?>" ID="popup">
<INPUT TYPE="HIDDEN" NAME="phrase" value="">
<INPUT TYPE="HIDDEN" NAME="languageid" value="">
<INPUT TYPE="HIDDEN" NAME="phraseid" value="">
<INPUT TYPE="HIDDEN" NAME="phrasetype" value="">
<INPUT TYPE="HIDDEN" NAME="transvalue" value="">
<INPUT TYPE="HIDDEN" NAME="Action" VALUE="m_phrase_edit">
</FORM>
<script src="<?php echo $adminURL; ?>/listview/listview.js"></script>
<script>

initSelectiorContainers();
<?php echo $objListToolBar->Get("CheckClass").".setImages();"; ?>

function EditPhrase()
{
  if(LangChecks.countChecks() > 0)
  {
     var retval = LangChecks.getItemList();
     OpenPhraseEditor('&destform=popup&PhraseId='+retval);
  }
}

</script>
<?php int_footer(); ?>