* @author Shohei Nakajima * @link http://www.netcommons.org NetCommons Project * @license http://www.netcommons.org/license.txt NetCommons License * @copyright Copyright 2014, NetCommons Project */ App::uses('BlockBaseModel', 'Blocks.Model'); App::uses('BlockSettingBehavior', 'Blocks.Model/Behavior'); /** * BlogSetting Model * * @author Shohei Nakajima * @package NetCommons\Blogs\Model */ class BlogSetting extends BlockBaseModel { /** * Custom database table name * * @var string */ public $useTable = false; /** * Validation rules * * @var array */ public $validate = array(); /** * use behaviors * * @var array */ public $actsAs = array( 'Blocks.BlockRolePermission', 'Blocks.BlockSetting' => array( BlockSettingBehavior::FIELD_USE_WORKFLOW, BlockSettingBehavior::FIELD_USE_LIKE, BlockSettingBehavior::FIELD_USE_UNLIKE, BlockSettingBehavior::FIELD_USE_COMMENT, BlockSettingBehavior::FIELD_USE_COMMENT_APPROVAL, 'use_sns' ), ); /** * Get blog setting data * * @return array * @see BlockSettingBehavior::getBlockSetting() */ public function getBlogSetting() { return $this->getBlockSetting(); } /** * Save blog_setting * * @param array $data received post data * @return mixed On success Model::$data if its not empty or true, false on failure * @throws InternalErrorException */ public function saveBlogSetting($data) { //トランザクションBegin $this->begin(); //バリデーション $this->set($data); if (! $this->validates()) { $this->rollback(); return false; } try { // useTable = falseでsaveすると必ずfalseになるので、throwしない $this->save(null, false); //トランザクションCommit $this->commit(); } catch (Exception $ex) { //トランザクションRollback $this->rollback($ex); } return true; } }