]> _ Git - fluidbook-v3.git/commitdiff
done #661 @0.5
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 5 Sep 2016 13:28:41 +0000 (13:28 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 5 Sep 2016 13:28:41 +0000 (13:28 +0000)
framework/application/controllers/MaintenanceController.php
framework/application/forms/CMS/Sub/Exemples/Fluidbook.php
framework/application/models/Reference.php
framework/application/views/helpers/Exemples.php

index d171279b3cc2fbdd8cb152a752ef95bac962c8ec..09e206f1460ad2252c9175c10545e86c4944ce25 100644 (file)
@@ -8,11 +8,16 @@ class MaintenanceController extends CubeIT_Controller_MaintenanceController {
                return $url;
        }
 
-       //      public function importEn() {
-       //              $import = new CubeIT_Translate_Import_Excel('fr', 'en');
-       //              $import->import(PUBLIC_PATH . '/translations_en.xlsx');
-       //              Bootstrap::getInstance()->getCache()->clean();
-       //      }
+//     public function featuredCategories() {
+//             $references = Fluidbook_Model_Reference::factory()->find();
+//             foreach ($references as $reference) {
+//                     if ($reference->getFeatured()) {
+//                             $reference->setFeaturedCategories($reference->getCategories());
+//                     }
+//                     fb($reference->toArray());
+//                     $reference->save();
+//             }
+//     }
 
        public function importReferences() {
                set_time_limit(0);
index c663a07b943437f8de6d1fe20d7ced06e769a113..caa3af1e9a88f251309fb31c15d4f57ec62b1fa8 100644 (file)
@@ -41,9 +41,9 @@ class Fluidbook_Form_CMS_Sub_Exemples_Fluidbook extends CubeIT_Form_List_Model {
                $categories->setLabel('Catégories');\r
                $this->addElement($categories);\r
 \r
-               $featured = new Zend_Form_Element_Checkbox('featured');\r
-               $featured->setLabel('Mis en avant');\r
-               $this->addElement($featured);\r
+               $categories = new Fluidbook_Form_CMS_Element_Exemple_Categories('featured_categories');\r
+               $categories->setLabel('Mise en avant');\r
+               $this->addElement($categories);\r
 \r
                $homeimage = new CubeIT_Form_Element_File_Image('homeimage');\r
                $homeimage->setLabel('Image pour la page d\'accueil');\r
index 38e852bb4aea3664a20c7bd28889c390c9683f47..7db26c3b857d6dfd6fe4ec44d5640c2e588de653 100644 (file)
@@ -11,8 +11,8 @@ class Fluidbook_Model_Reference extends CubeIT_Model_Data_Table {
        protected $fluidbook_id;\r
        protected $fluidbook_page;\r
        protected $image;\r
-       protected $featured;\r
        protected $categories;\r
+       protected $featured_categories;\r
        protected $homeimage;\r
 \r
        protected $_types = array('categories' => 'list', 'title' => 'json', 'text' => 'json', 'image' => 'json', 'homeimage' => 'json', 'fluidbook_id' => 'json', 'fluidbook_page' => 'json');\r
@@ -29,21 +29,26 @@ class Fluidbook_Model_Reference extends CubeIT_Model_Data_Table {
                $table->addColumn('image', 'string', array('length' => 64));\r
                $table->addColumn('homeimage', 'string', array('length' => 64));\r
                $table->addColumn('categories', 'string', array('length' => 64));\r
+               $table->addColumn('featured_categories', 'string', array('length' => 64));\r
                return $table;\r
        }\r
 \r
-       public function getFinalFluidbookId() {\r
+       public function getFluidbookId() {\r
                $res = parent::getFluidbookId();\r
                return $this->_setFrDefault($res);\r
        }\r
 \r
        protected function _setFrDefault($res) {\r
+\r
                if (CubeIT_Util_Json::isJson($res)) {\r
                        $res = CubeIT_Util_Json::decode($res);\r
                }\r
+\r
                if (!is_array($res) && !is_object($res)) {\r
                        return $res;\r
                }\r
+               $res = CubeIT_Util_Object::asObject($res);\r
+\r
                if (!$res->en) {\r
                        $res->en = $res->fr;\r
                }\r
@@ -56,9 +61,9 @@ class Fluidbook_Model_Reference extends CubeIT_Model_Data_Table {
                        return $url;\r
                }\r
                if (null === $locale) {\r
-                       return $this->_getLocalReference($this->getFinalFluidbookId());\r
+                       return $this->_getLocalReference($this->getFluidbookId());\r
                } else {\r
-                       return $this->_getLocalReference($this->getFinalFluidbookId()->$locale);\r
+                       return $this->_getLocalReference($this->getFluidbookId()->$locale);\r
                }\r
        }\r
 \r
@@ -82,7 +87,7 @@ class Fluidbook_Model_Reference extends CubeIT_Model_Data_Table {
                return '/references/' . $d . '/';\r
        }\r
 \r
-       public function getFinalFluidbookPage() {\r
+       public function getFluidbookPage() {\r
                $res = parent::getFluidbookPage();\r
                return $this->_setFrDefault($res);\r
        }\r
@@ -96,7 +101,7 @@ class Fluidbook_Model_Reference extends CubeIT_Model_Data_Table {
                }\r
 \r
                $res->fr = $this->_getFinalURL($res->fr, 'fr');\r
-               $res->fr = $this->_getFinalURL($res->en, 'en');\r
+               $res->en = $this->_getFinalURL($res->en, 'en');\r
 \r
                return $res;\r
        }\r
index 93345d1cbed5d26874f132bb4c8de9bcdbc594db..022e4e40b70e2b53e8ae27026b79f711757a345e 100644 (file)
@@ -28,7 +28,7 @@ class Fluidbook_View_Helper_Exemples extends CubeIT_View_Helper_Abstract {
                $okexemples = array();\r
 \r
                foreach ($exemples as $id => $exemple) {\r
-                       if ($category > 0 && !in_array($category, $exemple->getCategories())) {\r
+                       if ($category > 0 && !in_array($category, $exemple->getCategories()) && !in_array($category, $exemple->getFeaturedCategories())) {\r
                                continue;\r
                        }\r
                        $okexemples[$id] = $exemple;\r
@@ -42,7 +42,7 @@ class Fluidbook_View_Helper_Exemples extends CubeIT_View_Helper_Abstract {
                $max_normal = $max_featured * $normal_per_featured;\r
 \r
                foreach ($okexemples as $id => $exemple) {\r
-                       if ($exemple->getFeatured()) {\r
+                       if (in_array($category, $exemple->getFeaturedCategories())) {\r
                                $featured[] = $id;\r
                        } else {\r
                                $normal[] = $id;\r
@@ -111,8 +111,9 @@ class Fluidbook_View_Helper_Exemples extends CubeIT_View_Helper_Abstract {
 \r
                $image = CubeIT_Util_Cms::extractFile($f->getImage());\r
 \r
-               if (!$image && $f->getFinalFluidbookId()) {\r
-                       $res .= $this->exemplePublication($f->getFinalFluidbookId(), $f->getFinalFluidbookPage());\r
+\r
+               if (!$image && $f->getFluidbookId()) {\r
+                       $res .= $this->exemplePublication($f->getFluidbookId(), $f->getFluidbookPage());\r
                } else {\r
                        $res .= $this->htmlElement('', 'div',\r
                                array('style' => 'background-image:url(' . $this->imageProcess()->imageProcessGetURL($image, $f->getTitle() . ' - ' . $f->getText(), 660, 440, array(), 'R') . ');',\r