From dc3ca9f9364ea5055e908d63e7a2bbb9b14a2f6f Mon Sep 17 00:00:00 2001 From: "vincent@cubedesigners.com" Date: Tue, 22 Jun 2010 16:22:28 +0000 Subject: [PATCH] --- .../Controlleur/class.extranet.core.php | 1 + inc/ws/Controlleur/class.ws.flash.php | 16 +++++++++++++++- inc/ws/DAO/class.ws.dao.book.php | 14 +++++++++++++- inc/ws/Metier/class.ws.book.php | 1 + swf/_src/wsComposer.fla | Bin 664064 -> 664064 bytes 5 files changed, 30 insertions(+), 2 deletions(-) diff --git a/inc/extranet/Controlleur/class.extranet.core.php b/inc/extranet/Controlleur/class.extranet.core.php index ae7ecd333..a209563c9 100644 --- a/inc/extranet/Controlleur/class.extranet.core.php +++ b/inc/extranet/Controlleur/class.extranet.core.php @@ -342,6 +342,7 @@ class extranetCore extends cubeCore { $db->books->chapters('text', 0, false); $db->books->links('text', 0, false); $db->books->rulers('text', 0, false); + $db->books->extras('text',0,false); $db->books->date('integer', 0, false); // Clés $db->books->primary('pk_books', 'book_id'); diff --git a/inc/ws/Controlleur/class.ws.flash.php b/inc/ws/Controlleur/class.ws.flash.php index 9baa625a0..5bf337a62 100644 --- a/inc/ws/Controlleur/class.ws.flash.php +++ b/inc/ws/Controlleur/class.ws.flash.php @@ -334,7 +334,6 @@ class wsFlash extends cubeFlashGateway { $this->xml->addChild('width', $size[0]); $this->xml->addChild('height', $size[1]); $this->xml->addChild('rulers', json_encode($book->rulers)); - fb($book->links); } public function saveLinks() @@ -352,6 +351,21 @@ class wsFlash extends cubeFlashGateway { return $str; } + public function getExtras() + { + global $core; + $dao = new wsDAOBook($core->con); + $book = $dao->selectById($this->args['book_id']); + $this->xml->addChild('extras', htmlspecialchars(cubeXML::tidy($book->extras->asXML()))); + } + + public function saveExtras() + { + global $core; + $dao = new wsDAOBook($core->con); + $dao->setExtras($this->args['book_id'], $this->args['extras']); + } + public function getBookInfos() { global $core; diff --git a/inc/ws/DAO/class.ws.dao.book.php b/inc/ws/DAO/class.ws.dao.book.php index a6307ad1f..9858c1123 100644 --- a/inc/ws/DAO/class.ws.dao.book.php +++ b/inc/ws/DAO/class.ws.dao.book.php @@ -22,6 +22,11 @@ class wsDAOBook extends extranetDAO { } else { $book->chapters = json_decode($r->chapters, false); } + if ($r->extras == '') { + $book->extras = simplexml_load_string(''); + } else { + $book->extras = simplexml_load_string('' . $r->extras . ''); + } if ($r->links == '') { $book->links = $this->getLinksFromCSV($r->book_id); @@ -29,7 +34,7 @@ class wsDAOBook extends extranetDAO { $book->links = json_decode($r->links, false); } - if ($r->rulers = '') { + if ($r->rulers == '') { $book->rulers = array(); } else { $book->rulers = json_decode($r->rulers, false); @@ -269,6 +274,13 @@ class wsDAOBook extends extranetDAO { $c->update('WHERE book_id=\'' . $this->con->escape($book_id) . '\''); } + public function setExtras($book_id, $extras) + { + $c = $this->con->openCursor('books'); + $c->extras = $extras; + $c->update('WHERE book_id=\'' . $this->con->escape($book_id) . '\''); + } + public function getLinksFromCSV($book_id) { $booleans = array('video_loop', 'video_auto_start', 'video_controls', 'video_sound_on'); diff --git a/inc/ws/Metier/class.ws.book.php b/inc/ws/Metier/class.ws.book.php index 3b88d422d..de4b23248 100644 --- a/inc/ws/Metier/class.ws.book.php +++ b/inc/ws/Metier/class.ws.book.php @@ -28,6 +28,7 @@ class wsBook extends cubeMetier { protected $chapters; protected $links; protected $rulers; + protected $extras; } ?> \ No newline at end of file diff --git a/swf/_src/wsComposer.fla b/swf/_src/wsComposer.fla index 1e74cfa6751e01d8e2a7c6e3c5910f22a35b35ed..815297249cfee213beaf92c471309fd162508d2b 100644 GIT binary patch delta 7123 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