From: <sy...@us...> - 2007-10-10 20:56:26
|
Update of /cvsroot/tikiwiki/tiki/lib In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv29388/lib Modified Files: tikilib.php Log Message: [MOD]perms: move userpage perm + wiki_creator to get_perm_object Index: tikilib.php =================================================================== RCS file: /cvsroot/tikiwiki/tiki/lib/tikilib.php,v retrieving revision 1.796 retrieving revision 1.797 diff -u -d -r1.796 -r1.797 --- tikilib.php 10 Oct 2007 20:27:00 -0000 1.796 +++ tikilib.php 10 Oct 2007 20:54:36 -0000 1.797 @@ -3760,7 +3760,8 @@ /* get all the perm of an object either in a table or global+smarty set * OPTIMISATION: better to test tiki_p_admin outside for global=false - * TODO: all the objectType + * TODO: all the objectTypes + * TODO: replace switch with object * global = true set the global perm and smarty var, otherwise return an array of perms */ function get_perm_object($objectId, $objectType, $info='', $global=true) { @@ -4042,7 +4043,7 @@ switch ($objectType) { case 'wiki page': case 'wiki': global $wiki_creator_admin; - if ($wiki_creator_admin == 'y' && $info['creator'] == $user) { + if ($wiki_creator_admin == 'y' && $info['creator'] == $user) { //can admin his page $perms = $userlib->get_permissions(0, -1, 'permName_desc', '', $this->get_permGroup_from_objectType($objectType)); foreach ($perms['data'] as $perm) { $perm = $perm['permName']; @@ -4055,6 +4056,23 @@ } return $ret; } + global $feature_wiki_userpage, $feature_wiki_userpage_prefix; + if ($feature_wiki_userpage == 'y' && strcasecmp($info['pageName'], $feature_wiki_userpage_prefix.$user) == 0) { //can edit his page + if (!$global) { + $perms = $userlib->get_permissions(0, -1, 'permName_desc', '', $this->get_permGroup_from_objectType($objectType)); + foreach ($perms['data'] as $perm) { + global $$perm['permName']; + if ($perm['permName'] == 'tiki_p_view' || $perm['permName'] == 'tiki_p_edit') { + $ret[$perm['permName']] = 'y'; + } else { + $ret[$perm['permName']] = $$perm['permName']; + } + } + } else { + $smarty->assign('tiki_p_view', 'y'); + $smarty->assign('tiki_p_edit', 'y'); + } + } break; default: break; |