<?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(__FILE__));
  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"; 
//$pathtolocal = $pathtoroot."in-news/";
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");

unset($objEditItems);

$objEditItems = new clsGroupList();
$objEditItems->SourceTable = $objSession->GetEditTable("PortalGroup");
$objEditItems->EnablePaging = FALSE;

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

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

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

/* -------------------------------------- Section configuration ------------------------------------------- */
$section = 'in-portal:editgroup_users';
$sec = $objSections->GetSection($section);
$SortFieldVar = "User_SortField";
$SortOrderVar = "User_SortOrder";
$DefaultSortField = "Login";
$PerPageVar = "Perpage_User";
$CurrentPageVar = "Page_UserList";
$CurrentFilterVar = "User_View";

$ListForm = "editgroup";
$CheckClass = "UserChecks";

/* ------------------------------------- Configure the toolbar ------------------------------------------- */
$objListToolBar = new clsToolBar();

$objListToolBar->Set("section",$section);
$objListToolBar->Set("load_menu_func","");
$objListToolBar->Set("CheckClass",$CheckClass);
$objListToolBar->Set("CheckForm",$ListForm);
$objListToolBar->Add("img_save", "la_Save","#","swap('img_save','toolbar/tool_select_f2.gif');", "swap('img_save', 'toolbar/tool_select.gif');","do_edit_save('editgroup','GroupEditStatus','".$admin."/users/user_groups.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('editgroup','GroupEditStatus','".$admin."/users/user_groups.php',2);","tool_cancel.gif");
if($itemcount == 1) $objListToolBar->Add("divider");

if ( isset($en_prev) || isset($en_next) )
{
  $url = $RootUrl.$admin."/users/addgroup_users.php"; 
  $StatusField = "GroupEditStatus";
  $form = "editgroup";
  MultiEditButtons($objListToolBar,$en_next,$en_prev,$form,$StatusField,$url,$sec->Get("OnClick"),'','la_PrevGroup','la_NextGroup');  
  $objListToolBar->Add("divider");
}


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

$objListToolBar->Add("new_group", "la_ToolTip_AddUserToGroup","","swap('new_group','toolbar/tool_usertogroup_f2.gif');",
                    "swap('new_group', 'toolbar/tool_usertogroup.gif');",
                     "OpenUserSelector('','','$envar&source=addgroup_users&GroupId=".$c->Get("GroupId")."&destform=popup&destfield=userlist&Selector=radio&dosubmit=1');",
                     "tool_usertogroup.gif");

$objListToolBar->Add("user_del","la_ToolTip_RemoveUserFromGroup","#", "if (UserChecks.itemChecked()) swap('user_del','toolbar/tool_delete_f2.gif');",
                    "if (UserChecks.itemChecked()) swap('user_del', 'toolbar/tool_delete.gif');","if (UserChecks.itemChecked()) UserChecks.check_submit('addgroup_users', 'm_group_removeuser');",
                    "tool_delete.gif");
$listImages[] = "UserChecks.addImage('user_del','$imagesURL/toolbar/tool_delete.gif','$imagesURL/toolbar/tool_delete_f3.gif',1); ";

$objListToolBar->Add("divider");

$objListToolBar->Add("user_print", "la_ToolTip_Print","#","swap('user_print','toolbar/tool_print_f2.gif');",
                    "swap('user_print', 'toolbar/tool_print.gif');","window.print();","tool_print.gif");

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

/* ----------------------------------------- Set the View Filter ---------------------------------------- */

/* bit place holders for category view menu */
$Bit_Pending=4;
$Bit_Disabled=2;
$Bit_Valid=1;
$Bit_All = 7;

$FilterLabels = array();

$FilterLabels[0] = admin_language("la_Text_Enabled");
$FilterLabels[1] = admin_language("la_Text_Disabled");
$FilterLabels[2] = admin_language("la_Text_Pending");

/* determine current view menu settings */
$UserView = $objConfig->Get("User_View");

if(!is_numeric($UserView))
{   
   $UserView = $Bit_All; //Set all bits ON
   $UserFilter = "";
}
  if($UserView & $Bit_Valid)
      $Status[] = 1;

  if($UserView & $Bit_Disabled)
      $Status[] = 0;

  if($UserView & $Bit_Pending)
      $Status[] = 2;

  if(count($Status)>0)
  {  
    $UserFilter = "Status IN (".implode(",",$Status).")";
  }
  else
      $UserFilter = "Status = -1";


$GroupUsers = $c->GetUserList();
if(count($GroupUsers)>0)
{
  $list = implode(",",$GroupUsers);
  $where = "u.PortalUserId IN ($list) ";
}
else
{
  $list=0;
  $where = "u.PortalUserId = -1 ";
}
$order = $objConfig->Get("User_SortOrder");
$SearchWords = $objSession->GetVariable("UserGroupSearchWord");
if(strlen($SearchWords))
{
    $where .= $objUsers->AdminSearchWhereClause($SearchWords);
}

$sql = "SELECT u.*,g.Name as GroupName,ELT(u.status+1,'".admin_language("la_Text_Disabled")." ','".admin_language("la_Text_Enabled")." ','".admin_language("la_Text_Pending")."') as UserStatus, ";
$sql .="FROM_UNIXTIME(u.CreatedOn,'%m-%d-%Y') as DateCreated FROM ".GetTablePrefix()."PortalUser as u ";
$sql .="LEFT JOIN ".$objSession->GetEditTable("UserGroup")." as ug ON (u.PortalUserId=ug.PortalUserId) AND (ug.PrimaryGroup = 1) ";
$sql .="LEFT JOIN ".GetTablePrefix()."PortalGroup as g ON (ug.GroupId=g.GroupId) WHERE 1";

if(strlen($where))
    $sql .= " AND ".$where;
//$sql .=" ".GetLimitSQL($objSession->GetVariable("Page_Userlist"),$objConfig->Get("Perpage_User"));
$objListView = new clsListView($objListToolBar);
$objListView->CurrentPageVar = "Page_Userlist";
$objListView->PerPageVar = "Perpage_User";

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

$objUsers->Query_Item($sql, $objListView->GetLimitSQL() );
$itemcount = $list?TableCount(GetTablePrefix()."PortalUser","PortalUserId IN ($list)",0):0;
  
$objListView->SetListItems($objUsers);
$objListView->IdField = "ResourceId";
$objListView->PageLinkTemplate = $pathtoroot. $admin."/templates/user_page_link.tpl";

$objListView->ColumnHeaders->Add("Login",admin_language("la_prompt_Username"),1,0,$order,"width=\"15%\"","User_SortField","User_SortOrder","Login");
$objListView->ColumnHeaders->Add("LastName",admin_language("la_prompt_Last_Name"),1,0,$order,"width=\"15%\"","User_SortField","User_SortOrder","LastName");
$objListView->ColumnHeaders->Add("FirstName",admin_language("la_prompt_First_Name"),1,0,$order,"width=\"15%\"","User_SortField","User_SortOrder","FirstName");
$objListView->ColumnHeaders->Add("Email",admin_language("la_prompt_Email"),1,0,$order,"width=\"20%\"","User_SortField","User_SortOrder","Email");
$objListView->ColumnHeaders->Add("GroupName",admin_language("la_prompt_PrimaryGroup"),1,0,$order,"width=\"20%\"","User_SortField","User_SortOrder","GroupName");
$objListView->ColumnHeaders->Add("DateCreated",admin_language("la_prompt_CreatedOn"),1,0,$order,"width=\"15%\"","User_SortField","User_SortOrder","DateCreated");
$objListView->ColumnHeaders->SetSort($objConfig->Get("User_SortField"),$order);

$objListView->PrintToolBar = FALSE;
$objListView->SearchBar = TRUE;
$objListView->SearchKeywords = $SearchWords;
$objListView->SearchAction="m_usergroup_search";
$objListView->CheckboxName = "itemlist[]";
$objListView->TotalItemCount = $itemcount;

for($i=0;$i<count($objUsers->Items);$i++)
{
    $u =& $objUsers->GetItemRefByIndex($i);
    $objListView->RowIcons[] = $u->StatusIcon();
}
  $objListView->ConfigureViewMenu($SortFieldVar,$SortOrderVar,$DefaultSortField,
  								  $CurrentFilterVar,$UserView,$Bit_All);

  foreach($FilterLabels as $Bit=>$Label)
  {
  	$objListView->AddViewMenuFilter($Label,$Bit);
  }		

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

$title = GetTitle("la_Text_Group", "la_tab_Users", $c->Get('GroupId'), $c->Get('Name'));//prompt_language("la_Text_Editing")." ".prompt_language("la_Text_Group")." '".$c->Get("Name")."' - ".prompt_language("la_tab_Users");
$h = "\n\n<SCRIPT Language=\"JavaScript1.2\">\n".$objListView->GetViewMenu($imagesURL)."\n</SCRIPT>\n";
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 method="POST" ACTION="" NAME="editgroup" ID="editgroup">
<?php
  print $objListView->PrintList();
?>
<input type="hidden" name="Action" value="">
<INPUT TYPE="HIDDEN" NAME="GroupId" VALUE="<?php echo $c->Get("GroupId"); ?>">
<input type="hidden" name="GroupEditStatus" VALUE="0">
</FORM>

<FORM NAME="popup" ID="popup" METHOD="POST" ACTION="<?php echo $_SERVER["PHP_SELF"]."?env=".BuildEnv(); ?>">
    <INPUT TYPE="hidden" NAME="userlist">
    <input TYPE="hidden" NAME="Action" VALUE="m_group_add_user">
    <INPUT TYPE="HIDDEN" NAME="GroupId" VALUE="<?php echo $c->Get("GroupId"); ?>">
</FORM> 

<!-- CODE FOR VIEW MENU -->
<form ID="viewmenu" method="post" action="<?php echo $_SERVER["PHP_SELF"]."?env=".BuildEnv(); ?>" 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>
<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="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="GroupEditStatus" VALUE="0">
    </td>
  </tr>
</FORM>
<script src="<?php echo $adminURL; ?>/listview/listview.js"></script>
<script>

initSelectiorContainers();
<?php echo $objListToolBar->Get("CheckClass").".setImages();"; ?>
</script>
<!-- END CODE-->
<?php int_footer(); ?>