Du kan bara ändra de två raderna:
->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:
Utelämnar FALSE
parametern skulle ha placerat backtickarna före hakparenteserna och göra dem till en del av tabellnamnet/värdet, vilket gör frågan oanvändbar.
NULL
parametern finns där bara för att funktionen kräver att den andra parametern är ett värde, och eftersom vi inte har ett så skickar vi NULL.