oki
so i wrote little plugin which generate a default private page for each new added user.
(it creates unique doc group , web user group, set webgroup access and set home page for user)
plugin need to be set up OnWebSaveUser event
here is the source:
(i know this code is ugly

but i am not a pro php developer)
//retrive last inserted webuser id
$user_id=$modx->db->select("id","modx_web_users","", "id DESC","1");
$last = mysql_fetch_assoc($user_id);
$user_id=$last[id];
//check if user is member of any group
$is_member=$modx->db->select("id","modx_web_groups","webuser = $user_id", "","");
$total_rows = $modx->db->getRecordCount( $is_member );
//if not
if($total_rows==0){
//get last page id
$id=$modx->db->select("id","modx_site_content","", "id DESC","1");
$last = mysql_fetch_assoc($id);
$page_id=$last[id];
$page_id++;
//get last inserted document group name id
$id=$modx->db->select("id","modx_documentgroup_names ","", "id DESC","1");
$last = mysql_fetch_assoc($id);
$doc_name_id=$last[id];
$doc_name_id++;
//create unique doc group name
$sql = "INSERT INTO modx_documentgroup_names VALUES($doc_name_id,'$doc_group$user_id',0,0)";
$modx->db->query($sql);
//get last inserted document group id
$id=$modx->db->select("id","modx_document_groups","", "id DESC","1");
$last = mysql_fetch_assoc($id);
$doc_group_id=$last[id];
$doc_group_id++;
//create unique doc group
$sql = "INSERT INTO modx_document_groups VALUES($doc_group_id,$doc_name_id,$page_id) ";
$modx->db->query($sql);
//get last inserted web group name id
$id=$modx->db->select("id","modx_webgroup_names","", "id DESC","1");
$last = mysql_fetch_assoc($id);
$web_group_name_id=$last[id];
$web_group_name_id++;
//create unique web group name
$prefix="web_group_";
$sql = "INSERT INTO modx_webgroup_names VALUES($web_group_name_id,'$prefix$user_id')";
$modx->db->query($sql);
//get last inserted web group access id
$id=$modx->db->select("id","modx_webgroup_access","", "id DESC","1");
$last = mysql_fetch_assoc($id);
$web_group_access_id=$last[id];
$web_group_access_id++;
//add web group access for user
$sql = "INSERT INTO modx_webgroup_access VALUES($web_group_access_id,$web_group_name_id,$doc_name_id) ";
$modx->db->query($sql);
//get last inserted web group id
$id=$modx->db->select("id","modx_web_groups","", "id DESC","1");
$last = mysql_fetch_assoc($id);
$web_group_id=$last[id];
$web_group_id++;
//add user to webgroup
$sql = "INSERT INTO modx_web_groups VALUES($web_group_id,$web_group_name_id,$user_id) ";
$modx->db->query($sql);
//set homepage for user
$sql = "INSERT INTO modx_web_user_settings VALUES($user_id,'login_home',$page_id) ";
$modx->db->query($sql);
//create page
$sql ="INSERT INTO `modx_site_content` VALUES ($page_id, 'document', 'text/html', 'test', 'test', '', '', '', 1, 0, 0, 0, 0, 'test', '<p>test</p>', 1, 5, 6, 1, 1, 1, 1182963293, 1, 1182963829, 0, 0, 0, 1182963293, 1, '', 0, 0, 0, $doc_name_id, 0, 0, 0)";
$modx->db->query($sql);
}
else{
return 0;
}
for now it dont have a lot configuration but it will try to change it later
plugin conf :
&doc_group=doc group prefix;string;doc_group_
in backend web users/docs group settings everything seems to work just fine,
but
issue#1 - when i am log in as a new created user - i can see link to private page (which is good) but i can not access this page, while i am trying to open private page - home page is displayed (but adress is pointing to private page :/ )
any ideas how to solve it ??
also i would like to close repeating code
example :
//get last inserted web group access id
$id=$modx->db->select("id","modx_webgroup_access","", "id DESC","1");
$last = mysql_fetch_assoc($id);
$web_group_access_id=$last[id];
$web_group_access_id++;
in to function() - i was trying to do thatt but whithout good results
i will be greatfull for any help
rgds