Changeset 83
- Timestamp:
- 06/25/07 19:38:07 (2 years ago)
- Files:
-
- trunk/wp-infocard/custom/customdata.pw.php (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/wp-infocard/custom/customdata.pw.php
r66 r83 28 28 function describeCustomData() 29 29 { 30 return "camera type is requested and used to change ad content"; 30 return "camera type is used to change ad content." 31 . "group is used if the returned claim is photogroup. " 32 . "grouprole is used if the returned claim is grouprole "; 33 31 34 } 32 35 … … 53 56 'Camera Type'); 54 57 55 //$claimslist['cameratype'] = new pw_claimtype( 56 // 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/postalcode', 57 // 'postalcode', 58 // FALSE, 59 // 'Camera Type'); 58 $claimslist['group'] = new pw_claimtype( 59 'http://burtongroup.com/interop/2007/05/identity/group', 60 'group', 61 FALSE, 62 'Group Membership'); 63 64 $claimslist['grouprole'] = new pw_claimtype( 65 'http://burtongroup.com/interop/2007/05/identity/groupRole', 66 'groupRole', 67 FALSE, 68 'Group Role'); 60 69 return; 61 70 }//end function add CustomClaims … … 84 93 'Custom Data Mapping' 85 94 ); 95 $datamap['group'] = new pw_mapping( 96 'Group Membership', 97 'group', 98 PW_TABLE_PREFIX . 'usermeta', 99 'return $' . 'claimslist[\'group\']->token_value;' , 100 'Custom Data Mapping' 101 ); 102 $datamap['grouprole'] = new pw_mapping( 103 'Group Role', 104 'grouprole', 105 PW_TABLE_PREFIX . 'usermeta', 106 'return $' . 'claimslist[\'grouprole\']->token_value;' , 107 'Custom Data Mapping' 108 ); 86 109 return; 87 110 } … … 129 152 pw_utils::printDebug('Existing Value: found custom value '.$datamap['cameratype']->mappingattribute.' in usermeta ( '.$datamap['cameratype']->db_value.' )<br/>'); 130 153 } 154 155 $grp = get_usermeta( $ID, 'group'); 156 if ( $grp ) 157 { 158 $datamap['group']->add_db_value( $grp ); 159 pw_utils::printDebug('Existing Value: found custom value '.$datamap['group']->mappingattribute.' in usermeta ( '.$datamap['group']->db_value.' )<br/>'); 160 } 161 162 $grpr = get_usermeta( $ID, 'grouprole'); 163 if ( $grpr ) 164 { 165 $datamap['grouprole']->add_db_value( $grpr ); 166 pw_utils::printDebug('Existing Value: found custom value '.$datamap['grouprole']->mappingattribute.' in usermeta ( '.$datamap['grouprole']->db_value.' )<br/>'); 167 } 168 131 169 return; 132 170 } // end function evaluateIncomingCustomData … … 142 180 pw_utils::printDebug(" ".$datamap['cameratype']->displayname."User meta updated for user # $ID<br />"); 143 181 } 182 183 if (($datamap['group']) && (!$datamap['group']->compare())) 184 { 185 $grp = $datamap['group']->new_value; 186 update_usermeta( $ID, 'group', $grp ); 187 pw_utils::printDebug(" ".$datamap['group']->displayname."User meta updated for user # $ID<br />"); 188 } 189 190 if (($datamap['grouprole']) && (!$datamap['grouprole']->compare())) 191 { 192 $grpr = $datamap['grouprole']->new_value; 193 update_usermeta( $ID, 'grouprole', $grpr ); 194 pw_utils::printDebug(" ".$datamap['grouprole']->displayname."User meta updated for user # $ID<br />"); 195 } 196 197 pw_utils::printDebugHeader("Access Rights Data" ); 198 // Set capabilities if either a group or a grouprole exists 199 if ( $datamap['group']->new_value === 'photogroup' ) 200 { 201 202 pw_utils::printDebug(" Photo Group Claim detected<br />" ); 203 $thisuser = new WP_User( $ID ); 204 if ( $datamap['grouprole']->new_value === 'photogroup:admin' ) 205 { 206 pw_utils::printDebug(" Photo Group Admin Role Claim detected<br />" ); 207 if ($thisuser->has_cap('administrator')) 208 pw_utils::printDebug(" user already has Admin capabilities<br />" ); 209 else 210 { 211 pw_utils::printDebug(" adding Admin abilities<br />" ); 212 $thisuser->set_role('administrator'); 213 } 214 } 215 else 216 { 217 if ($thisuser->has_cap('author')) 218 { 219 pw_utils::printDebug("&nbs;user already has Author capabilities<br />" ); 220 } 221 else 222 { 223 pw_utils::printDebug(" adding Editor abilities<br />" ); 224 $thisuser->set_role('author'); 225 } 226 } 227 } 228 else 229 { 230 $thisuser = new WP_User( $ID ); 231 // there are no capabilities here 232 if ($thisuser->has_cap('administrator')) 233 { 234 if ( $ID !== "1" ) 235 { 236 pw_utils::printDebug(" removing admin rights<br />" ); 237 $thisuser->remove_role('administrator'); 238 $thisuser->set_role('subscriber'); 239 240 } 241 } 242 else 243 { 244 if ( $thisuser->has_cap('author') ) 245 { 246 pw_utils::printDebug(" no access rights specified - resetting user rights to a mere subscriber<br />" ); 247 $thisuser->remove_role('author'); 248 $thisuser->set_role('subscriber'); 249 } 250 else 251 pw_utils::printDebug(" no change in access rights<br/>" ); 252 253 254 255 } 256 } 257 144 258 return; 145 259 } // end function updateNewCustom
