<?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.	##
##############################################################
if(!strlen($pathtoroot))
{
  $path=dirname(realpath($_SERVER['SCRIPT_FILENAME']));
  if(strlen($path))
  {
    /* determine the OS type for path parsing */
    $pos = strpos($path,":");
    if ($pos === false)
    {
      $gOS_TYPE="unix";
      $pathchar = "/";
    }
    else
    {
      $gOS_TYPE="win";
      $pathchar="\\";
    }
    $p = $path.$pathchar;
    /*Start looking for the root flag file */
    while(!strlen($pathtoroot) && strlen($p))
    {
      $sub = substr($p,strlen($pathchar)*-1);
      if($sub==$pathchar)
      {
        $filename = $p."root.flg";
      }
      else
        $filename = $p.$pathchar."root.flg";
      if(file_exists($filename))
      {
        $pathtoroot = $p;
      }
      else
      {
        $parent = realpath($p.$pathchar."..".$pathchar);
	if($parent!=$p)
	{
	  $p = $parent;
	}
	else
	  $p = "";
      }
    }
    if(!strlen($pathtoroot))
      $pathtoroot = ".".$pathchar;
  }
  else
  {
    $pathtoroot = ".".$pathchar;
  }
}

$sub = substr($pathtoroot,strlen($pathchar)*-1);
if($sub!=$pathchar)
{
  $pathtoroot = $pathtoroot.$pathchar;
}
//echo $pathtoroot;

require_once($pathtoroot."kernel/startup.php");
//admin only util
$rootURL="http://".ThisDomain().$objConfig->Get("Site_Path");
$admin = $objConfig->Get("AdminDirectory");
if(!strlen($admin))
    $admin = "admin";

$localURL=$rootURL."kernel/";
$adminURL = $rootURL.$admin;
$imagesURL = $adminURL."/images";

require_once ($pathtoroot.$admin."/include/elements.php");
require_once ($pathtoroot."kernel/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 clsCatList();
$objEditItems->SourceTable = $objSession->GetEditTable("PortalUser");
$objEditItems->EnablePaging = FALSE;
//Multiedit init
$en = GetVar('en');
$objEditItems->Query_Item("SELECT * FROM ".$objEditItems->SourceTable);


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

$objImageList = new clsImageList();
$objImageList->Query_Images("ResourceId=".$c->Get("ResourceId"),"");

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_item_list";

$envar = "env=" . BuildEnv() . "&en=$en";

$section = 'in-portal:edituser_items';
$sec = $objSections->GetSection($section);

$title = admin_language("la_Text_Editing")." ".admin_language("la_Text_User")." '".$c->Get("Login")."' - ".admin_language("la_tab_Images");

$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('save_edit_buttons','".$admin."/users/user_list.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('save_edit_buttons','".$admin."/users/user_list.php',2);","tool_cancel.gif");
if($itemcount == 1) $objListToolBar->Add("divider");

$objListToolBar->Set("section",$section);
$objListToolBar->Set("load_menu_func","");
$objListToolBar->Set("CheckClass","ImageChecks");

if ( isset($en_prev) || isset($en_next) )
{
  $url = $RootUrl.$admin."/users/adduser_items.php"; 
  $StatusField = "UserEditStatus";
  $form = "edituser";
  MultiEditButtons($objListToolBar,$en_next,$en_prev,$form,$StatusField,$url,$sec->Get("OnClick"),'','la_PrevUser','la_NextUser');  
  $objListToolBar->Add("divider");
}
  
$listImages = array();

$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();");


$title = admin_language("la_Text_Editing")." ".admin_language("la_Text_User")." '".$c->Get("Login")."' - ".admin_language("la_tab_ItemList");
int_header($objListToolBar,NULL, $title);
?>
<form name="edituser" ID="edituser" action="<?php echo $_SERVER["PHP_SELF"]."?".$envar;?>" method=POST>
<table cellSpacing="0" cellPadding="2" width="100%" class="tableborder">
<tbody>
<?php

if( GetVar('lpn') )
{    
    $objSession->SetVariable("Page_Items",(int)$_GET["lpn"]);
    $page = (int)$_GET["lpn"];
}
else
{
  $page = $objSession->GetVariable("Page_Items");
}
$objItems = new clsMultiTypeList();
$table = $objSession->GetEditTable("UserItems"); //$objSession->GetSessionKey()."_UserItems";
$objItems->SourceTable = $table;

// ==== build sql depending on modules installed: begin ====
$prefix = GetTablePrefix();
$modules = $objModules->GetModuleList();
$sql_source = $objModules->ExecuteFunction('GetModuleInfo', 'rel_list');

$sql_templates['ItemName'] = 'IFNULL('.$prefix."%s.%s,' ')";
$sql_templates['TableJoin'] = 'LEFT JOIN '.$prefix."%1\$s ON ".$prefix."%1\$s.ResourceId = ut.ResourceId"; 
$sql_templates['ItemType'] = "IF(ut.ItemType = %s, '%s', %s)";

$sql = 	"SELECT TRIM(CONCAT(%s)) AS ItemName, %s AS ItemTypeStr, ut.ItemType as ItemType, ".
		'ut.ResourceId as ItemId FROM '.$table." ut %s ".
		'WHERE ut.PortalUserId = '.$c->Get("PortalUserId");
		

$sql_parts = Array();
$sql_parts['ItemType'] = "''";
foreach($modules as $module)
{
	$sql_parts['ItemName'][] = sprintf($sql_templates['ItemName'], $sql_source[$module]['MainTable'], $sql_source[$module]['ItemNameField']);
	$sql_parts['TableJoin'][] = sprintf($sql_templates['TableJoin'], $sql_source[$module]['MainTable']);
	$sql_parts['ItemType'] = sprintf(	$sql_templates['ItemType'], 
										$sql_source[$module]['TargetType'], 
										admin_language($sql_source[$module]['ItemNamePhrase']),
										$sql_parts['ItemType']);
}

$sql = sprintf($sql, implode(', ',$sql_parts['ItemName']), $sql_parts['ItemType'], implode(' ',$sql_parts['TableJoin']));
// ==== build sql depending on modules installed: end ====

if(strlen($itemFilter))
    $sql .= " AND ($itemFilter)";

$countwhere = "PortalUserId=".$c->Get("PortalUserId");
if(strlen($itemFilter))
    $countwhere .= " AND ($itemFilter)";

$itemcount = TableCount($table,$countwhere,0);

if(strlen(trim($objConfig->Get("UserItem_LV_Sortfield"))))
{
    $order = " ORDER BY ". $objConfig->Get("UserItem_LV_Sortfield")." ".$objConfig->Get("UserItem_LV_Sortorder");
}
else
  $order = "";

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

$objListView = new clsListView($objListToolBar);
$objListView->CurrentPageVar = "Page_Items";
$objListView->PerPageVar = "Perpage_Items";

$objItems->Query_Item($sql, $objListView->GetLimitSQL() );


for($i=0;$i<count($objItems->Items);$i++)
{
  $item =& $objItems->GetItemRefByIndex($i);

  $n = $item->Get("ItemName");
  $type = $item->Get("ItemType");
  $url = $objItemTypes->GetTypeEditUrl($type);
  if(strlen($url))
  {
    $url .= "?env=".BuildEnv()."&newsession=1&item=".$item->Get("ItemId")."&return=".$admin."/users/adduser_items.php";
    $url = "<A TARGET=\"editwin\" HREF=\"".$url."\">$n</A>";
    $item->Set("ItemName",$url);
  }
} 

  $objListView->SetListItems($objItems);
  $objListView->IdField = "ResourceId";
  $order = $objConfig->Get("UserItem_LV_Sortfield");
  $SortOrder=0;
  if($objConfig->Get("UserItem_LV_Sortorder")=="asc")
     $SortOrder=1;

  $objListView->ColumnHeaders->Add("ItemName",admin_language("la_ColHeader_Item"),1,0,$order,"width=\"20%\"","UserItem_LV_Sortfield","UserItem_LV_Sortorder" ,"ItemName");
  $objListView->ColumnHeaders->Add("ItemTypeStr",admin_language("la_ColHeader_ItemType"),1,0,$order,"width=\"20%\"","UserItem_LV_Sortfield","UserItem_LV_Sortorder","ItemType");
  //$objListView->ColumnHeaders->Add("DateCreated",admin_language("la_prompt_CreatedOn"),1,0,$order,"width=\"20%\"","UserItem_LV_Sortfield","UserItem_LV_Sortorder","DateCreated");
 
  $objListView->ColumnHeaders->SetSort($objConfig->Get("UserItem_LV_Sortfield"), $objConfig->Get("UserItem_LV_Sortorder"));

  $objListView->PrintToolBar = FALSE;
  $objListView->checkboxes = FALSE;
  $objListView->CheckboxName = "";  
  $objListView->TotalItemCount = $itemcount;


/*  for($i=0;$i<count($objImageList->Items);$i++)
  {
    $img =& $objImageList->GetItemRefByIndex($i);
    $objListView->RowIcons[] = $img->Get("Icon");
  }
*/
  //$objListView->SliceItems();
  print $objListView->PrintList();
  
?>
    <input TYPE="hidden" NAME="ResourceId" VALUE="<?php echo $c->Get("ResourceId"); ?>">
    <input type="hidden" name="Action" value="m_item_image">

</FORM>
<FORM NAME="save_edit_buttons" ID="save_edit_buttons" method="POST" ACTION="">
  <tr <?php int_table_color(); ?>> 
    <td colspan="5"> 
    <input type=hidden NAME="Action" VALUE="save_user_edit">
    <input type="hidden" name="UserEditStatus" VALUE="0">
 </td>
  </tr>
</FORM>
</TBODY>
</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>
<script src="<?php echo $adminURL; ?>/listview/listview.js"></script>
<script>
//initSelectiorContainers()
</script>
<!-- END CODE-->
<?php int_footer(); ?>