/** * @param $username * @return array * @throws InvalidParameterException * @throws SecurityException */ function album_getid($username) { $user = get_user_by_username($username); if (!$user) { throw new InvalidParameterException('registration:usernamenotvalid'); } $albums = elgg_list_entitiesApi(array('type' => 'object', 'subtype' => 'album', 'full_view' => false, 'list_type' => 'gallery', 'list_type_toggle' => false, 'gallery_class' => 'tidypics-gallery', 'owner_guids' => $user->guid, 'title' => 'river')); $return = array(); $return['guid'] = 0; foreach ($albums as $album) { if ($album->title == 'river' && $album->access_id != 0) { $return['guid'] = $album->guid; } } if ($return['guid'] == 0) { $new_album = new TidypicsAlbum(); $new_album->owner_guid = $user->guid; $new_album->access_id = -2; $new_album->title = 'river'; $new_album->description = 'shared with friends'; if (!$new_album->save()) { register_error(elgg_echo("album:error")); forward(REFERER); } else { $return['guid'] = $new_album->guid; } } return $return; }
// Get input data $title = get_input('title'); $description = get_input('description'); $tags = get_input('tags'); $access_id = get_input('access_id'); $container_guid = get_input('container_guid', elgg_get_logged_in_user_guid()); $guid = get_input('guid'); elgg_make_sticky_form('tidypics'); if (empty($title)) { register_error(elgg_echo("album:blank")); forward(REFERER); } if ($guid) { $album = get_entity($guid); } else { $album = new TidypicsAlbum(); } $album->container_guid = $container_guid; $album->owner_guid = elgg_get_logged_in_user_guid(); $album->access_id = $access_id; $album->title = $title; $album->description = $description; if ($tags) { $album->tags = string_to_tag_array($tags); } if (!$album->save()) { register_error(elgg_echo("album:error")); forward(REFERER); } elgg_clear_sticky_form('tidypics'); system_message(elgg_echo("album:created"));
if ($album->access_id != $access_id) { $options = array('type' => 'object', 'subtype' => 'image', 'container_guid' => $album->guid, 'limit' => false); $images = new ElggBatch('elgg_get_entities', $options); foreach ($images as $image) { $image->access_id = $access_id; $image->save(); } $options = array('type' => 'object', 'subtype' => 'tidypics_batch', 'container_guid' => $album->guid, 'limit' => false); $batches = new ElggBatch('elgg_get_entities', $options); foreach ($batches as $batch) { $batch->access_id = $access_id; $batch->save(); } } } else { $album = new TidypicsAlbum(); } $album->container_guid = $container_guid; $album->owner_guid = elgg_get_logged_in_user_guid(); $album->access_id = $access_id; $album->title = $title; $album->description = $description; if ($tags) { $album->tags = string_to_tag_array($tags); } else { $album->deleteMetadata('tags'); } if (!$album->save()) { register_error(elgg_echo("album:error") . elgg_echo("zhaohu:sorry")); elgg_log("ZHError , tidypics:album:save, error calling album->save(), album_id {$guid} , user_id " . elgg_get_logged_in_user_guid(), "ERROR"); forward(REFERER);