Index: trunk/admin/users/adduser.php =================================================================== diff -u -N -r642 -r732 --- trunk/admin/users/adduser.php (.../adduser.php) (revision 642) +++ trunk/admin/users/adduser.php (.../adduser.php) (revision 732) @@ -1,386 +1,386 @@ -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"); - -unset($objEditItems); -$objEditItems = new clsUserManager(); -$objEditItems->SourceTable = $objSession->GetEditTable("PortalUser"); -$objEditItems->EnablePaging = FALSE; -$objCustomFields = new clsCustomFieldList(6); -$objRelList = new clsRelationshipList(); -$objImages = new clsImageList(); -//$objUserGroupsList = new clsUserGroupList(); - -//Multiedit init -if ( GetVar('new') == 1) -{ - $c = new clsPortalUser(NULL); - $c->Set("CreatedOn", time()); - $c->Set("Status", 2); - $en = 0; - $action = "m_add_user"; - $objUsers->CreateEmptyEditTable("PortalUserId"); - $objRelList->CreateEmptyEditTable("RelationshipId"); - $objCustomDataList->CreateEmptyEditTable("CustomDataId"); - $objImages->CreateEmptyEditTable("ResourceId"); - //$objUserGroupsList->CreateEmptyEditTable("PortalUserId"); -} -else -{ - $en = GetVar('en'); - if (isset($_POST["itemlist"])) - { - $objUsers->CopyToEditTable("ResourceId",$_POST["itemlist"]); - } - $objEditItems->Query_Item("SELECT * FROM ".$objEditItems->SourceTable); - $first=1; - foreach($objEditItems->Items as $u) - { - $objItemTypes->BuildUserItemTable($u->Get("PortalUserId"),$first); - $first=0; - } - - if(isset($_POST["itemlist"])) - { - /* make a copy of the relationship records */ - $ids = $objEditItems->GetResourceIDList(); - $objRelList->CopyToEditTable("SourceId",$ids); - $objCustomDataList->CopyToEditTable("ResourceId",$ids); - $objImages->CopyToEditTable("ResourceId",$ids); - //$objUserGroupsList->CopyToEditTable("PortalUserId", $ids); - } - - $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_user"; -} - -$envar = "env=" . BuildEnv() . "&en=$en"; - -$section = 'in-portal:edituser_general'; - -if (strlen($c->Get("Login"))) - $editing_title = "'".$c->Get("Login")."' "; -else - $editing_title = ""; - -$c->Data=inp_htmlize($c->Data); - -//$title = prompt_language("la_Text_Editing")." ".prompt_language("la_Text_User")." $editing_title- ".prompt_language("la_tab_General"); -$title = GetTitle("la_Text_User", "la_Text_General", $c->Get('PortalUserId'), $c->Get('Login')); - -//Display header -$sec = $objSections->GetSection($section); -$objCatToolBar = new clsToolBar(); -$objCatToolBar->Add("img_save", "la_Save","#","swap('img_save','toolbar/tool_select_f2.gif');", "swap('img_save', 'toolbar/tool_select.gif');","edit_submit('edituser','UserEditStatus','".$admin."/users/user_list.php',1);","tool_select.gif"); -$objCatToolBar->Add("img_cancel", "la_Cancel","#","swap('img_cancel','toolbar/tool_cancel_f2.gif');", "swap('img_cancel', 'toolbar/tool_cancel.gif');","edit_submit('edituser','UserEditStatus','".$admin."/users/user_list.php',2);","tool_cancel.gif"); - -if ( isset($en_prev) || isset($en_next) ) -{ - $url = $RootUrl.$admin."/users/adduser.php"; - $StatusField = "UserEditStatus"; - $form = "edituser"; - MultiEditButtons($objCatToolBar,$en_next,$en_prev,$form,$StatusField,$url,$sec->Get("OnClick"),'','la_PrevUser','la_NextUser'); -} - -int_header($objCatToolBar,NULL,$title); -?> - - - - - - - - > - - - - - > - - - - - > - - - - - - - - > - - - - - > - - - - - - > - - - - - > - - - - - - > - - - - - - > - - - - - > - - - - - > - - - - - > - - - - - > - - - - - - > - - - - - - > - - - - - > - - - - - - -GetFieldUIList(TRUE); // get custom fields to show on general tab -if($CustomFieldUI->NumItems()>0) -{ - $objCustomDataList->SetTable('edit'); - - if((int)$c->Get("ResourceId")>0) - $objCustomDataList->LoadResource($c->Get("ResourceId")); - - $headings = $CustomFieldUI->GetHeadingList(); - // draw headings - for($i = 0; $i < count($headings); $i++) - { - $h = $headings[$i]; - if(strlen($h)) - { - int_subsection_title(prompt_language($h)); - $Items = $CustomFieldUI->GetHeadingItems($h); - foreach($Items as $f) - { - $n = substr($f->name,1); // TabIndex - $cfield = $objCustomFields->GetItemByField('FieldName',$n,FALSE); - if(is_object($cfield)) - { - $cv = $objCustomDataList->GetDataItem($cfield->Get("CustomFieldId")); - if(is_object($cv)) - { - $f->default_value = $cv->Get("Value"); - } - } - print "\n"; - print " \n"; - - print " "; - if(is_object($f->NextItem)) - { - $n = $f->NextItem; - print " "; - } - else - print " \n"; - print "\n"; - } - } - } - $objCustomDataList->SetTable('live'); -} -?> - > - - - - -
- "> - -
- - -
- -
- "> -
- "> -
- "> -  
- "> -
- "> -  
- "> -  
- "> -  
- "> -  
- "> -  
- "> -  
- Get("Status") == 1) echo "checked"; ?>> - Get("Status") == 2) echo "checked"; ?>> - Get("Status") == 0) echo "checked"; ?>> -  
- "> -
- "> -
".$f->GetPrompt()."".$f->ItemFormElement(17)."".$n->ItemFormElement(17)." 
- - "> - -
- - - -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"); + +unset($objEditItems); +$objEditItems = new clsUserManager(); +$objEditItems->SourceTable = $objSession->GetEditTable("PortalUser"); +$objEditItems->EnablePaging = FALSE; +$objCustomFields = new clsCustomFieldList(6); +$objRelList = new clsRelationshipList(); +$objImages = new clsImageList(); +//$objUserGroupsList = new clsUserGroupList(); + +//Multiedit init +if ( GetVar('new') == 1) +{ + $c = new clsPortalUser(NULL); + $c->Set("CreatedOn", time()); + $c->Set("Status", 2); + $en = 0; + $action = "m_add_user"; + $objUsers->CreateEmptyEditTable("PortalUserId"); + $objRelList->CreateEmptyEditTable("RelationshipId"); + $objCustomDataList->CreateEmptyEditTable("CustomDataId"); + $objImages->CreateEmptyEditTable("ResourceId"); + //$objUserGroupsList->CreateEmptyEditTable("PortalUserId"); +} +else +{ + $en = GetVar('en'); + if (isset($_POST["itemlist"])) + { + $objUsers->CopyToEditTable("ResourceId",$_POST["itemlist"]); + } + $objEditItems->Query_Item("SELECT * FROM ".$objEditItems->SourceTable); + $first=1; + foreach($objEditItems->Items as $u) + { + $objItemTypes->BuildUserItemTable($u->Get("PortalUserId"),$first); + $first=0; + } + + if(isset($_POST["itemlist"])) + { + /* make a copy of the relationship records */ + $ids = $objEditItems->GetResourceIDList(); + $objRelList->CopyToEditTable("SourceId",$ids); + $objCustomDataList->CopyToEditTable("ResourceId",$ids); + $objImages->CopyToEditTable("ResourceId",$ids); + //$objUserGroupsList->CopyToEditTable("PortalUserId", $ids); + } + + $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_user"; +} + +$envar = "env=" . BuildEnv() . "&en=$en"; + +$section = 'in-portal:edituser_general'; + +if (strlen($c->Get("Login"))) + $editing_title = "'".$c->Get("Login")."' "; +else + $editing_title = ""; + +$c->Data=inp_htmlize($c->Data); + +//$title = prompt_language("la_Text_Editing")." ".prompt_language("la_Text_User")." $editing_title- ".prompt_language("la_tab_General"); +$title = GetTitle("la_Text_User", "la_Text_General", $c->Get('PortalUserId'), $c->Get('Login')); + +//Display header +$sec = $objSections->GetSection($section); +$objCatToolBar = new clsToolBar(); +$objCatToolBar->Add("img_save", "la_Save","#","swap('img_save','toolbar/tool_select_f2.gif');", "swap('img_save', 'toolbar/tool_select.gif');","edit_submit('edituser','UserEditStatus','".$admin."/users/user_list.php',1);","tool_select.gif"); +$objCatToolBar->Add("img_cancel", "la_Cancel","#","swap('img_cancel','toolbar/tool_cancel_f2.gif');", "swap('img_cancel', 'toolbar/tool_cancel.gif');","edit_submit('edituser','UserEditStatus','".$admin."/users/user_list.php',2);","tool_cancel.gif"); + +if ( isset($en_prev) || isset($en_next) ) +{ + $url = $RootUrl.$admin."/users/adduser.php"; + $StatusField = "UserEditStatus"; + $form = "edituser"; + MultiEditButtons($objCatToolBar,$en_next,$en_prev,$form,$StatusField,$url,$sec->Get("OnClick"),'','la_PrevUser','la_NextUser'); +} + +int_header($objCatToolBar,NULL,$title); +?> + + + + + + + + > + + + + + > + + + + + > + + + + + + + + > + + + + + > + + + + + + > + + + + + > + + + + + + > + + + + + + > + + + + + > + + + + + > + + + + + > + + + + + > + + + + + + > + + + + + + > + + + + + > + + + + + + +GetFieldUIList(TRUE); // get custom fields to show on general tab +if($CustomFieldUI->NumItems()>0) +{ + $objCustomDataList->SetTable('edit'); + + if((int)$c->Get("ResourceId")>0) + $objCustomDataList->LoadResource($c->Get("ResourceId")); + + $headings = $CustomFieldUI->GetHeadingList(); + // draw headings + for($i = 0; $i < count($headings); $i++) + { + $h = $headings[$i]; + if(strlen($h)) + { + int_subsection_title(prompt_language($h)); + $Items = $CustomFieldUI->GetHeadingItems($h); + foreach($Items as $f) + { + $n = substr($f->name,1); // TabIndex + $cfield = $objCustomFields->GetItemByField('FieldName',$n,FALSE); + if(is_object($cfield)) + { + $cv = $objCustomDataList->GetDataItem($cfield->Get("CustomFieldId")); + if(is_object($cv)) + { + $f->default_value = $cv->Get("Value"); + } + } + print "\n"; + print " \n"; + + print " "; + if(is_object($f->NextItem)) + { + $n = $f->NextItem; + print " "; + } + else + print " \n"; + print "\n"; + } + } + } + $objCustomDataList->SetTable('live'); +} +?> + > + + + + +
+ "> + +
+ + +
+ +
+ "> +
+ "> +
+ "> +  
+ "> +
+ "> +  
+ "> +  
+ "> +  
+ "> +  
+ "> +  
+ "> +  
+ Get("Status") == 1) echo "checked"; ?>> + Get("Status") == 2) echo "checked"; ?>> + Get("Status") == 0) echo "checked"; ?>> +  
+ "> +
+ "> +
".$f->GetPrompt()."".$f->ItemFormElement(17)."".$n->ItemFormElement(17)." 
+ + "> + +
+ + + + \ No newline at end of file Index: trunk/admin/users/addgroup_users.php =================================================================== diff -u -N -r624 -r732 --- trunk/admin/users/addgroup_users.php (.../addgroup_users.php) (revision 624) +++ trunk/admin/users/addgroup_users.php (.../addgroup_users.php) (revision 732) @@ -219,8 +219,10 @@ $where = "u.PortalUserId IN ($list) "; } else - $where = "u.PortalUserId = -1 "; - +{ + $list = '-1'; + $where = "u.PortalUserId = -1 "; +} $order = $objConfig->Get("User_SortOrder"); $SearchWords = $objSession->GetVariable("UserGroupSearchWord"); if(strlen($SearchWords)) @@ -243,7 +245,7 @@ echo htmlentities($sql,ENT_NOQUOTES)."
\n"; $objUsers->Query_Item($sql, $objListView->GetLimitSQL() ); -$itemcount = TableCount(GetTablePrefix()."PortalUser","PortalUserId IN ($list)",0); +$itemcount = TableCount(GetTablePrefix()."PortalUser", 'PortalUserId IN ('.$list.')',0); $objListView->SetListItems($objUsers); $objListView->IdField = "ResourceId"; Index: trunk/admin/users/user_select.php =================================================================== diff -u -N -r718 -r732 --- trunk/admin/users/user_select.php (.../user_select.php) (revision 718) +++ trunk/admin/users/user_select.php (.../user_select.php) (revision 732) @@ -147,69 +147,76 @@ $where = strlen($SearchWhere) ? "AND $SearchWhere" : ''; -$SelectorType = $_REQUEST["Selector"] ? $_REQUEST["Selector"] : 'checkbox'; +$SelectorType = GetVar('Selector'); +if(!$SelectorType) $SelectorType = 'checkbox'; $objListView = new clsListView($objListToolBar); -$objListView->CurrentPageVar = "Page_UserSelect"; -$objListView->PerPageVar = "Perpage_User"; +$objListView->CurrentPageVar = 'Page_UserSelect'; +$objListView->PerPageVar = 'Perpage_User'; +$prefix = GetTablePrefix(); -if(strlen($_GET["source"])>0) +if( GetVar('source') ) { - switch($_GET["source"]) - { - case "addgroup_users": - $SelectorType = "radio"; - $ado = &GetADODBConnection(); - $sql = "SELECT Distinct(PortalUserId) FROM ".GetTablePrefix()."UserGroup WHERE GroupId=".$_GET["GroupId"]; - $rs = $ado->Execute($sql); - $inlist = array(); - while($rs && !$rs->EOF) - { - array_push($inlist,$rs->fields["PortalUserId"]); - $rs->MoveNext(); - } - if(count($inlist)>0) - { - $catlist = implode(",",$inlist); - $field = $objConfig->Get("UserSelect_SortField"); - if(!strlen($field)) - $field = "Login"; - $orderby = $field." ".$order; - $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 ".GetTablePrefix()."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 "; - $sql .= "u.PortalUserId NOT IN (".$catlist.")"; - - //$sql .=" ".GetLimitSQL($objSession->GetVariable("Page_UserSelect"),$objConfig->Get("Perpage_User")); - $objUsers->Query_Item($sql, $objListView->GetLimitSQL() ); - - $itemcount = TableCount(GetTablePrefix()."PortalUser","PortalUserId NOT IN ($catlist)",0); - } - else - { - $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 ".GetTablePrefix()."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"; - //$sql .=" ".GetLimitSQL($objSession->GetVariable("Page_UserSelect"),$objConfig->Get("Perpage_User")); - $objUsers->Query_Item($sql, $objListView->GetLimitSQL() ); - $itemcount = TableCount(GetTablePrefix()."PortalUser","PortalUserId NOT IN ($catlist)",0); - - } - break; - } + // specific users list requested + switch( GetVar('source') ) + { + case 'addgroup_users': + $SelectorType = 'radio'; + $ado =& GetADODBConnection(); + // get user's list in group + $sql = 'SELECT DISTINCT(PortalUserId) FROM '.$prefix.'UserGroup WHERE GroupId='.$_GET['GroupId']; + $rs = $ado->Execute($sql); + $inlist = Array(); + while($rs && !$rs->EOF) + { + array_push($inlist,$rs->fields['PortalUserId']); + $rs->MoveNext(); + } + + if(count($inlist)>0) + { + // we have users in group requested + $catlist = implode(",",$inlist); + $field = $objConfig->Get("UserSelect_SortField"); + if(!strlen($field)) + $field = "Login"; + $orderby = $field." ".$order; + $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 ".GetTablePrefix()."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 "; + $sql .= "u.PortalUserId NOT IN (".$catlist.")"; + + $objUsers->Query_Item($sql, $objListView->GetLimitSQL() ); + $itemcount = TableCount(GetTablePrefix()."PortalUser","PortalUserId NOT IN ($catlist)",0); + } + else + { + // we have no users in group requested + $catlist = -1; + $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 ".GetTablePrefix()."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"; + + $objUsers->Query_Item($sql, $objListView->GetLimitSQL() ); + $itemcount = TableCount(GetTablePrefix()."PortalUser","PortalUserId NOT IN ($catlist)",0); + + } + break; + } } else { - $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 ".GetTablePrefix()."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 $where"; - //$sql .=" ".GetLimitSQL($objSession->GetVariable("Page_UserSelect"),$objConfig->Get("Perpage_User")); - - $objUsers->Query_Item($sql, $objListView->GetLimitSQL() ); - $itemcount = TableCount(GetTablePrefix()."PortalUser","PortalUserId NOT IN ($catlist)",0); + // if nothing special required -> just display all users (paginated list) + $catlist = -1; + $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 ".GetTablePrefix()."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 $where"; + + $objUsers->Query_Item($sql, $objListView->GetLimitSQL() ); + $itemcount = QueryCount($sql); } if($objSession->HasSystemPermission("DEBUG.LIST"))