Exemplo n.º 1
0
 public static function Get($key)
 {
     $content = '';
     $module = Yii::$app->getModule('livecontent');
     if ($module->HasContent($key)) {
         $content = $module->GetContent($key);
     } else {
         $content = Yii::$app->cache->get('content_' . md5($key));
         if ($content === false) {
             if (($model = ContentData::place($key)) !== null) {
                 $content = $model->content;
                 Yii::$app->cache->set('content_' . md5($key), $content, $module->cacheContentDuration);
             }
         }
     }
     return $content;
 }
 public function actionBlocksave()
 {
     $return = ['class' => 'danger', 'msg' => Yii::t('app', 'Saving error')];
     $post = Yii::$app->request->post();
     if (isset($post['ContentData'])) {
         $contentData = $post['ContentData'];
         $model = ContentData::place($contentData['place']);
         if (!isset($model)) {
             $model = new ContentData();
             $model->place = $contentData['place'];
         }
         $model->content = isset($post['DynamicModel']) ? serialize($post['DynamicModel']) : '';
     } else {
         $model = new ContentData();
     }
     $model->type = 'block';
     $blockData = $post['data-block'];
     $data = json_decode(base64_decode($blockData));
     $dataModel = $this->createContentFormModel($data);
     foreach ($post['DynamicModel'] as $key => $value) {
         $dataModel->{$key} = $value;
     }
     if ($model->validate() && $dataModel->validate() && $model->save()) {
         Content::Set($model->place, $model->content);
         $return = array('class' => 'success', 'msg' => Yii::t('app', 'Data is saved'));
     } else {
         $errors = $dataModel->getErrors();
         $return = array('class' => 'danger', 'msg' => Yii::t('app', 'Saving error'), 'error_fields' => array_keys($errors));
     }
     echo JSON::encode($return);
 }