From 149889cd0cf9d4f4188da3dc28ff6935991f314d Mon Sep 17 00:00:00 2001 From: "vincent@cubedesigners.com" Date: Fri, 11 Jun 2010 14:25:12 +0000 Subject: [PATCH] --- .../Controlleur/class.extranet.core.php | 1 + inc/ws/Controlleur/class.ws.flash.php | 27 +++++++++-- inc/ws/DAO/class.ws.dao.book.php | 43 ++++++++++++++++++ inc/ws/Metier/class.ws.book.php | 1 + swf/_src/assets/fleches-fb3d.png | Bin 0 -> 672 bytes swf/_src/wsComposer.fla | Bin 664064 -> 664064 bytes 6 files changed, 68 insertions(+), 4 deletions(-) create mode 100644 swf/_src/assets/fleches-fb3d.png diff --git a/inc/extranet/Controlleur/class.extranet.core.php b/inc/extranet/Controlleur/class.extranet.core.php index d7aac95f9..55a0e7bb1 100644 --- a/inc/extranet/Controlleur/class.extranet.core.php +++ b/inc/extranet/Controlleur/class.extranet.core.php @@ -340,6 +340,7 @@ class extranetCore extends cubeCore { $db->books->date_status('integer', 0, false); $db->books->parametres('text', 0, false); $db->books->chapters('text',0,false); + $db->books->links('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 0c37aef82..af82a84c3 100644 --- a/inc/ws/Controlleur/class.ws.flash.php +++ b/inc/ws/Controlleur/class.ws.flash.php @@ -165,9 +165,9 @@ class wsFlash extends cubeFlashGateway { $t->addAttribute('nom', $theme->nom); if (isset($book) && $theme->theme_id == $book->theme) { $t->addAttribute('selected', '1'); - $mine=true; - }else{ - $mine=false; + $mine = true; + } else { + $mine = false; } if ($core->user->ws_grade == 4) { $right = 'w'; @@ -179,7 +179,7 @@ class wsFlash extends cubeFlashGateway { $right = '-'; } $t->addAttribute('right', $right); - $t->addAttribute('books', ($theme->nbBooks)-($mine?'1':'0')); + $t->addAttribute('books', ($theme->nbBooks) - ($mine?'1':'0')); } } @@ -299,6 +299,25 @@ class wsFlash extends cubeFlashGateway { $this->xml->addChild('chapters', json_encode($book->chapters)); } + public function getLinks() + { + global $core; + $dao = new wsDAOBook($core->con); + $book = $dao->selectById($this->args['book_id']); + $this->xml->addChild('links', json_encode($book->links)); + $pages = $dao->getPagesOfBook($this->args['book_id']); + $nb_pages = count($pages); + $this->xml->addChild('pages', $nb_pages); + + $daoDoc = new wsDAODocument($core->con); + $firstDoc = $daoDoc->selectById($pages[1]['document_id']); + $size = $firstDoc->generalInfos['size']; + + $this->xml->addChild('width', $size[0]); + $this->xml->addChild('height', $size[1]); + fb($book->links); + } + public function formatSize($val) { $str = files::size($val); diff --git a/inc/ws/DAO/class.ws.dao.book.php b/inc/ws/DAO/class.ws.dao.book.php index 2fbd80a42..4cb9ca96e 100644 --- a/inc/ws/DAO/class.ws.dao.book.php +++ b/inc/ws/DAO/class.ws.dao.book.php @@ -23,6 +23,12 @@ class wsDAOBook extends extranetDAO { $book->chapters = json_decode($r->chapters, false); } + if ($r->links == '') { + $book->links = $this->getLinksFromCSV($r->book_id); + } else { + $book->links = json_decode($r->links, false); + } + $p = unserialize($r->parametres); if (!$p || $p->isEmpty()) { $p = new wsBookParametres($book); @@ -248,6 +254,43 @@ class wsDAOBook extends extranetDAO { $c->chapters = json_encode(json_decode($json, false)); $c->update('WHERE book_id=\'' . $this->con->escape($book_id) . '\''); } + + public function getLinksFromCSV($book_id) + { + $pages = $this->getPagesOfBook($book_id); + $res = array(); + foreach($pages as $page => $p) { + $csv = ROOT . '/docs/' . $p['document_id'] . '/p' . $p['document_page'] . '.csv'; + $fp = fopen($csv, 'rb'); + + while (true) { + $line = fgetcsv($fp, 512, ';', '"'); + // End of file + if (!$line) { + break; + } + // Commentaire || ligne vide + if (substr($line[0], 0, 1) == '#' || is_null($line[0])) { + continue; + } + $link = array(); + $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'); + $k = 0; + foreach($cols as $col => $default) { + if (isset($line[$k])) { + $link[$col] = $line[$k]; + } else { + $link[$col] = $default; + } + $k++; + } + $link['page'] = $page; + $res[] = $link; + fb($link); + } + } + return $res; + } } ?> \ No newline at end of file diff --git a/inc/ws/Metier/class.ws.book.php b/inc/ws/Metier/class.ws.book.php index dd3b20046..5ca097864 100644 --- a/inc/ws/Metier/class.ws.book.php +++ b/inc/ws/Metier/class.ws.book.php @@ -26,6 +26,7 @@ class wsBook extends cubeMetier { protected $pages; protected $chapters; + protected $links; } ?> \ No newline at end of file diff --git a/swf/_src/assets/fleches-fb3d.png b/swf/_src/assets/fleches-fb3d.png new file mode 100644 index 0000000000000000000000000000000000000000..4cb8651f7ebbe86e334e02badd2e770e98e908a5 GIT binary patch literal 672 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 LIW}jG*OvbREANtb delta 1200 zcmaJ6uxKfoV$0I+hqmXZWUxHn5;;3OOYZ1S-NXeQ3GgeN!5}VYShp+5+q>y zu-1eoD=NLCJ59rbVsoR7CT+K22%f5|zIB5G)yY*zEW)gC;HEI@% zu3&gYnC%blfE7=jd(ezCw<+Nm@6i};ethwLW}S$!LebxJ(SZ;2+;<0>+rz>&08`<9pes@H8JkQ|gZK zEdL@2z7b0PS8>t*<%oMA{Z4xRNO~SrdY%nD=LWgtQ8T{sI`p3%qisb;Fap=IZv-oW z|E|x+3aj98@pWM$Q)N~iz51#esWSV)`;b%18s^oQLGL(cUXwZMjSW(o}?_~pS?j5t5glh?yG8LKz)n{9XzO62B0p?YG3`2^{oJ@Ex*m zf$vxQtMDUJmhA(d@-Okf*2>9l+$uXx@h4?yioc{TFYpTRY%Dr~)Zh>vfZtnZ-S2I*iezewMS(8s+d^L7 zP#2TdkkuyRUDk-c+zMV-UXxO(z1BfLX|~koHI!JSHPu``GhiJV9Px# -- 2.39.5