Created
January 27, 2016 18:05
-
-
Save underhilllabs/caa71e9fdf0c1c2d7593 to your computer and use it in GitHub Desktop.
Using the entity metadata wrapper with a field list of references.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Removes user as owner if they are currently owner. | |
*/ | |
function bglib_remove_owner($nid, $uid) { | |
$u = user_load($uid); | |
$wrapper = entity_metadata_wrapper('node', $nid); | |
$owners = $wrapper->field_owners->value(); | |
foreach($owners as $delta => $owner) { | |
if($owner == $u) { | |
unset($wrapper->field_owners[$delta]); | |
$wrapper->save(); | |
} | |
} | |
} | |
/** | |
* Adds user as owner if they are not already | |
*/ | |
function bglib_add_owner($nid, $uid) { | |
$found = false; | |
$u = user_load($uid); | |
$wrapper = entity_metadata_wrapper('node', $nid); | |
$owners = $wrapper->field_owners->value(); | |
foreach($owners as $owner) { | |
if ($owner == $u) { | |
$found = true; | |
} | |
} | |
if($found == false) { | |
$wrapper->field_owners[] = $u; | |
$wrapper->save(); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
$node_wrapper = entity_metadata_wrapper('node', 8); | |
$owners = $node_wrapper->field_owners->value(); | |
$u = user_load(1); | |
print "owners are : " ; | |
$found = 0; | |
foreach($owners as $delta => $owner) { | |
print "\n owner name: " . $owner->name; | |
if($u == $owner) { | |
print "\nfound owner at $delta!"; | |
$found = $delta; | |
unset($node_wrapper->field_owners[$delta]); | |
$node_wrapper->save(); | |
} | |
//dpm( $owner); | |
} | |
dpm($owners); | |
//dpm($node_wrapper->field_owners); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment