public function init() { $blocks = BlocksModel::model()->cache(Yii::app()->controller->cacheTime)->enabled()->findAll(); if (!empty($blocks)) { foreach ($blocks as $row) { if (!isset($this->data[$row['position']])) { $this->data[$row['position']] = array(); } $this->data[$row['position']][$row['id']] = array('blockID' => $row['id'], 'blockPOS' => $row['position'], 'modules' => $row['modules'], 'access' => $row['access'], 'widget' => $row['widget'], 'name' => $row['name'], 'content' => $row['content']); } } }
public function actionUpdate($new = false) { $model = $new === true ? new BlocksModel() : BlocksModel::model()->findByPk($_GET['id']); if (isset($model)) { $this->pageName = Yii::t('app', 'BLOCKS'); $this->breadcrumbs = array($this->pageName => Yii::app()->createUrl('admin/core/blocks'), $new === true ? Yii::t('app', 'CREATE', 1) : Yii::t('app', 'UPDATE', 1)); if (isset($_POST['BlocksModel'])) { $model->attributes = $_POST['BlocksModel']; if (!empty($model->modules)) { $model->modules = implode(',', $_POST['BlocksModel']['modules']); } if ($model->validate()) { if ($_POST['BlocksModel']['expire'] == 0) { $model->expire = 0; } else { $model->expire = time() + $_POST['BlocksModel']['expire'] * 86400; } if ($model->widget) { Yii::import('app.blocks_settings.*'); $manager = new BlockSystemManager(); $system = $manager->getSystemClass($model->widget); if ($system) { $system->saveSettings($model->widget, $_POST); } else { } } $model->save(); //$this->refresh(); } } else { } if (!empty($model->modules)) { $modules = explode(',', $model->modules); foreach ($modules as $mod) { $mods[] = $mod; } $model->modules = $mods; } $this->render('update', array('model' => $model)); } else { throw new CHttpException(404); } }