diff --git a/lib/AudioBook.php b/lib/AudioBook.php index 564fe30..6bb5b26 100644 --- a/lib/AudioBook.php +++ b/lib/AudioBook.php @@ -181,83 +181,6 @@ class AudioBook extends DbMapping return $row['NoticeId']; } - /** - * Retrieve the last books for each type. If 'type' is an empty string, then - * it returns all types. - */ - public static function lastBooksByType($type, $itemsByGroup = 10) - { - $type_before_escape = $type; - $type = Connection::escape(utf8_decode($type)); - - if ($type_before_escape == "Jeunesse") { - if ($itemsByGroup < 20) - $itemsByGroup = 20; - - $sqlQuery = " SELECT top " . $itemsByGroup . " Notices.NoticeId AS id, "; - $sqlQuery .= " Notices.title AS title, "; - $sqlQuery .= " Notices.author AS author, "; - $sqlQuery .= " LTRIM(RTRIM(Notices.NoticeNr)) AS code, "; - $sqlQuery .= " 'Jeunesse' AS type, 0 as score, "; - $sqlQuery .= " convert(varchar, CreationDate, 102) as date "; - $sqlQuery .= " FROM Notices "; - $sqlQuery .= " WHERE Notices.NoticeNr NOT LIKE '%~%' "; - $sqlQuery .= " AND Notices.NoticeNr NOT LIKE '%V%' "; - $sqlQuery .= " AND Notices.NoticeNr NOT LIKE '%T%' "; - $sqlQuery .= " AND Notices.MediaType1Code = 'CDD' "; - $sqlQuery .= " AND Notices.Visible = 1 "; - $sqlQuery .= " AND Notices.AgeCode in ('E', 'J') "; - $sqlQuery .= " ORDER BY date DESC;"; - - } else { - - $sqlQuery = "WITH cte AS ( "; - $sqlQuery .= " SELECT Notices.NoticeId AS id, "; - $sqlQuery .= " Notices.title AS title, "; - $sqlQuery .= " Notices.author AS author, "; - $sqlQuery .= " LTRIM(RTRIM(Notices.NoticeNr)) AS code, "; - $sqlQuery .= " Codes.TextFre AS type, "; - $sqlQuery .= " convert(varchar, CreationDate, 102) as date, "; - $sqlQuery .= " rank() OVER ( "; - $sqlQuery .= " PARTITION BY Codes.TextFre "; - $sqlQuery .= " ORDER BY cast(LTRIM(RTRIM(Notices.NoticeNr)) as int) DESC "; - $sqlQuery .= " ) AS num "; - $sqlQuery .= " FROM Notices "; - - $sqlQuery .= " INNER JOIN Codes "; - $sqlQuery .= " ON Notices.MediaType2Code = Codes.Code "; - $sqlQuery .= " WHERE Codes.Type = 2 "; - if (strlen($type)) - $sqlQuery .= " AND Codes.TextFre = " . $type . " "; - - $sqlQuery .= " AND Notices.NoticeNr NOT LIKE '%~%' "; - $sqlQuery .= " AND Notices.NoticeNr NOT LIKE '%V%' "; - $sqlQuery .= " AND Notices.NoticeNr NOT LIKE '%T%' "; - $sqlQuery .= " AND Notices.MediaType1Code = 'CDD' "; - $sqlQuery .= " AND Notices.Visible = 1 "; - - $sqlQuery .= " GROUP BY Codes.TextFre, "; - $sqlQuery .= " Notices.NoticeNr, "; - $sqlQuery .= " Notices.NoticeId, "; - $sqlQuery .= " Notices.title, "; - $sqlQuery .= " Notices.author, "; - $sqlQuery .= " Notices.CreationDate "; - - $sqlQuery .= ") "; - $sqlQuery .= "SELECT id, title, author, code, type, 0 as score, date "; - $sqlQuery .= "FROM cte "; - $sqlQuery .= "WHERE num <= " . intval($itemsByGroup) . " "; - $sqlQuery .= "ORDER BY date DESC;"; - } - - $resultSet = Connection::execute($sqlQuery); - $result = array(); - while (($row = $resultSet->next())) - $result[] = new AudioBook($row, TRUE); - - return $result; - } - /** * Retrieve the list of all readers (volunteers) having read at least 4 books (2 notices per book). * Returns an associative array containing $lastname and $firstname @@ -267,7 +190,7 @@ class AudioBook extends DbMapping $sql = "SELECT count(*), ContentShortPart AS name - FROM noticefields + FROM NoticeFields WHERE Tag=901 GROUP BY ContentShortPart HAVING count(*) > 6 diff --git a/mobile.netbiblio.php b/mobile.netbiblio.php index 2bef8f0..5d80b01 100644 --- a/mobile.netbiblio.php +++ b/mobile.netbiblio.php @@ -378,17 +378,6 @@ class NetBiblio extends WebService }); } - public function LastBooksByType($type, $itemsByGroup) - { - $this->checkSession(); - - $books = AudioBook::lastBooksByType($type, $itemsByGroup); - $books = array_map(array($this, 'AddFiles'), $books); - foreach ($books as $book) { - $this->data[$book['type']][] = $book; - } - } - public function InReadingBooks() { $this->data = AudioBook::inReading();