$db->books->date_status('integer', 0, false);\r
$db->books->parametres('text', 0, false);\r
$db->books->chapters('text',0,false);\r
+ $db->books->links('text',0,false);\r
$db->books->date('integer', 0, false);\r
// Clés\r
$db->books->primary('pk_books', 'book_id');\r
$t->addAttribute('nom', $theme->nom);\r
if (isset($book) && $theme->theme_id == $book->theme) {\r
$t->addAttribute('selected', '1');\r
- $mine=true;\r
- }else{\r
- $mine=false;\r
+ $mine = true;\r
+ } else {\r
+ $mine = false;\r
}\r
if ($core->user->ws_grade == 4) {\r
$right = 'w';\r
$right = '-';\r
}\r
$t->addAttribute('right', $right);\r
- $t->addAttribute('books', ($theme->nbBooks)-($mine?'1':'0'));\r
+ $t->addAttribute('books', ($theme->nbBooks) - ($mine?'1':'0'));\r
}\r
}\r
\r
$this->xml->addChild('chapters', json_encode($book->chapters));\r
}\r
\r
+ public function getLinks()\r
+ {\r
+ global $core;\r
+ $dao = new wsDAOBook($core->con);\r
+ $book = $dao->selectById($this->args['book_id']);\r
+ $this->xml->addChild('links', json_encode($book->links));\r
+ $pages = $dao->getPagesOfBook($this->args['book_id']);\r
+ $nb_pages = count($pages);\r
+ $this->xml->addChild('pages', $nb_pages);\r
+\r
+ $daoDoc = new wsDAODocument($core->con);\r
+ $firstDoc = $daoDoc->selectById($pages[1]['document_id']);\r
+ $size = $firstDoc->generalInfos['size'];\r
+\r
+ $this->xml->addChild('width', $size[0]);\r
+ $this->xml->addChild('height', $size[1]);\r
+ fb($book->links);\r
+ }\r
+\r
public function formatSize($val)\r
{\r
$str = files::size($val);\r
$book->chapters = json_decode($r->chapters, false);\r
}\r
\r
+ if ($r->links == '') {\r
+ $book->links = $this->getLinksFromCSV($r->book_id);\r
+ } else {\r
+ $book->links = json_decode($r->links, false);\r
+ }\r
+\r
$p = unserialize($r->parametres);\r
if (!$p || $p->isEmpty()) {\r
$p = new wsBookParametres($book);\r
$c->chapters = json_encode(json_decode($json, false));\r
$c->update('WHERE book_id=\'' . $this->con->escape($book_id) . '\'');\r
}\r
+\r
+ public function getLinksFromCSV($book_id)\r
+ {\r
+ $pages = $this->getPagesOfBook($book_id);\r
+ $res = array();\r
+ foreach($pages as $page => $p) {\r
+ $csv = ROOT . '/docs/' . $p['document_id'] . '/p' . $p['document_page'] . '.csv';\r
+ $fp = fopen($csv, 'rb');\r
+\r
+ while (true) {\r
+ $line = fgetcsv($fp, 512, ';', '"');\r
+ // End of file\r
+ if (!$line) {\r
+ break;\r
+ }\r
+ // Commentaire || ligne vide\r
+ if (substr($line[0], 0, 1) == '#' || is_null($line[0])) {\r
+ continue;\r
+ }\r
+ $link = array();\r
+ $cols = array('page' => '', 'type' => '', 'to' => '','left'=>'', 'top' => '', 'width' => '', 'height' => '', 'target' => '_blank', 'video_loop' => '1', 'video_auto_start' => '1', 'video_controls' => '1', 'video_sound_on' => '1');\r
+ $k = 0;\r
+ foreach($cols as $col => $default) {\r
+ if (isset($line[$k])) {\r
+ $link[$col] = $line[$k];\r
+ } else {\r
+ $link[$col] = $default;\r
+ }\r
+ $k++;\r
+ }\r
+ $link['page'] = $page;\r
+ $res[] = $link;\r
+ fb($link);\r
+ }\r
+ }\r
+ return $res;\r
+ }\r
}\r
\r
?>
\ No newline at end of file
protected $pages;\r
\r
protected $chapters;\r
+ protected $links;\r
}\r
\r
?>
\ No newline at end of file