protected static function formTags()
{
check_admin_referer('pb-user-catalog');
list($user_id, $blog_id) = explode(':', @$_REQUEST['ID']);
if (!empty($_REQUEST['user_id'])) {
$user_id = $_REQUEST['user_id'];
}
if (!empty($_REQUEST['blog_id'])) {
$blog_id = $_REQUEST['blog_id'];
}
$user_id = absint($user_id);
$blog_id = absint($blog_id);
if (!$user_id || !current_user_can('edit_user', $user_id)) {
wp_die(__('You do not have permission to do that.', 'pressbooks'));
}
// Set Redirect URL
if (get_current_user_id() != $user_id) {
$redirect_url = get_admin_url(get_current_blog_id(), '/index.php?page=pb_catalog&user_id=' . $user_id);
} else {
$redirect_url = get_admin_url(get_current_blog_id(), '/index.php?page=pb_catalog');
}
/* Go! */
$catalog = new static($user_id);
$catalog->saveBook($blog_id, array('featured' => absint(@$_REQUEST['featured'])));
// Tags
for ($i = 1; $i <= static::$maxTagsGroup; ++$i) {
$catalog->deleteTags($blog_id, $i);
$tags = isset($_REQUEST["tags_{$i}"]) ? $_REQUEST["tags_{$i}"] : array();
foreach ($tags as $tag) {
$catalog->saveTag($tag, $blog_id, $i);
}
}
$catalog->deleteCache();
// Ok!
$_SESSION['pb_notices'][] = __('Settings saved.');
// Redirect back to form
\Pressbooks\Redirect\location($redirect_url);
}