Pressbooks\Catalog::formTags PHP Метод

formTags() защищенный статический Метод

Save tags to database
protected static formTags ( )
    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);
    }