Пример #1
0
 public static function saveBlock($block, $blockData)
 {
     if (isset(self::$_fileBlocks[$block])) {
         $blockData['category_id'] = !empty($blockData['category_id']) ? $blockData['category_id'] : 0;
         if (!empty(self::$_allBlocks[$block])) {
             $existingBlock = self::$_allBlocks[$block];
             if ($existingBlock->type != $blockData['type'] || $existingBlock->label != $blockData['label'] || $existingBlock->category_id != $blockData['category_id']) {
                 $existingBlock->category_id = $blockData['category_id'];
                 $existingBlock->type = $blockData['type'];
                 $existingBlock->label = $blockData['label'];
                 $existingBlock->order = self::$_fileBlocks[$block]['order'];
                 $existingBlock->save();
             }
         } else {
             $newBlock = new Block();
             $newBlock->category_id = $blockData['category_id'];
             $newBlock->name = $block;
             $newBlock->type = $blockData['type'];
             $newBlock->note = !empty($blockData['note']) ? $blockData['note'] : '';
             $newBlock->label = $blockData['label'];
             $newBlock->order = self::$_fileBlocks[$block]['order'];
             $newBlock->save();
             self::$_allBlocks[$block] = $newBlock;
         }
     }
     if (!empty(self::$_selectBlocks[$block])) {
         BlockSelectOption::import(self::$_allBlocks[$block]->id, self::$_selectBlocks[$block]);
     }
 }