public function actionAddData() { die(); $settings = 0; if(isset($_REQUEST['Settings'])) $settings = $_REQUEST['Settings']; $criteria=new CDbCriteria; $criteria->limit = 1000; $criteria->offset = $settings; $criteria->order = 'id'; $orgs = Orgs::model()->findAll($criteria); $cnt = 0; if($orgs){ foreach($orgs as $org){ /* $logcheck = ActionLog::model()->find(array('condition'=>'model_name=:model_name and model_id=:model_id and event=:event','params'=>array(':model_name'=>'Orgs',':model_id'=>$org->id,':event'=>ActionLog::ACTION_CREATE))); if(!$logcheck){ $log = new ActionLog; $log->event = ActionLog::ACTION_CREATE; $log->user_id = $org->author; $log->model_name = 'Orgs'; // $log->model_title = $org->title; $log->datetime = $org->created_date; $log->model_id = $org->id; if($log->save()){ $cnt++; } } */ /* $lastUpdateDate = ActionLog::model()->find(array('condition'=>'model_name=:model_name and model_id=:model_id and (event=:event or event=:event2)','params'=>array(':model_name'=>'Orgs',':model_id'=>$org->id,':event'=>ActionLog::ACTION_CREATE, ':event2'=>ActionLog::ACTION_UPDATE),'order'=>'datetime DESC')); if($lastUpdateDate){ $now = strtotime($org->updated_date); $last_date = strtotime($lastUpdateDate->datetime); if($now > $last_date){ $datediff = $now - $last_date; if(floor($datediff/(60*60*24)) > 30 ){ // more 30 days left $log = new ActionLog; $log->event = ActionLog::ACTION_UPDATE; $log->user_id = $org->lasteditor?$org->lasteditor:$org->author; $log->model_name = 'Orgs'; // $log->model_title = $org->title; $log->datetime = $org->updated_date; $log->model_id = $org->id; if($log->save()){ $cnt++; } } } } */ } } echo 'Добавлено '.$cnt; $sleeper = 2; $settings += 1000; if($settings < 23300){ echo '<META HTTP-EQUIV=Refresh CONTENT="'.$sleeper.'; URL='.Yii::app()->createUrl("/logger/admin/default/adddata",array('Settings'=>$settings)).'">'; exit; } }
public function actionAddReview($id) { $id = (int)$id; $review = Orgs::model()->active()->findByPk($id); if(!$review) Yii::app()->end(); if(isset($_POST['Comment'])) { $model = new Comment; $model->scenario = 'subcomment'; $model->object_pk = $review->id; if(!Yii::app()->user->isGuest) { $model->user_id = Yii::app()->user->id; } else { Yii::app()->end(); } $model->setAttribute('status', Comment::STATUS_APPROVED); $this->performAjaxValidation($model, 'comments-form'); $model->attributes=$_POST['Comment']; if(empty($model->id_parent)) $model->id_parent = null; if($model->validate()){ if($model->save()){ if(isset($_POST['type']) && $_POST['type']==1){ $this->renderPartial('_comment_super',array('model'=>$model,'supermodel'=>$review)); } else{ // $this->renderPartial('_comment',array('model'=>$model)); } } } } Yii::app()->end(); }
$cr->params = array(':city_id'=>$this->city->id); $cr->order = 'district_name'; $districts = District::model()->findAll($cr); if($districts) { echo '<div class="row"> <div class="col-lg-8 col-lg-offset-1 col-md-8 col-md-offset-1 col-sm-8 col-sm-offset-1 col-xs-12"> <h2 class="org_title" style="padding-left:26px;margin-bottom:26px;">'.$model->title .' по микрорайонам '.$this->city->rodpad.'</h2> <div class="card"> <div class="card-body card-padding"> <div class="row">'; foreach ($districts as $district) { if(mb_strpos($district->district_name, 'микрорайон', 0, 'UTF-8') !== false) { $query = new Orgs(null); $query->active() ->with(array( 'images', 'city', )); $query->applyCategoriesWithSub($model); $cr=new CDbCriteria; $cr->distinct = true; // предотвращает повтор объявлений на странице if($this->city->id) { $cr->join = 'LEFT JOIN "orgs_district" "orgsdistrict" ON ("orgsdistrict"."org"="t"."id")'; $cr->addCondition('city.id='.$this->city->id.' and orgsdistrict.district='.$district->id);
public function starRating($id, $ratingAjax) { $id = (int)$id; $org = Orgs::model()->findByPk($id); if($org){ $rating = OrgsRating::model()->findByAttributes(array( 'org'=>$id )); // если не было категории - делаем if(!$rating) { $rating = new OrgsRating; $rating->org = $id; $rating->vote_count = 1; $rating->vote_sum = $ratingAjax; $rating->vote_average = round($rating->vote_sum / $rating->vote_count,2); $rating->save(false); $org->rating_id = $rating->id; $org->save(false,array('rating_id')); } else { $rating->vote_count = $rating->vote_count + 1; $rating->vote_sum = $rating->vote_sum + $ratingAjax; $rating->vote_average = round($rating->vote_sum / $rating->vote_count,2); if(!$rating->save()){ VarDumper::dump($rating->errors); die(); // Ctrl + X Delete line } } } return true; }
} if($query['dom']){ if(!empty($filtrAddress)) $filtrAddress .= ', '; $filtrAddress .= $query['dom']; } if(isset($query['rubric_title'])) $filtrRubric = $query['rubric_title']; // $filtrPerDate = $query['per_from']; // $filtrToDate = $query['per_to']; // $filtrLoguser = $query['log_user']; if(isset($query['status_org'])){ $filtrStatus = $query['status_org']; $statuses[4] = 'Все статусы'; $statuses += Orgs::getStatusNames(); } } if(!empty($query) && isset($dataProvider->data[0]) && !empty($dataProvider->data[0])){ $totalItemCount = $dataProvider->totalItemCount; // the total number of data items $itemCount = $dataProvider->itemCount; // the number of data items in the current page $pageSize = $dataProvider->pagination->pageSize; // number of items in each page $pageCount = $dataProvider->pagination->pageCount; // number of pages
array( 'class'=>'form-control', 'rows'=>5, 'placeholder'=>'Описание', 'style'=>'width:92%;' )); ?> </div> </div> <!-- / .form-group --> <div class="form-group"> <?php echo $form->label($model, 'status_org', array('class'=>'col-lg-3 col-md-12 col-sm-12 control-label')); ?> <div class="form-inline col-lg-9 col-md-12 col-sm-12"> <div class="checkbox"><?php echo $form->checkBox($model, 'mass[status_org]'); ?></div> <?php echo $form->dropDownList($model, 'status_org', Orgs::getStatusNames(), array( 'encode'=>false, // 'empty'=>'Выбрать', 'class'=>'form-control', 'options' => array(Orgs::STATUS_ACTIVE => array('selected' => 'selected')), 'style'=>'width:92%;' )); ?> </div> </div> <!-- logotip --> <div class="form-group widget-comments"> <?php echo $form->label($model, 'logotip', array('class' => 'col-lg-3 col-md-12 col-sm-12 control-label')); ?> <div class="col-lg-9 col-md-12 col-sm-12" style="padding-top:7px"> <div id="previewDz_logo">
<?php namespace li3_github\models; class Orgs extends \lithium\data\Model { protected $_meta = array('connection' => 'github'); } Orgs::finder('repos', function ($self, $params, $chain) { $params['options']['conditions']['type'] = 'repos'; $data = $chain->next($self, $params, $chain); return $data; });
$url = CHtml::link(Orgs::parseUrlShow($model->vkontakte,true), $model->vkontakte, array('loc'=>Yii::app()->createAbsoluteUrl('/redirect.php'),'target'=>'_blank','rel'=>'nofollow','class'=>'redir')); echo CHtml::tag('span', array(), $url).'</li>'; } if($model->facebook){ echo '<li class="org_site org_facebook redir"><i class="socicon socicon-facebook c-green"></i>'; $url = CHtml::link(Orgs::parseUrlShow($model->facebook,true), $model->facebook, array('loc'=>Yii::app()->createAbsoluteUrl('/redirect.php'),'target'=>'_blank','rel'=>'nofollow','class'=>'redir')); echo CHtml::tag('span', array(), $url).'</li>'; } if($model->twitter){ echo '<li class="org_site org_twitter redir"><i class="socicon socicon-twitter c-green"></i>'; $url = CHtml::link(Orgs::parseUrlShow($model->twitter,true), $model->twitter, array('loc'=>Yii::app()->createAbsoluteUrl('/redirect.php'),'target'=>'_blank','rel'=>'nofollow','class'=>'redir')); echo CHtml::tag('span', array(), $url).'</li>'; } if($model->instagram){ echo '<li class="org_site org_instagram redir"><i class="socicon socicon-instagram c-green"></i>'; $url = CHtml::link(Orgs::parseUrlShow($model->instagram,true), $model->instagram, array('loc'=>Yii::app()->createAbsoluteUrl('/redirect.php'),'target'=>'_blank','rel'=>'nofollow','class'=>'redir')); echo CHtml::tag('span', array(), $url).'</li>'; } if($model->youtube){ echo '<li class="org_site org_youtube redir"><i class="socicon socicon-youtube c-green"></i>'; $url = CHtml::link('<span style="text-decoration:underline;">Видео канал на Youtube</span>', $model->youtube, array('loc'=>Yii::app()->createAbsoluteUrl('/redirect.php'),'target'=>'_blank','rel'=>'nofollow','class'=>'redir')); echo CHtml::tag('span', array(), $url).'</li>'; } } $worktimes = $model->orgsWorktimes; if($worktimes){ $addClass = ''; $day_number = date('w', time()); // 0 - воскресенье $arasymb = array('name'=>array('ВС', 'ПН', 'ВТ', 'СР', 'ЧТ', 'ПТ', 'СБ'));
<?php $ar = array(); if($data->categories){ $org = Orgs::model()->findByPk($data->id); $allrubrics = $org->categories; if($allrubrics){ foreach ($allrubrics as $cat){ // $cat_url = Yii::app()->createAbsoluteUrl($data->city->url.'/catalog/'.$cat->url); // echo CHtml::link($cat->title, $cat_url, array('class'=>'parentCategoryElement')); $ar[] = $cat->title; } } } if(!empty($ar)){ echo implode(', ',$ar); } ?>
<?php echo $form->textArea($model, 'description', array( 'class'=>'form-control', // 'id'=>'Issue_description', // 'rows'=>10 )); ?> </div> </div> </div> <!-- / .form-group --> <?php if($articleorg_ar){ foreach($articleorg_ar as $key=>$phon){ $org = Orgs::model()->findByPk($phon); if($key == 0){ $buttn = '<button type="button" class="btn btn-success addPhone"><span class="btn-label icon fa fa-plus-square"></span></button>'; } else { $buttn = '<button type="button" class="btn btn-danger remPhone"><span class="btn-label icon fa fa-minus-square"></span></button>'; } ?> <div class="form-group"> <?php echo $form->label($model, 'articleorg_ar', array('class'=>'col-lg-2 col-md-12 col-sm-12 control-label')); ?> <div class="col-lg-10 col-md-12 col-sm-12"> <div class="input-group"> <input type="text" value="<?php echo Yii::app()->createAbsoluteUrl('catalog/catalog/item',array('city'=>$org->city->url, 'id'=>$org->id, 'itemurl'=>$org->url)); ?>" name="Article[articleorg_ar][]" placeholder="http://moscow.zazadun.ru/12345/sometitle" maxlength="255" class="form-control"> <span class="input-group-btn"> <?php echo $buttn; ?> </span> </div>
public function getNearRayonOrg($model,$orgsCats,$limit,$near,$nearmicro) { /* ближайшие организации */ $district = 'rayon'; $districts = $model->orgsDistrict; $district_model = null; if(!empty($districts)){ foreach ($districts as $d) { if((mb_strpos($d->districtid->district_name, 'район', 0, 'UTF-8') !== false ) && (mb_strpos($d->districtid->district_name, 'микрорайон', 0, 'UTF-8') === false )){ $district_model = $d->districtid; break; } } } if(!$district_model) { return null; } $query = new Orgs(null); $query->active() ->with(array( 'images', 'city', )); // все категории организации $query->applyCategoriesWithSub($orgsCats); $cr=new CDbCriteria; $cr->distinct = true; // предотвращает повтор объявлений на странице $cr->join = 'LEFT JOIN "orgs_district" "orgsdistrict" ON ("orgsdistrict"."org"="t"."id")'; $cr->addCondition('city.id='.$this->city->id.' and orgsdistrict.district='.$district_model->id); $notin = array(); if($near){ foreach ($near->data as $n) { $notin[] = $n->id; } } if($nearmicro){ foreach ($nearmicro->data as $n) { $notin[] = $n->id; } } $notin[] = $model->id; $cr->addNotInCondition('orgsdistrict.org',$notin); $cr->limit = $limit; $query->getDbCriteria()->mergeWith($cr); $nearProvider = new CActiveDataProvider($query, array( // Set id to false to not display model name in // sort and page params 'id'=>false, 'pagination'=>false )); return $nearProvider; }
protected function beforeDelete(){ if(!parent::beforeDelete()) return false; OrgsImages::model()->updateAll(array('uploaded_by'=>null),array('condition'=>'uploaded_by='.$this->id)); Orgs::model()->updateAll(array('author'=>null),array('condition'=>'author='.$this->id)); $this->deleteModelDir(); // удалили модель? удаляем и файл и всю папку return true; }
public function run() { $model = new Orgs('search'); $model->unsetAttributes(); // clear any default values $model_search = null; $criteria=new CDbCriteria; $criteria->select = 't.id'; if(isset($_GET['Orgs'])){ $model->attributes=$_GET['Orgs']; if(isset($model->status_org)){ if($model->status_org == 1) { $model->status_org = Orgs::STATUS_ACTIVE; $model_search_ids = $model->pureactive()->search(array(),$criteria,false); // $model_search = $model->active()->search(); } else if($model->status_org == 0) { $model->status_org = Orgs::STATUS_NOT_ACTIVE; $model_search_ids = $model->notactive()->search(array(),$criteria,false); // $model_search = $model->notactive()->search(); } else { $model->status_org = null; $model_search_ids = $model->search(array(),$criteria,false); // $model_search = $model->search(); } } } else { $model->status_org = null; $model_search_ids = $model->search(array(),$criteria,false); } $keys = $post = array(); $masstotalall = 0; $error = false; if(!empty($_POST)){ $post = $_POST; Yii::app()->session['masskeysPost'] = serialize($post); } if(!isset(Yii::app()->session['masskeys']) && !empty($model_search_ids->data)){ foreach ($model_search_ids->data as $val) { $keys[] = $val->id; } $ser_id = serialize($keys); Yii::app()->session['masskeys'] = $ser_id; // hash Yii::app()->session['masskeysHash'] = Yii::app()->request->requestUri; Yii::app()->session['masstotal'] = 0; $masstotalall = count($keys); Yii::app()->session['masstotalall'] = $masstotalall; } else if(isset(Yii::app()->session['masskeys'])) { if(isset(Yii::app()->session['masskeysHash']) && Yii::app()->session['masskeysHash'] == Yii::app()->request->requestUri){ $keys = unserialize(Yii::app()->session['masskeys']); $post = unserialize(Yii::app()->session['masskeysPost']); $masstotalall = Yii::app()->session['masstotalall']; } else { unset(Yii::app()->session['masskeysHash']); unset(Yii::app()->session['masskeys']); unset(Yii::app()->session['masskeysPost']); unset(Yii::app()->session['masstotal']); unset(Yii::app()->session['masstotalall']); $this->getController()->refresh(); Yii::app()->end(); } } if(!empty($keys)){ $criteria=new CDbCriteria; $criteria->condition='id IN ('.implode(',', $keys).')'; $criteria->order = 'id'; $model_search = new CActiveDataProvider('Orgs',array( 'criteria' => $criteria, 'pagination' => array( 'pageSize'=>5, ) )); } // Записать id-шники в сессию, т.к. при обновлении страницы выборка может измениться после обновления данных. $cnt = 0; if(isset($post['Orgs'])){ // VarDumper::dump($post); die(); // Ctrl + X Delete line if($post['massaction'] == 1){ // Дополнить $action = 1; } else if($post['massaction'] == 2) { // Заменить $action = 2; } $mass = $massatr = array(); if(isset($post['Orgs']['mass'])) $mass = $post['Orgs']['mass']; if(!empty($mass)){ foreach ($mass as $key => $value) { if($value==1){ $massatr[] = $key; } } } if(!empty($massatr) && ($action == 1 || $action == 2)){ if(!empty($model_search->data)){ foreach ($model_search->data as $key => $model) { foreach ($massatr as $attr) { if($attr == 'title' || $attr == 'synonim' || $attr == 'url' || $attr == 'description' || $attr == 'street' || $attr == 'dom' || $attr == 'address_comment' || $attr == 'fax' || $attr == 'vkontakte' || $attr == 'facebook' || $attr == 'twitter' || $attr == 'instagram' || $attr == 'youtube'){ if($action == 1){ $model->$attr = $model->$attr.$post['Orgs'][$attr]; } else if($action == 2) { $model->$attr = $post['Orgs'][$attr]; } } else if($attr == 'status_org'){ $model->status_org = $post['Orgs']['status_org']; } else if($attr == 'categories_ar' && $action == 2){ // заменить категории if(!$post['Orgs']['categories_ar'] || !is_array($post['Orgs']['categories_ar'])){ $cat_ar = array(); } else { $cat_ar = $post['Orgs']['categories_ar']; } $model->setCategories($cat_ar); } else if($attr == 'categories_ar' && $action == 1){ // добавить категории if(!$post['Orgs']['categories_ar'] || !is_array($post['Orgs']['categories_ar'])){ $cat_ar = array(); } else { $cat_ar = $post['Orgs']['categories_ar']; } $model->setCategories($cat_ar,true); } else if($attr == 'city_id'){ // город $model->$attr = $post['Orgs'][$attr]; } else if($attr == 'tmpLogotip'){ // заменить картинки if(isset($post['Orgs']['tmpLogotip']) && !empty($post['Orgs']['tmpLogotip'])){ $model->tmpLogotip = $post['Orgs']['tmpLogotip']; $model->addDropboxLogoFiles($this->getController()->uploadlogosession, false); } } else if($attr == 'worktime'){ $open_door = $close_door = $break_door = $endbreak_door = array(); if(isset($post['open_door']) && !empty($post['open_door'])){ $open_door = $post['open_door']; } if(isset($post['close_door']) && !empty($post['close_door'])){ $close_door = $post['close_door']; } if(isset($post['break_door']) && !empty($post['break_door'])){ $break_door = $post['break_door']; } if(isset($post['endbreak_door']) && !empty($post['endbreak_door'])){ $endbreak_door = $post['endbreak_door']; } OrgsWorktime::setWorktime($model->id, $open_door, $close_door, $break_door, $endbreak_door); } else if($attr == 'phones' && $action == 2){ // заменить телефоны $model->setPhones($post['Orgs']['phones'], $post['Orgs']['phone_comments']); } else if($attr == 'phones' && $action == 1){ // добавить телефоны $model->setPhones($post['Orgs']['phones'], $post['Orgs']['phone_comments'],true); } else if($attr == 'http' && $action == 2){ // заменить сайты $model->setHttp($post['Orgs']['http'], $post['Orgs']['http_comments']); } else if($attr == 'http' && $action == 1){ // добавить сайты $model->setHttp($post['Orgs']['http'], $post['Orgs']['http_comments'],true); } else if($attr == 'video' && $action == 2){ // заменить видео $model->setHttp($post['Orgs']['video'], $post['Orgs']['video_comments'], false, OrgsHttp::TYPE_VIDEO); } else if($attr == 'video' && $action == 1){ // добавить видео $model->setHttp($post['Orgs']['video'], $post['Orgs']['video_comments'],true, OrgsHttp::TYPE_VIDEO); } } if(!$model->save()){ $this->getController()->addFlashMessage($model->errors,'error'); $error = true; break; } else { if(!empty($keys)){ if(($key = array_search($model->id, $keys)) !== false) { unset($keys[$key]); } } $cnt++; } } if($error){ $this->clearTmpImage($post); Yii::app()->session['masstotal'] = Yii::app()->session['masstotal'] + $cnt; $this->getController()->addFlashMessage('Операция завершена, обработано '.Yii::app()->session['masstotal'].' организаций.','error'); unset(Yii::app()->session['masskeys']); unset(Yii::app()->session['masskeysHash']); unset(Yii::app()->session['masskeysPost']); unset(Yii::app()->session['masstotal']); unset(Yii::app()->session['masstotalall']); $this->getController()->refresh(); Yii::app()->end(); } if(!empty($keys)){ $sleeper = 3; $ser_id = serialize($keys); Yii::app()->session['masskeys'] = $ser_id; Yii::app()->session['masstotal'] = Yii::app()->session['masstotal'] + $cnt; $this->getController()->addFlashMessage('Операция еще не завершена, обработано '.Yii::app()->session['masstotal'].' организаций.','success'); echo '<META HTTP-EQUIV=Refresh CONTENT="'.$sleeper.'; URL='.Yii::app()->createUrl(Yii::app()->request->requestUri).'">'; // exit; // $this->getController()->redirect('/admin_cat/catalog/company/massupdate?Orgs[title]=&Orgs[rubric_title]=&Orgs[per_from]=&Orgs[per_to]=&Orgs[log_user]=&Orgs[status_org]=3&Orgs[city_search]=Москва&Orgs[street]=&Orgs[dom]='); // $this->getController()->refresh(); } else { $this->clearTmpImage($post); Yii::app()->session['masstotal'] = Yii::app()->session['masstotal'] + $cnt; $this->getController()->addFlashMessage('Операция успешно завершена, обработано '.Yii::app()->session['masstotal'].' организаций.','success'); unset(Yii::app()->session['masskeys']); unset(Yii::app()->session['masskeysHash']); unset(Yii::app()->session['masskeysPost']); unset(Yii::app()->session['masstotal']); unset(Yii::app()->session['masstotalall']); $this->getController()->refresh(); Yii::app()->end(); } } } } else { } $this->getController()->render('massupdate', array( 'dataProvider'=>$model_search, 'masstotalall'=>$masstotalall )); }
public function actionFeedbackUpdate() { $model = new FormFeedbackUpdate(); // if it is ajax validation request if (isset($_POST['ajax']) && $_POST['ajax'] === 'form-feedback-update') { $model->attributes = Yii::app()->request->getPost('FormFeedbackUpdate'); $errors = CActiveForm::validate($model); if ($errors !== '[]') { echo $errors; } else { if ($model->validate()) { $org = Orgs::model()->findByPk($model->org); $url = Yii::app()->createAbsoluteUrl('/catalog/catalog/item', array('city' => $org->city->url, 'id' => $org->id, 'itemurl' => $org->url)); $subject = 'Обновление: ' . $org->title; $content = 'Обновить данные <a href="' . $url . '">' . $org->title . '</a><br><br>'; $content .= $model->content . '<br><br>'; if (!Yii::app()->user->isGuest) { $content .= 'Пользователь: ' . Yii::app()->user->username; } else { $content .= "Пользователь: Аноним"; } // $mailto = '*****@*****.**'; $mailto = '*****@*****.**'; $send = SendMail::send($mailto, $subject, $content, true); if (!isset($send->ErrorInfo) && !empty($send->ErrorInfo)) { VarDumper::dump($send->ErrorInfo); die; // Ctrl + X Delete line } if ($send) { $message = 'Ваше сообщение успешно отправлено.'; if (Yii::app()->request->isAjaxRequest) { echo CJSON::encode(array('flag' => true, 'message' => $message)); } else { Yii::app()->user->setFlash('success', $message); $this->refresh(); } } else { $message = 'Ошибка отправки сообщения.'; // $message .= $send->ErrorInfo; if (Yii::app()->request->isAjaxRequest) { echo CJSON::encode(array('flag' => false, 'message' => $message)); } else { Yii::app()->user->setFlash('error', $message); $this->refresh(); } } Yii::app()->end(); } } } Yii::app()->end(); }