From 0c74d6aa159b8bc2756cdddc52922e51f8810ccd Mon Sep 17 00:00:00 2001 From: "vincent@cubedesigners.com" Date: Tue, 19 Jul 2016 16:32:48 +0000 Subject: [PATCH] #487 @2 --- .../controllers/MaintenanceController.php | 53 ------------------- .../views/helpers/ExemplePublication.php | 8 +-- .../application/views/helpers/Exemples.php | 15 ++++-- 3 files changed, 17 insertions(+), 59 deletions(-) diff --git a/framework/application/controllers/MaintenanceController.php b/framework/application/controllers/MaintenanceController.php index fdbc3c7..2825582 100644 --- a/framework/application/controllers/MaintenanceController.php +++ b/framework/application/controllers/MaintenanceController.php @@ -1,59 +1,6 @@ getFormerDb(); - $references = $former->select()->from('liste_references') - ->query()->fetchAll(); - - Fluidbook_Model_Reference::truncate(); - Fluidbook_Model_Reference_Category::truncate(); - - $categories = array(); - - foreach ($references as $reference) { - if (null == $reference->type || !$reference->type) { - continue; - } - $categories = array_merge(explode('§', $reference->type), $categories); - - } - $categories = array_unique($categories); - $categories = array_values($categories); - $categories = array_flip($categories); - - $names = array('brochures' => 'Brochure', 'catalogues' => 'Catalogue', 'magazines' => 'Magazine', 'rapports' => 'Rapport annuel'); - foreach ($categories as $name => $id) { - $m = new Fluidbook_Model_Reference_Category(); - $m->setIdValue($id+1); - $m->setName(array('fr' => $names[$name])); - $m->save(true, false); - } - - - foreach ($references as $reference) { - $data = array(); - $data['id'] = $reference->uid; - $data['date'] = $reference->fluidbook_date; - $data['title'] = array('fr' => $reference->titre, 'en' => $reference->titre); - $data['image'] = array($this->_copyFileToCMS('http://www.fluidbook.com/files/' . $reference->image)); - - if ($reference->type) { - $c = array(); - $cc = explode('§', $reference->type); - foreach ($cc as $item) { - $c[] = $categories[$item]+1; - } - $data['categories'] = $c; - } - $data['text'] = array('fr' => $reference->desc___fr, 'en' => $reference->desc___en); - $data['url'] = array('fr' => $this->_filterURL($reference->link_url___fr), 'en' => $this->_filterURL($reference->link_url___en)); - - $m = new Fluidbook_Model_Reference($data); - $m->save(true, false); - } - } - protected function _filterURL($url) { if (null === $url || !$url || $url == 'http://') { return ''; diff --git a/framework/application/views/helpers/ExemplePublication.php b/framework/application/views/helpers/ExemplePublication.php index 96bb24c..5233465 100644 --- a/framework/application/views/helpers/ExemplePublication.php +++ b/framework/application/views/helpers/ExemplePublication.php @@ -62,9 +62,11 @@ class Fluidbook_View_Helper_ExemplePublication extends CubeIT_View_Helper_Abstra $url = '/files/' . $path . $page . '.jpg'; $file = $dir . $page . '.jpg'; - if (!file_exists($file)) { - $url = 'https://workshop.fluidbook.com/viewerh/' . $fluidbook_id . '_bcf26f9cf4a795ec00b9a44f42750d58_1234567890/data/background/150/t' . $page . '.jpg'; - file_put_contents($file, file_get_contents($url)); + if (!file_exists($file) || !filesize($file)) { + $fb = 'https://workshop.fluidbook.com/viewerh/' . $fluidbook_id . '_bcf26f9cf4a795ec00b9a44f42750d58_12345678900/'; + file_get_contents($fb); + $wsurl = $fb . 'data/background/150/t' . $page . '.jpg'; + file_put_contents($file, file_get_contents($wsurl)); } $size = CubeIT_Image::getDimensions($file, $width, $height); return array('url' => $url, 'width' => $width, 'height' => $height); diff --git a/framework/application/views/helpers/Exemples.php b/framework/application/views/helpers/Exemples.php index 05019e9..d5a6918 100644 --- a/framework/application/views/helpers/Exemples.php +++ b/framework/application/views/helpers/Exemples.php @@ -18,17 +18,26 @@ class Fluidbook_View_Helper_Exemples extends CubeIT_View_Helper_Abstract { $exemples = Fluidbook_Model_Reference::factory()->order('date DESC')->find(); $this->_categories = Fluidbook_Model_Reference_Category::factory()->find(); - $max_featured = floor($nb / 5); - $normal_per_featured = 4; - $max_normal = $max_featured * $normal_per_featured; + $perline = 5.0; $featured = array(); $normal = array(); + $c = 0; foreach ($exemples as $id => $exemple) { if ($category > 0 && !in_array($category, $exemple->getCategories())) { continue; } + $c++; + } + + $c = CubeIT_Math::round($c, $perline, 'floor'); + $nb = min($c, CubeIT_Math::round($nb, $perline, 'floor')); + $max_featured = floor($nb / $perline); + $normal_per_featured = $perline - 1; + $max_normal = $max_featured * $normal_per_featured; + + foreach ($exemples as $id => $exemple) { if ($exemple->getFeatured()) { $featured[] = $id; } else { -- 2.39.5