<?php
class MaintenanceController extends CubeIT_Controller_MaintenanceController {
- public function importReferences() {
- $former = Bootstrap::getInstance()->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 '';
\r
$url = '/files/' . $path . $page . '.jpg';\r
$file = $dir . $page . '.jpg';\r
- if (!file_exists($file)) {\r
- $url = 'https://workshop.fluidbook.com/viewerh/' . $fluidbook_id . '_bcf26f9cf4a795ec00b9a44f42750d58_1234567890/data/background/150/t' . $page . '.jpg';\r
- file_put_contents($file, file_get_contents($url));\r
+ if (!file_exists($file) || !filesize($file)) {\r
+ $fb = 'https://workshop.fluidbook.com/viewerh/' . $fluidbook_id . '_bcf26f9cf4a795ec00b9a44f42750d58_12345678900/';\r
+ file_get_contents($fb);\r
+ $wsurl = $fb . 'data/background/150/t' . $page . '.jpg';\r
+ file_put_contents($file, file_get_contents($wsurl));\r
}\r
$size = CubeIT_Image::getDimensions($file, $width, $height);\r
return array('url' => $url, 'width' => $width, 'height' => $height);\r
$exemples = Fluidbook_Model_Reference::factory()->order('date DESC')->find();\r
$this->_categories = Fluidbook_Model_Reference_Category::factory()->find();\r
\r
- $max_featured = floor($nb / 5);\r
- $normal_per_featured = 4;\r
- $max_normal = $max_featured * $normal_per_featured;\r
+ $perline = 5.0;\r
\r
$featured = array();\r
$normal = array();\r
+ $c = 0;\r
foreach ($exemples as $id => $exemple) {\r
if ($category > 0 && !in_array($category, $exemple->getCategories())) {\r
continue;\r
}\r
\r
+ $c++;\r
+ }\r
+\r
+ $c = CubeIT_Math::round($c, $perline, 'floor');\r
+ $nb = min($c, CubeIT_Math::round($nb, $perline, 'floor'));\r
+ $max_featured = floor($nb / $perline);\r
+ $normal_per_featured = $perline - 1;\r
+ $max_normal = $max_featured * $normal_per_featured;\r
+\r
+ foreach ($exemples as $id => $exemple) {\r
if ($exemple->getFeatured()) {\r
$featured[] = $id;\r
} else {\r