public function actionTovote (){ $id = (int)$_POST['id']; $voter = (int)$_POST['vote']; $ret = array(); // check $ip = MHelper::Ip()->getIp(); $vote = PollVote::model()->find(array('condition'=>'choice_id=:id and ip_address=:ip','params'=>array(':id'=>$id,':ip'=>$ip))); if(!$vote){ $vote = new PollVote; $vote->vote = $voter; $vote->choice_id = $id; $vote->ip_address = $ip; if(!Yii::app()->user->isGuest){ $vote->user_id = Yii::app()->user->id; } if(!$vote->save()){ VarDumper::dump($vote->errors); die(); // Ctrl + X Delete line } $weight = ''; $sql = "SELECT COUNT(*) FROM poll_vote WHERE choice_id={$id} and vote={$voter}"; $numClients = Yii::app()->db->createCommand($sql)->queryScalar(); $review = PollChoice::model()->findByPk($id); if($voter == 1){ $review->yes = $numClients; $diff = $review->yes - $review->no; $sum = $review->yes + $review->no; if($diff>0){ $weight = round(($diff)*100/$sum); } $review->weight = $weight; $review->votes = $diff; $review->save(false,array('yes','weight','votes')); } else { $review->no = $numClients; $diff = $review->yes - $review->no; $sum = $review->yes + $review->no; if($diff>0){ $weight = round(($diff)*100/$sum); } $review->weight = $weight; $review->votes = $diff; $review->save(false,array('no','weight','votes')); } $ret['flag'] = true; $ret['count'] = $numClients; $ret['yes'] = $review->yes; $ret['no'] = $review->no; $ret['type'] = $review->type; $ret['id'] = $review->id; $ret['weight'] = $weight; $ret['weight_text'] = (!empty($weight))?'считают '.$weight.'%':''; echo CJSON::encode($ret); } }
// Validate and save comment on post request //$comment = $module->processRequestArticle($model); // Load model comments $provider = CommentArticle::getObjectComments($model); $themeUrl = Yii::app()->theme->baseUrl; // Display comments if($provider) { ?> <div class="clearfix"></div> <div id="comment_module" class="woocommerce" style="margin-top:20px;margin-bottom:0px;"> <div id="reviews"> <div id="comments"> <?php $ip = MHelper::Ip()->getIp(); $this->widget('zii.widgets.CListView', array( 'dataProvider'=>$provider, 'ajaxUpdate'=>true, 'template'=>"{items}\n{pager}", 'itemView'=>'application.modules.comments.views.comment._item', 'itemsTagName'=>'ol', 'itemsCssClass'=>'commentlist', // 'viewData'=>array(), 'emptyText'=>'', 'pager'=>array( 'maxButtonCount'=>5, 'header' => '', 'firstPageLabel'=>'<<', 'lastPageLabel'=>'>>', 'nextPageLabel' => '>',
'hideIconOnBalloonOpen'=> false, ), ); } ?> <div class="header-map" id="header-map"> <div class="main-map"> <div class="main-map-view"> <div class="map-text"> <?php if(!empty($model->nearest_metro) && !empty($model->nearest_metro_distance) && $model->nearestmetro){ $size = MHelper::Ip()->size($model->nearest_metro_distance); echo 'до '.$model->nearestmetro->metro_name.' - '.$size; } ?> </div> <?php $truemap = false; if(($model->lat && $model->lng) || ($model->city->latitude && $model->city->longitude)){ if($model->lat && $model->lng){ $lat = $model->lat; $lng = $model->lng; $zoom = 14; } else if($model->city->latitude && $model->city->longitude){ $lat = $model->city->latitude; $lng = $model->city->longitude; $zoom = 12;
public function actionSearch() { // $this->layout = '//layouts/zazadun'; if(Yii::app()->request->isPostRequest && Yii::app()->request->getPost('q') && Yii::app()->request->getPost('pereparam')){ $this->redirect(Yii::app()->request->addUrlParam('catalog/article/search', array('q'=>Yii::app()->request->getPost('q')))); } $model = new Article; $count_items = 0; if (($term = Yii::app()->getRequest()->getQuery('q')) !== null) { $this->pageTitle = CHtml::encode($term); $query = $term; $s = MHelper::String()->toLower(trim($term)); $resultsPr = null; if(!empty($s)){ $s = addcslashes($s, '%_'); // escape LIKE's special characters $criteria = new CDbCriteria; $criteria->scopes='fullactive'; $criteria->condition ='(( (LOWER(t.title) LIKE :s) or (LOWER(t.description) LIKE :s) ))'; $criteria->params = array(':s'=>"%$s%"); $dataProvider = new CActiveDataProvider('Article', array( 'criteria' => $criteria, 'sort' => array( 'defaultOrder' => 't.created_date DESC', ), 'pagination' => array( 'pageSize' => 25, 'pageVar'=>'page' ), )); // VarDumper::dump($dataProvider); die(); // Ctrl + X Delete line } $count_items = 0; if ($dataProvider && $dataProvider->totalItemCount) { $count_items = $dataProvider->totalItemCount; } if(!empty($term) && !isset($_GET['page'])){ $searchquery = new Searchqueries; $searchquery->query = $term; $searchquery->quantity = $count_items; $searchquery->ip_address = MHelper::Ip()->getIp(); $searchquery->save(); } $dtitle = $query.' '; $this->render('search', compact('term', 'query','dataProvider','count_items','model','dtitle')); } else { $term = $query = ''; $dtitle = $query; $dataProvider = null; $this->render('search', compact('term', 'query','dataProvider','count_items','model','dtitle')); } }
public function actionSearch() { if(Yii::app()->request->isPostRequest && Yii::app()->request->getPost('q') && Yii::app()->request->getPost('pereparam')){ $this->redirect(Yii::app()->request->addUrlParam('catalog/catalog/search', array('q'=>Yii::app()->request->getPost('q')))); } $this->layout = '//layouts/zazadun'; $count_items = 0; if (($term = Yii::app()->getRequest()->getQuery('q')) !== null) { $this->pageTitle = CHtml::encode($term).' в '.$this->city->mestpad; $query = $term; $s = MHelper::String()->toLower(trim($term)); $resultsPr = null; if(!empty($s)){ $s = addcslashes($s, '%_'); // escape LIKE's special characters $criteria = new CDbCriteria; $criteria->scopes='active'; $criteria->with = array( 'categorization', 'categories'=>array( 'together'=>true ), 'city'=>array('together'=>true) ); // $criteria->together = true; /* $criteria->compare('t.city_id',$this->city_id); $criteria->compare('LOWER(t.title)',$s,true); $criteria->compare('LOWER(t.description)',$s,true,'OR'); $criteria->compare('LOWER(t.synonim)',$s,true,'OR'); $criteria->compare('LOWER(categories.title)', $s, true, 'OR'); $criteria->compare('LOWER(categories.keywords)', $s, true, 'OR'); */ $criteria->condition ='(t.city_id = '.$this->city->id.' and ( (LOWER(t.title) LIKE :s) or (LOWER(t.synonim) LIKE :s) or (LOWER(t.description) LIKE :s) or (LOWER(categories.title) LIKE :s) or (LOWER(categories.keywords) LIKE :s)))'; $criteria->params = array(':s'=>"%$s%"); $resultsPr = new CActiveDataProvider('Orgs', array( 'criteria' => $criteria, 'sort' => array( 'defaultOrder' => 't.title', ), 'pagination' => array( 'pageSize' => 20, 'pageVar'=>'page' ), )); // VarDumper::dump($resultsPr); die(); // Ctrl + X Delete line } if ($resultsPr && $resultsPr->totalItemCount) { $count_items = $resultsPr->totalItemCount; } if(!empty($term) && !isset($_GET['page'])){ $searchquery = new Searchqueries; $searchquery->query = $term; $searchquery->city_id = $this->city->id; $searchquery->quantity = $count_items; $searchquery->ip_address = MHelper::Ip()->getIp(); $searchquery->save(); } // $this->render('search', compact('term', 'query','resultsPr','count_items')); $dtitle = $term . ' '. $this->city->rodpad; $this->render('view',array( 'provider'=>$resultsPr, 'dtitle'=>$dtitle, 'itemView'=>'_organizations_view', 'count_items'=>$count_items )); } else { $term = $query = ''; $resultsPr = null; $dtitle = 'Поиск'; $this->render('view',array( 'provider'=>$resultsPr, 'dtitle'=>$dtitle, 'itemView'=>'_organizations_view', 'count_items'=>$count_items )); } }
public function actionToVoteArticle() { $id = (int) $_POST['id']; $voter = (int) $_POST['vote']; $ret = array(); // check $ip = MHelper::Ip()->getIp(); $vote = Vote::model()->find(array('condition' => 'review=:id and ip=:ip', 'params' => array(':id' => $id, ':ip' => $ip))); if (!$vote) { $vote = new Vote(); $vote->vote = $voter; $vote->review = $id; $vote->ip = $ip; if (!Yii::app()->user->isGuest) { $vote->user_id = Yii::app()->user->id; } $vote->save(); $sql = "SELECT COUNT(*) FROM vote WHERE review={$id} and vote={$voter}"; $numClients = Yii::app()->db->createCommand($sql)->queryScalar(); if ($voter == 1) { $review = Article::model()->updateByPk($id, array('yes' => $numClients)); } else { $review = Article::model()->updateByPk($id, array('no' => $numClients)); } $ret['flag'] = true; $ret['count'] = $numClients; echo CJSON::encode($ret); } }