Example #1
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search1($params)
 {
     fb($params);
     $query = Diary::find()->select(Diary::tableName() . '.*')->addSelect('b.content as content');
     $query->leftJoin(['b' => DiaryContent::tableName()], 'b.diary_id = ' . Diary::tableName() . '.id', ['b.content' => 'content']);
     fb($query->createCommand()->sql);
     $defaultOrder = ['release_time' => SORT_DESC];
     if (!empty($params['orderField'])) {
         $defaultOrder = [$params['orderField'] => $params['orderDirection'] == 'asc' ? SORT_ASC : SORT_DESC];
     }
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 20], 'sort' => ['defaultOrder' => $defaultOrder]]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'release_time' => $this->release_time, 'recommend' => $this->recommend, 'like' => $this->like, 'created_by' => $this->created_by, 'created_at' => $this->created_at, 'updated_by' => $this->updated_by, 'updated_at' => $this->updated_at]);
     $query->andFilterWhere(['like', 'author', $this->author])->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'label', $this->label])->andFilterWhere(['like', 'profile', $this->profile])->andFilterWhere(['like', 'source', $this->source])->andFilterWhere(['like', 'diary_type', $this->diary_type])->andFilterWhere(['like', 'privacy', $this->privacy])->andFilterWhere(['like', 'can_reply', $this->can_reply]);
     fb($dataProvider->getModels());
     return $dataProvider;
 }
 public function diaryContent()
 {
     return DiaryContent::find()->asArray()->all();
 }
Example #3
0
use common\models\diary\DiaryContent;
use frontend\widget\FrontendUserMenuWidget;
use frontend\widget\FrontendUserCommentWidget;
use yii\web\View;
/* @var $this yii\web\View */
/* @var $model common\models\diary\Diary */
$this->title = $model->title;
$this->params['breadcrumbs'][] = ['label' => Yii::t('diary', 'Diaries'), 'url' => ['index']];
$this->params['breadcrumbs'][] = $this->title;
$baseUrl = Yii::getAlias('@web');
$this->registerJs("\n    \$(function(){\n        \$('#user_like_operate').on('click',function(){\n            var is_like_operate = \$('#is_like_operate').val();\n            if(is_like_operate == 'false'){\n\n                var params = {};\n                params.diary_id = \$('input[name=\"diary_id\"]').val();\n\n                \$.ajax({\n                    type: 'POST',\n                    url: '/diary/diary/add-like',\n                    dataType: 'json',\n                    data: params,\n                    success: function(data){\n                        if(data.status == 'success'){\n                            \$('#is_like_operate').val('true');\n                            \$('#user_like_operate i').removeClass('fa-thumbs-o-up').addClass('fa-thumbs-up');\n                            \$('#user_operate_view').html(data.liked_count + ' likes');\n\n                        }else{\n                            alertMsg.error(data.msg);\n                        }\n                    }\n                });\n            }\n        })\n    })\n");
?>

<?php 
$diaryContent = '';
$diaryContentModel = DiaryContent::find()->Where(['diary_id' => $model->id])->one();
if (!empty($diaryContentModel)) {
    $diaryContent = $diaryContentModel->getAttribute('content');
}
?>

<div class="diary-view">

    <div class="container">
        <!-- Main content -->
        <section class="content">
            <div class="row">
                <!--  TODO:相册主题              -->
                <div class="col-md-8">
                    <h3><?php 
echo $model->title;
Example #4
0
 /**
  * Deletes an existing Diary model.
  * If deletion is successful, the browser will be redirected to the 'index' page.
  * @param integer $id
  * @return mixed
  */
 public function actionDelete($id)
 {
     $this->findModel($id)->delete();
     DiaryContent::deleteAll('diary_id = :diary_id', [':diary_id' => $id]);
     DiaryComment::deleteAll('diary_id = :diary_id', [':diary_id' => $id]);
     // 推荐队列
     RecommendQueue::deleteDiaryById($id);
     $result = ['statusCode' => '200', 'message' => '操作成功', 'navTabId' => 'diary_diary_index_id', 'forwardUrl' => '', 'callbackType' => ''];
     echo Json::encode($result);
 }