Function: nornix_site.save_layout

Information
DTD identifierDeterministicData accessMode
int(11)NOMODIFIES SQL DATA

Code

Saves the layout and its block dependencies

CREATE DEFINER=`root`@`localhost` FUNCTION `save_layout`(vScript TEXT, vBlockList VARCHAR(255),
 vLayoutNo INTEGER, vResponseType INTEGER) RETURNS int(11)
    MODIFIES SQL DATA
    COMMENT 'Saves the layout and its block dependencies'
BEGIN
 UPDATE layout
  SET Script = vScript
  WHERE `No` = vLayoutNo;

 DELETE FROM layoutblock WHERE `LayoutNo` = vLayoutNo;

 /* split comma separated block list */
 CALL split_string(vBlockList, ",");
 INSERT INTO layoutblock(`LayoutNo`, `BlockNo`)
  SELECT vLayoutNo, `No`
  FROM block
  WHERE `Name` IN (SELECT `part` FROM splitstring);

 DELETE FROM documentcache;
 DELETE FROM `cache` WHERE `Type` = vResponseType;
 RETURN 1;
END