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]); } }