From 860f3222cf06491ac477ba9266b2614e19c83203 Mon Sep 17 00:00:00 2001 From: "vincent@cubedesigners.com" Date: Wed, 28 Apr 2010 08:31:07 +0000 Subject: [PATCH] --- inc/ws/Controlleur/class.ws.flash.php | 16 ++++++++++- inc/ws/DAO/class.ws.dao.theme.php | 37 +++++++++++++++++++++++++- swf/_src/wsComposer.fla | Bin 664064 -> 664064 bytes 3 files changed, 51 insertions(+), 2 deletions(-) diff --git a/inc/ws/Controlleur/class.ws.flash.php b/inc/ws/Controlleur/class.ws.flash.php index 6f2f133ba..405d6012c 100644 --- a/inc/ws/Controlleur/class.ws.flash.php +++ b/inc/ws/Controlleur/class.ws.flash.php @@ -144,6 +144,7 @@ class wsFlash extends cubeFlashGateway { if (isset($this->args['book_id'])) { $dao = new wsDAOBook($core->con); $book = $dao->selectById($this->args['book_id']); + } $dao = new wsDAOTheme($core->con); @@ -164,11 +165,24 @@ class wsFlash extends cubeFlashGateway { } else { $right = '-'; } - $t->addAttribute('right', rand(0,1)?'w':'r'/*$right*/); + $t->addAttribute('right', rand(0, 1)?'w':'r'/*$right*/); $t->addAttribute('books', $theme->nbBooks); } } + public function duplicateTheme() + { + global $core; + $dao = new wsDAOTheme($core->con); + $theme = $dao->duplicate($this->args['theme_id'], $core->user->utilisateur_id); + $this->xml->addChild('theme_id', $theme->theme_id); + if (isset($this->args['book_id'])) { + $dao = new wsDAOBook($core->con); + $data = array('book_id' => $this->args['book_id'], 'theme' => $theme->theme_id); + $dao->sauve($core->user->utilisateur_id, $data); + } + } + public function setTheme() { global $core; diff --git a/inc/ws/DAO/class.ws.dao.theme.php b/inc/ws/DAO/class.ws.dao.theme.php index 463432291..3927572d7 100644 --- a/inc/ws/DAO/class.ws.dao.theme.php +++ b/inc/ws/DAO/class.ws.dao.theme.php @@ -8,7 +8,7 @@ class wsDAOTheme extends extranetDAO { $theme->date = $r->date; $theme->proprietaire = $r->proprietaire; $theme->books = explode(',', $r->books); - $theme->nbBooks=$r->nb_books; + $theme->nbBooks = $r->nb_books; $theme->signature = $r->signature; $theme->icones = $r->icones; $p = unserialize($r->parametres); @@ -47,6 +47,41 @@ class wsDAOTheme extends extranetDAO { $r = $this->con->select($sql . ' ' . $order); return $this->factory($r); } + + protected function getNextId() + { + $r = $this->con->select('SELECT MAX(theme_id) AS theme_id FROM themes'); + return $r->theme_id + 1; + } + + public function duplicate($theme_id, $proprietaire) + { + $theme = $this->selectById($theme_id); + // Copie des données + $c = $this->con->openCursor('themes'); + $c->theme_id = $this->getNextId(); + $c->nom = $theme->nom . ' (copy)'; + $c->parametres = serialize($theme->parametres); + $c->signature = $theme->signature; + $c->icones = $theme->icones; + $c->proprietaire = $proprietaire; + $c->date = TIME; + $c->insert(); + // Copie des fichiers + $from = ROOT . '/themes/' . $theme_id . '/'; + $to = ROOT . '/themes/' . $c->theme_id . '/'; + $dr = opendir($from); + if (!file_exists($to)) { + mkdir($to, 0777, true); + } while ($file = readdir($dr)) { + if ($file == '.' || $file == '..') { + continue; + } + copy($from . $file, $to . $file); + } + + return $this->selectById($c->theme_id); + } } ?> \ No newline at end of file diff --git a/swf/_src/wsComposer.fla b/swf/_src/wsComposer.fla index 26707572ac8a93b7b39b840d91fae3a11a97c488..856700c04643db14639ebe8a514b0ff4065c9529 100644 GIT binary patch delta 12355 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 d`XeK6-{_zkVfB;;ZxwjsXElk{(>5