Можете да промените само двата реда:
->where('(library.available_until >=', date("Y-m-d H:i:s"), FALSE)
->or_where("library.available_until = '00-00-00 00:00:00')", NULL, FALSE)
РЕДАКТИРАНЕ:
Пропускане на FALSE
параметърът щеше да постави обратните отметки преди скобите и да ги направи част от името/стойността на таблицата, правейки заявката неизползваема.
NULL
параметърът е там само защото функцията изисква вторият параметър да бъде стойност и тъй като нямаме такава, изпращаме NULL.