Můžete upravit pouze dva řádky:
->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)
EDIT:
Vynechání FALSE
Parametr by umístil zpětná zaškrtnutí před hranaté závorky a učinil by je součástí názvu/hodnoty tabulky, čímž by byl dotaz nepoužitelný.
NULL
parametr je tam jen proto, že funkce vyžaduje, aby druhý parametr byl hodnotou, a protože žádnou nemáme, pošleme NULL.