public function run() { $criteria = new CdbCriteria(); $criteria->limit = $this->data('limit'); $criteria->offset = $this->data('offset'); $criteria->condition = "post_status='publish' AND (post_modified <= '" . date('Y-m-d H:i:s') . "' AND post_modified >= '" . $this->data('time') . "')"; $criteria->order = 'post_hits DESC'; if ($this->data('autoByTerm')) { if (isset($_GET['id'])) { $category = Category::model()->findByPK((int) $_GET['id']); $label = Label::model()->findByPK((int) $_GET['id']); $topic = Topic::model()->findByPK((int) $_GET['id']); $tag = Tag::model()->findByPK((int) $_GET['id']); if ($category != null) { $criteria = $this->getCriteriaTerm('categories', $criteria); } elseif ($label != null) { $criteria = $this->getCriteriaTerm('labels', $criteria); } elseif ($topic != null) { $criteria = $this->getCriteriaTerm('topics', $criteria); } elseif ($tag != null) { $criteria = $this->getCriteriaTerm('tags', $criteria); } } } $model = Post::model()->findAll($criteria); if ($model != null) { $this->layout($model); } }
public function actionList() { $criteria = new CDbCriteria(); $criteria->order = 'id asc'; $topics = Topic::model()->findAll($criteria); $this->render('list', array('topics' => $topics)); }
private function loadModel($id, $slug) { $models = Topic::model()->findByAttributes(array('term_id' => (int) $id, 'slug' => $slug)); if ($models === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $models; }
public function actionList() { $this->channel = 'topic'; $criteria = new CDbCriteria(); $criteria->order = 'orderid desc, post_nums desc, id asc'; $topics = Topic::model()->findAll($criteria); $this->setSiteTitle(t('all_topic_list')); $this->setPageKeyWords(null); $this->setPageDescription(t('all_topics_description')); cs()->registerMetaTag('all', 'robots'); $this->render('list', array('topics' => $topics)); }
public function loadTag($data = '', $operation = 'OR') { $criteria = new CdbCriteria(); $cond = ''; $criteria = new CDbCriteria(); if (!empty($data)) { foreach ($data as $key => $val) { $cond .= " term_id='{$val}' "; if (end($data) !== $val) { $cond .= $operation; } } } $criteria->condition = $cond; $criteria->order = "name DESC"; $model = Topic::model()->findAll($criteria); return $model; }
/** * Creates a new posts. * If creation is successful, the browser will be redirected to the 'show' page. */ public function actionCreate() { if (isset($_POST['Post'])) { $user = User::model()->find('username = :username', array('username' => Yii::app()->user->name)); $session = Yii::app()->session; $topic = Topic::model()->findByPk($session['topic_id']); $forum = Forum::model()->findByPk($session['forum_id']); /*$transaction = Post::model()->dbConnection->beginTransaction(); try { */ $now = date('Y-m-d H:i:s'); $post = new Post(); $post->user_id = $user->id; $post->topic_id = $session['topic_id']; $post->forum_id = $session['forum_id']; $post->body = $_POST['Post']['body']; // TODO: fix me $post->body_html = $post->body; $post->created_at = $now; $post->updated_at = $now; if (!$post->save()) { var_dump('<pre>', $post->getErrors()); } if (!$user->save()) { var_dump('<pre>', $user->getErrors()); } $topic->updated_at = $now; /*$topic->replied_at = $now; $topic->replied_by = $user->id; $topic->last_post_id = $post->id;*/ if (!$topic->save()) { var_dump('<pre>', $topic->getErrors()); } /*$transaction->commit(); } catch(Exception $e) { $transaction->rollBack(); throw new CHttpException(500, 'Failed to save post'); }*/ $url = $this->createUrl('topic/view', array('id' => $session['topic_id'], '#' => "post-{$post->id}")); $this->redirect($url); } }
/** * 显示主页 * @param String $order */ public function actionIndex($order = "new") { //根据不同的order 选择不同的sql语句 switch ($order) { case 'new': $sql = "select `{{question}}`.`id` as `question_id`,`{{question}}`.`question_content`,`{{question}}`.`add_time`,`{{question}}`.`answer_count`,`{{question}}`.`view_count`,`{{question}}`.`lock`,`{{question}}`.`best_answer`,`{{users}}`.`avatar_file`,`{{users}}`.`uid`\n\t\t\t\tfrom `{{question}}`\n\t\t\t\tleft join `{{users}}` on (`{{question}}`.`published_uid`=`{{users}}`.`uid`) order by `{{question}}`.`add_time` desc\n\t\t\t\t"; break; //热门查看人数排序 //热门查看人数排序 case 'hot': $sql = "select `{{question}}`.`id` as `question_id`,`{{question}}`.`question_content`,`{{question}}`.`add_time`,`{{question}}`.`answer_count`,`{{question}}`.`view_count`,`{{question}}`.`lock`\n\t\t\t\t,`{{users}}`.`avatar_file`,`{{users}}`.`uid`\n\t\t\t\tfrom `{{question}}`\n\t\t\t\tleft join `{{users}}` on (`{{question}}`.`published_uid`=`{{users}}`.`uid`) order by `{{question}}`.`view_count` desc\n\t\t\t\t"; break; //未回复数排序 //未回复数排序 case 'unresponsive': $sql = "select `{{question}}`.`id` as `question_id`,`{{question}}`.`question_content`,`{{question}}`.`add_time`,`{{question}}`.`answer_count`,`{{question}}`.`view_count`,`{{question}}`.`lock`\n\t\t\t\t,`{{users}}`.`avatar_file`,`{{users}}`.`uid`\n\t\t\t\tfrom `{{question}}`\n\t\t\t\tleft join `{{users}}` on (`{{question}}`.`published_uid`=`{{users}}`.`uid`) where `{{question}}`.`answer_count` = 0\n\t\t\t\t"; break; //默认根据时间排序 //默认根据时间排序 default: $sql = "select `{{question}}`.`id` as `question_id`,`{{question}}`.`question_content`,`{{question}}`.`add_time`,`{{question}}`.`answer_count`,`{{question}}`.`view_count`,`{{question}}`.`lock`\n\t\t\t\t,`{{users}}`.`avatar_file`,`{{users}}`.`uid`\n\t\t\t\tfrom `{{question}}`\n\t\t\t\tleft join `{{users}}` on (`{{question}}`.`published_uid`=`{{users}}`.`uid`) order by `{{question}}`.`add_time` desc\n\t\t\t\t"; break; } $connection = Yii::app()->db; $criteria = new CDbCriteria(); $models = $connection->createCommand($sql)->queryAll(); $count = count($models); $pages = new CPagination($count); $pages->pageSize = 10; $pages->applylimit($criteria); $models = $connection->createCommand($sql . " LIMIT :offset,:limit"); $models->bindValue(':offset', $pages->currentPage * $pages->pageSize); $models->bindValue(':limit', $pages->pageSize); $models = $models->queryAll(); //获取话题 $topic_models = Topic::model()->findAll(array('select' => 'id,topic_title', 'order' => 'discuss_count desc', 'limit' => '25')); $this->pageTitle = "首页"; $this->render('index', array('models' => $models, 'pages' => $pages, 'topic_models' => $topic_models)); }
/** * 删除信息 * 多表删除 事物处理 * 删除 question 中信息 * 删除 answer 表中信息 * 删除 question * 更新topic中次数 */ public function actionDelete($id) { $transaction = Yii::app()->db->beginTransaction(); try { //删除question 表信息 if (!Question::model()->deleteByPk($id)) { throw new Exception("删除question表失败"); } //删除 topic_question 表 首先把 topic id 查找出来 //获取topic id $topic_ids = TopicQuestion::model()->findAll(array('select' => 'topic_id', 'condition' => 'question_id=:question_id', 'params' => array(':question_id' => $id))); //更新 topic次数 foreach ($topic_ids as $model) { //更新topic 次数 if (!Topic::model()->updateByPk($model->topic_id, array('discuss_count' => new CDbExpression('discuss_count-1')))) { throw new ErrorException('更新失败'); } } //删除topic_question 表中信息 if (false === TopicQuestion::model()->deleteAll('question_id=:question_id', array('question_id' => $id))) { throw new ErrorException('删除topic_question中信息失败'); } //删除question_comment 中信息 if (false === QuestionComments::model()->deleteAll('question_id=:question_id', array('question_id' => $id))) { throw new ErrorException('删除question_comment中信息失败'); } //获取answer_comment 中id $answer_comment_models = Answer::model()->findAll(array('select' => 'id', 'condition' => 'question_id=:question_id', 'params' => array(':question_id' => $id))); //删除answer_comment 中信息 foreach ($answer_comment_models as $answer_comment_model) { if (false === AnswerComments::model()->deleteAll('answer_id=:answer_id', array(':answer_id' => $answer_comment_model->id))) { throw new ErrorException('删除answer_comment中信息失败'); } } //删除answer 表中信息 if (false === Answer::model()->deleteAll('question_id=:question_id', array('question_id' => $id))) { throw new ErrorException('删除answer中信息失败'); } //删除question_focus 中信息 if (false === QuestionFocus::model()->deleteAll('question_id=:question_id', array('question_id' => $id))) { throw new ErrorException('删除question_focus 中信息失败'); } $transaction->commit(); $this->success('删除成功'); } catch (Exception $e) { $transaction->rollBack(); exit($e->getMessage()); $this->error($e->getMessage()); } }
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer $id the ID of the model to be loaded * @return Topic the loaded model * @throws CHttpException */ public function loadModel($name) { //$model=Topic::model()->findByPk($id); $model = Topic::model()->findByAttributes(array('name' => $name)); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
if ($lenght != 0) { echo $form->select2Row($userModel, 'topic_ids', array('asDropDownList' => false, 'options' => array('multiple' => true, 'maximumSelectionSize' => $lenght, 'placeholder' => '请输入删除话题', 'width' => '70%', 'tokenSeparators' => array(',', ' '), 'ajax' => array('url' => $this->createUrl('searchtopic'), 'dataType' => 'json', 'data' => 'js: function (term,page) { return { name: term , };}', 'results' => 'js: function (data,page) {return {results: data};}')))); } else { echo $form->hiddenField($userModel, 'topic_ids'); } if ($userModel->topic_ids != "") { ?> <div class="control-group "> <label class="control-label" for="s2id_autogen1">已添加的擅长的话题</label> <div class="controls"> <?php $topicArrays = explode(",", trim($userModel->topic_ids, ",")); ?> <?php foreach ($topicArrays as $topicArray) { $topicModel = Topic::model()->findByPk($topicArray); ?> <span class="label"><?php echo $topicModel->name; ?> <a href="javascript:;" title="删除" data-type="removetopic" onclick="removeTopic(<?php echo $topicModel->id; ?> )" data-value="<?php echo $topicModel->id; ?> " style="color:#fff;">×</a></span> <?php } ?> </div>
<style> #toModal .control-label{width: 70px;} #groupModal .controls{margin-left: 80px;} </style> <?php $form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array('id' => 'topic-form', 'type' => 'horizontal', 'action' => $action, 'htmlOptions' => array('enctype' => 'multipart/form-data'))); $score = Sys::model()->getvaluesByType("topic_score"); if (Sys::model()->getvaluesByType("topic_type") == "0") { $hint = "新建话题奖励你" . $score . "个财富值"; } else { $hint = "新建话题会花掉你" . $score . "个财富值"; } echo $form->textFieldRow($topicModel, 'name', array("hint" => $hint)); echo $form->textAreaRow($topicModel, 'desc'); echo $form->dropDownListRow($topicModel, 'parent_id', Topic::model()->listTopics(0, '', '', '默认话题'), array('encode' => false)); echo $form->fileFieldRow($topicModel, 'logo', array('hint' => '上传图片格式为:gif、jpg、jpeg、png')); $this->endwidget();
public function actionViewRecommend() { header('Content-type: application/json'); if (!IjoyPlusServiceUtils::validateAPPKey()) { IjoyPlusServiceUtils::exportServiceError(Constants::APP_KEY_INVALID); return; } if (IjoyPlusServiceUtils::validateUserID()) { IjoyPlusServiceUtils::exportServiceError(Constants::USER_ID_INVALID); return; } $prod_id = Yii::app()->request->getParam("prod_id"); if (!isset($prod_id) || is_null($prod_id)) { IjoyPlusServiceUtils::exportServiceError(Constants::PARAM_IS_INVALID); return; } $program = Program::model()->findByPk($prod_id); if ($program === null) { IjoyPlusServiceUtils::exportServiceError(Constants::OBJECT_NOT_FOUND); return; } $userid = Yii::app()->request->getParam("user_id"); if (!isset($userid) || is_null($userid)) { $userid = Yii::app()->user->id; } $prod = ProgramUtil::exportProgramEntity($program); $reCom = Dynamic::model()->getDynamicByProd($userid, $prod_id, Constants::DYNAMIC_TYPE_RECOMMEND); if (isset($reCom) && !is_null($reCom)) { $prod['reason'] = $reCom->content_desc; } $comments = Comment::model()->getCommentsByProgram($prod_id, 10, 0); if (isset($comments) && is_array($comments)) { $commentTemps = array(); foreach ($comments as $comment) { $commentTemps[] = IjoyPlusServiceUtils::transferComments($comment); } $prod['comments'] = $commentTemps; } else { $prod['comments'] = array(); } $dynamic = Dynamic::model()->friendDynamicForProgram(Yii::app()->user->id, $prod_id, 10, 0); if (isset($dynamic) && is_array($dynamic)) { $prod['dynamics'] = $this->transferDynamics($dynamic); } else { $prod['dynamics'] = array(); } $topics = Topic::model()->getRelatedTops($prod_id); if (isset($topics) && is_array($topics)) { $prod['topics'] = $topics; } else { $prod['topics'] = array(); } IjoyPlusServiceUtils::exportEntity($prod); }
echo $form->textField($model, 'img_id', array('size' => 10, 'maxlength' => 10)); ?> </div> <div class="row"> <?php echo $form->label($model, 'usr_id'); echo $form->dropDownList($model, 'usr_id', CHtml::listData(User::model()->findAll(), 'usr_id', 'name')); ?> </div> <div class="row"> <?php echo $form->label($model, 'topic_id'); echo $form->dropDownList($model, 'topic_id', CHtml::listData(Topic::model()->findAll(), 'topic_id', 'topic')); ?> </div> <div class="row"> <?php echo $form->label($model, 'cmt'); ?> <?php echo $form->textField($model, 'cmt', array('size' => 60, 'maxlength' => 255)); ?> </div> <div class="row"> <?php
?> 个问题)</span></div> <?php } } else { echo "<div class='alert alert-info'>暂无最新话题</div>"; } ?> </fieldset> <fieldset> <legend style="margin-bottom: 10px;">最新话题</legend> <?php $criteria = new CDbCriteria(); $criteria->order = "create_time desc"; $criteria->limit = 10; $newTopicModel = Topic::model()->findAll($criteria); $count = array(); if (!empty($newTopicModel)) { foreach ($newTopicModel as $newTopic) { ?> <div class="clearfix" style="padding:4px 0;"><a class="topic-label" style="margin-right:4px;" data-id="<?php echo $newTopic->id; ?> " href="javascript:;" style="margin-right:4px;"><span class="badge"><?php echo $newTopic->name; ?> </span></a><span style="color:#ccc;margin-left:0;">(共<?php echo Question::model()->count("topic_ids like '%," . $newTopic->id . ",%'"); ?> 个问题)</span></div> <?php
/** * Loads the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. */ protected function loadTopic() { if (isset($_GET['id'])) { $topic = Topic::model()->with('posts')->findbyPk($_GET['id']); } //die(var_dump($topic)); if (isset($topic)) { return $topic; } else { throw new CHttpException(500, 'The requested topic does not exist.'); } }
<?php /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ $criteria = new CDbCriteria(); $criteria->order = "create_time"; $criteria->limit = $limit; $models = Topic::model()->findAll($criteria); if (empty($models)) { echo "暂无话题"; } else { foreach ($models as $key => $value) { ?> <a class="topic-label" data-id="<?php echo $value->id; ?> " href="javascript:;" title="<?php echo $value->name; ?> "><span class="label"><?php echo $value->name; ?> </span></a> <?php } }
?> " height="40p" width="40"></a> <span class="side-topic-item ellipsis"> <a href="<?php echo $this->createUrl("topic", array("id" => $model->id)); ?> " class="topic-link side-topic-title" title="<?php echo $model->name; ?> "><?php echo $model->name; ?> </a> <span class="side-topic-meta clearfix"> <?php $count = Topic::model()->count("parent_id=" . $data->topic_id); ?> <?php if ($count > 0) { ?> <span class="zg-gray"><?php echo $count; ?> 个子话题 •</span> <?php } ?> <span class="zg-gray"><?php echo $model->join_user == "" ? 0 : count(explode(",", trim($model->join_user, ","))); ?> 人关注</span>
height: 15px; } .topic-item .delete{right: 30px;} </style> <?php $this->pageTitle = "我关注的话题 - " . Yii::app()->name; ?> <div class="content clearfix"> <div class="content-left"> <fieldset> <legend>话题动态<span class="pull-right" style="font-size: 14px;"><a href="<?php echo $this->createUrl("personal", array("type" => "jointopic", "user_id" => Yii::app()->user->id)); ?> ">共关注了<?php echo Topic::model()->getAttendtionCount(Yii::app()->user->id); ?> 个话题</a></span></legend> </fieldset> <?php $this->widget('bootstrap.widgets.TbListView', array('dataProvider' => $dataProvider, 'itemView' => '../_topiclist', 'emptyText' => '<div class="alert alert-info">暂无关注的话题</div>', 'template' => '{items}{pager}', 'id' => 'topic-list', 'htmlOptions' => array('style' => 'padding-top:0px'))); ?> </div> <div class="content-right"> <div class="alert alert-info">将话题固定在边栏,拖动改变他们的位置,以便快速进入</div> <fieldset> <legend>常去话题<span class="badge badge-info pull-right" style="font-size: 14px;margin-top: 10px;" id="topic-count"><?php echo $topicDataProvider->itemCount; ?> </span></legend> </fieldset>
protected function loadtopics() { if (isset($_GET['id'])) { $topics = Topic::model()->with('author')->findAll('forum_id = :forum_id', array(':forum_id' => $_GET['id'])); //$topics = Topic::model()->findAllBySql('SELECT * FROM topics WHERE forum_id = :forum_id', array(':forum_id' => (int)$_GET['id'])); } return $topics; }
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer $id the ID of the model to be loaded * @return Topic the loaded model * @throws CHttpException */ public function loadModel($id) { $model = Topic::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
echo Topic::model()->findByPk($topicModel->parent_id)->name; ?> </span> </a> </div> </div> <?php } ?> <?php if (Topic::model()->count("parent_id=:parent_id", array(":parent_id" => $topicModel->id)) > 0) { ?> <div class="sidebar-center"> <h3 class="topic-title">子话题</h3> <div class="topic-desc"> <?php $childrenModel = Topic::model()->findAll("parent_id=:parent_id", array(":parent_id" => $topicModel->id)); ?> <?php foreach ($childrenModel as $key => $value) { ?> <a class="topic-label" href="javascript:;" data-id="<?php echo $value->id; ?> "><span class="badge"><?php echo $value->name; ?> </span></a> <?php } ?>
public function listTopic() { return CHtml::listData(Topic::model()->findAll(array('order' => 'name ASC')), 'term_id', 'name'); }
.vote-list .accepted-flag i{font-size: 50px;padding: 0;margin: 0;line-height: 60px;} .vote-list .accepted-flag span{position: absolute;top:0;left: 0;display: inline-block;width: 100%;line-height: 50px;} .vote-list .accepted-checked i{color:#075fb6 !important;} .vote-list .accepted-selectecd i{color:#000 !important;} </style> <?php $this->pageTitle = $model->subject." - " . Yii::app()->name; $this->widget('bootstrap.widgets.TbBreadcrumbs', array('links' => array("文章" => array("allarticle"),$model->subject)));?> <div class="content clearfix"> <div class="content-left"> <div class="question-body clearfix"> <div class="pull-left vote-number clearfix"> <div class="pull-left opt-list" style="width: 50px;"> <a rel="tooltip" data-original-title="<?php echo Vote::model()->count("opinion=0 and model=:model and pk_id=:pk_id and create_user=:create_user", array(":create_user" => Yii::app()->user->id, ":pk_id" => $model->id, ":model" => "article")) > 0 ? '取消赞同' : '赞同'; ?>" class="btn btn-mini <?php echo Vote::model()->count("opinion=0 and pk_id=:pk_id and create_user=:create_user and model=:model", array(":model" => "article", ":create_user" => Yii::app()->user->id, ":pk_id" => $model->id)) > 0 ? 'active' : ''; ?>" name="<?php echo (Yii::app()->user->isGuest) ? 'noLogin' : 'agreeeAnswer'; ?>" data-model="article" data-pk="<?php echo $model->id; ?>"><i class="icon icon-arrow-up"></i><br/><span class="count"><?php echo Vote::model()->count("opinion=0 and model=:model and pk_id=:pk_id", array(":model" => "article", ":pk_id" => $model->id)); ?></span></a> <br/><a class="btn btn-mini <?php echo Vote::model()->count("opinion=1 and model=:model and pk_id=:pk_id and create_user=:create_user", array(":model" => "article", ":create_user" => Yii::app()->user->id, ":pk_id" => $model->id)) > 0 ? 'active' : ''; ?>" rel="tooltip" data-original-title="<?php echo Vote::model()->count("opinion=1 and pk_id=:pk_id and model=:model and create_user=:create_user", array(":create_user" => Yii::app()->user->id, ":pk_id" => $model->id, ":model" => "article")) > 0 ? '取消反对' : '反对,不会显示你的姓名'; ?>" data-placement="bottom" name="<?php echo (Yii::app()->user->isGuest) ? 'noLogin' : 'disagreeeAnswer'; ?>" data-model="article" data-pk="<?php echo $model->id; ?>"><i style="font-size:14px;" class="icon icon-arrow-down"></i></a></div> </div> <div class="question-content" style="margin-left:50px;"> <p><?php $topicArray = explode(",",trim($model->topic_ids,","));?><?php for($i=0;$i<count($topicArray);$i++){?> <?php $topicModel = Topic::model()->findByPk($topicArray[$i]);?> <?php if($topicModel){?> <a href="javascropt:;" data-id="<?php echo $topicArray[$i];?>" class="topic-label"><span class="label"><?php echo $topicModel->name;?><span></a> <?php }?> <?php }?> <a href="javascript:;" onclick="report(<?php echo $model->id;?>, 'article')" title="举报" class="pull-right"><i class="icon-flag" style="margin-right: 4px;"></i> 举报</a></p> <h3><?php echo $model->subject; ?></h3> <p class="clearfix " style="font-size: 12px;height: 24px;line-height: 24px;"><span class="pull-left"><a href='<?php echo $this->createUrl("userinfo", array("user_id" => $model->create_user)); ?>' class="user-label" data-id="<?php echo $model->create_user; ?>" title="<?php echo User::getNameById($model->create_user); ?>"><?php echo User::getNameById($model->create_user); ?></a><span style="color:#ccc;margin-left: 10px;"><?php echo Comment::timeintval($model->create_time); ?> 发表</span></span><span class="pull-right"><a class="user-label" href="javascript:;" data-id="<?php echo $model->create_user; ?>"><img style="height: 24px;width: 24px;vertical-align:top;border-radius: 2px;" height="24" width="24" src="<?php echo $this->createUrl("getimage", array("id" => $model->create_user, "type" => "avatar")); ?>"></a></span></p> <div class="vote-info"> <?php $voteOpinion = Vote::model()->findAll("pk_id = :pk_id and model=:model and opinion=0 order by create_time desc", array(":pk_id" => $model->id, ":model" => "article")); ?> <?php if (count($voteOpinion) > 0) { ?> <span class="voters vote-some"> <?php $i = 0; foreach ($voteOpinion as $key => $value) { $i++; if ($i == 4)
function actionDel() { header('Content-type: application/json'); if (!Yii::app()->request->isPostRequest) { IjoyPlusServiceUtils::exportServiceError(Constants::METHOD_NOT_SUPPORT); return; } if (!IjoyPlusServiceUtils::validateAPPKey()) { IjoyPlusServiceUtils::exportServiceError(Constants::APP_KEY_INVALID); return; } if (IjoyPlusServiceUtils::validateUserID()) { IjoyPlusServiceUtils::exportServiceError(Constants::USER_ID_INVALID); return; } $topic_id = Yii::app()->request->getParam("topic_id"); if (!isset($topic_id) || is_null($topic_id)) { IjoyPlusServiceUtils::exportServiceError(Constants::PARAM_IS_INVALID); return; } $owner_id = Yii::app()->user->id; $topic = Topic::model()->findByPk($topic_id); if ($topic !== null) { if (isset($topic->t_userid) && !is_null($topic->t_userid) && $topic->t_userid === $owner_id) { if (Topic::model()->deleteTopic($topic_id)) { User::model()->updateTopBDCount($owner_id, -1); IjoyPlusServiceUtils::exportServiceError(Constants::SUCC); } else { IjoyPlusServiceUtils::exportServiceError(Constants::SYSTEM_ERROR); } } else { IjoyPlusServiceUtils::exportServiceError(Constants::NO_RIGHT); } } else { IjoyPlusServiceUtils::exportServiceError(Constants::OBJECT_NOT_FOUND); } }
protected function afterDelete() { $counters = array('post_nums' => -1); Category::model()->updateCounters($counters, 'id = :cid', array(':cid' => $this->category_id)); Topic::model()->updateCounters($counters, 'id = :tid', array(':tid' => $this->topic_id)); $comments = Comment::model()->findAllByAttributes(array('post_id' => $this->id)); foreach ($comments as $c) { $c->delete(); } app()->db->createCommand()->delete(TABLE_POST_TAG, 'post_id = :pid', array(':pid' => $this->id)); app()->db->createCommand()->delete(TABLE_SPECIAL_POST, 'post_id = :pid', array(':pid' => $this->id)); $files = Upload::model()->findAllByAttributes(array('post_id' => $this->id)); foreach ($files as $file) { $file->delete(); } }
public function getLastCommentTime($id, $model) { $criteria = new CDbCriteria(); $criteria->order = "create_time desc"; $criteria->addCondition("model=:model"); $criteria->addCondition("pk_id=:pk_id"); $criteria->params = array(":model" => $model, ":pk_id" => $id); $commentModel = self::model()->find($criteria); if ($commentModel == null) { if ($model == "article") { return date("m-d H:i", Article::model()->findByPk($id)->create_time); } else { return date("m-d H:i", Topic::model()->findByPk($id)->create_time); } } else { return date("m-d H:i", $model->create_time); } }
public function actionCreateattention() { $id = $_POST["topic_id"]; $model = Topic::model()->findByPk($id); $agree = $model->join_user; $agreeArray = explode(",", trim($agree, ",")); if (in_array(Yii::app()->user->id, $agreeArray)) { $agreeString = ","; for ($i = 0; $i < count($agreeArray); $i++) { if ($agreeArray[$i] != Yii::app()->user->id) { $agreeString .= $agreeArray[$i] . ","; } } $model->join_user = $agreeString == "," ? "" : $agreeString; if ($model->save()) { echo "ERROR"; } } else { $join_user = $model->join_user == "" ? "," : $model->join_user; $model->join_user = $join_user . Yii::app()->user->id . ","; if ($model->save()) { echo "OK"; } } }
protected function afterDelete() { $counters = array('post_nums' => -1); Category::model()->updateCounters($counters, 'id = :cid', array(':cid' => $this->category_id)); Topic::model()->updateCounters($counters, 'id = :tid', array(':tid' => $this->topic_id)); $comments = Comment::model()->findAll('post_id = :pid', array(':pid' => $this->id)); foreach ($comments as $c) { $c->delete(); } app()->db->createCommand()->delete('{{post2tag}}', 'post_id = :pid', array(':pid' => $this->id)); // @todo 此处删除文章后对应的图片也应该删除 }
public static function getStatusLabel($model, $type) { $createUser = Yii::app()->user->id; $time = strtotime(date("Y-m-d", time())); if ($model == "topic") { $count = Topic::model()->count("create_user = "******" and create_time > " . $time); } else { if ($model == "article") { $count = Article::model()->count("publish = 1 and create_user = "******" and create_time > " . $time); } else { if ($model == "question") { $count = Question::model()->count("create_user = "******" and create_time > " . $time); } else { if ($model == "answer") { $count = Answer::model()->count("create_user = "******" and create_time > " . $time); } } } } if ($count == 0) { $label = "<span class='label label-important'><b>待完成</b></span>"; if ($type == "label") { return $label; } else { return false; } } else { $label = "<span class='label label-success'><b>已完成</b></span>"; if ($type == "label") { return $label; } else { return true; } } }
</div> <div class='row-fluid'> <div class='span6'> <?php $this->beginWidget('bootstrap.widgets.TbBox', array('title' => 'Tag')); $terms = Tag::model()->findAll(); $data = array(array('Task', 'From Tags')); foreach ($terms as $term) { $data[] = array($term->name, count($term->postAll)); } $this->widget('ext.Hzl.google.HzlVisualizationChart', array('visualization' => 'PieChart', 'data' => $data, 'options' => array('style' => array('width' => '100%', 'height' => '100%'), 'is3D' => true, 'title' => 'From Tags'))); $this->endWidget(); ?> </div> <div class='span6'> <?php $this->beginWidget('bootstrap.widgets.TbBox', array('title' => 'Topik')); $terms = Topic::model()->findAll(); $data = array(array('Task', 'From Topics')); foreach ($terms as $term) { $data[] = array($term->name, count($term->postAll)); } $this->widget('ext.Hzl.google.HzlVisualizationChart', array('visualization' => 'PieChart', 'data' => $data, 'options' => array('style' => array('width' => '100%', 'height' => '100%'), 'is3D' => true, 'title' => 'From Topics'))); $this->endWidget(); ?> </div> </div>