/** * createContents * * @param array $data データの配列 * @param string $expect PHPコード * @return void * @dataProvider createContentsDataProvider */ public function testCreateContents($data, $expect) { $reader = new BcThemeConfigReader(); $this->assertEquals($expect, $reader->createContents($data)); }
/** * 保存 * * @param array $data 保存するデータの配列 * @param bool|array $validate 真偽値または配列 * 真偽値の場合はバリデーションするかを示す * 配列の場合は下記のキーを含むことが可能: * * - validate: trueまたはfalseに設定してバリデーションを有効化・無効化する * - fieldList: 保存を許すフィールドの配列 * - callbacks: falseに設定するとコールバックを無効にする. 'before' または 'after' * に設定するとそれぞれのコールバックだけが有効になる * - `counterCache`: Boolean to control updating of counter caches (if any) * * @param array $fieldList 保存を許すフィールドの配列 * @return bool */ public function save($data = null, $validate = true, $fieldList = array()) { if (!$data) { $data = $this->data; } else { $this->set($data); } if ($validate) { if (!$this->validates()) { return false; } } if (isset($data['Theme'])) { $data = $data['Theme']; } $path = WWW_ROOT . 'theme' . DS; if ($path . $data['old_name'] != $path . $data['name']) { if (!rename($path . $data['old_name'], $path . $data['name'])) { return false; } } $reader = new BcThemeConfigReader(); $data = array_merge($reader->read($data['name']), $data); $reader->dump($data['name'], $data); return true; }