예제 #1
0
 function FillEditParams()
 {
     $request = Project::getRequest();
     $info = array();
     $info['year_list'] = array();
     for ($i = date('Y') - 100; $i < date('Y') - 8; $i++) {
         $info['year_list'][$i] = array('id' => $i, 'value' => $i);
     }
     $info['month_list'] = array();
     for ($i = 0; $i < 12; $i++) {
         $info['month_list'][$i] = array('id' => $i, 'value' => iconv("cp1251", "UTF-8", strftime("%B", mktime(0, 0, 0, $i, 1, 2008))));
     }
     $info['day_list'] = array();
     for ($i = 1; $i < 31; $i++) {
         $info['day_list'][] = array('id' => $i, 'value' => $i);
     }
     $country_model = new CountryModel();
     $info['country_list'] = $country_model->loadAll();
     $info['change_country_param'] = AjaxRequest::getJsonParam("User", "ChangeCountry", array('#id#'));
     if ($request->country) {
         $state_model = new StateModel();
         $info['state_list'] = $state_model->loadByCountry($request->country);
         $info['change_state_param'] = AjaxRequest::getJsonParam("User", "ChangeState", array('#id#'));
     }
     if ($request->state) {
         $city_model = new CityModel();
         $info['city_list'] = $city_model->loadByState($request->state);
     }
     //foreach ($info['country_list'] as &$item) {
     //	$item['change_country_param'] = AjaxRequest::getJsonParam("User", "ChangeCountry", array($item['id']));
     //}
     $this->_view->set($info);
 }
예제 #2
0
 /**
  * Action: Вызов вкладки "Найди знакомых" (Основная)
  * Action: SearchUserMainAction - метод описывающий работу конкретного действия, 
  * зарегистрированного в таблице ACTION
  * 
  * Имя формируется строго: ИмяДействияAction. ИмяДействия_Action - уже не верно!
  */
 public function SearchUserMainAction()
 {
     $v_request = Project::getRequest();
     $v_session = Project::getSession();
     $data = array();
     //	  $this->_BaseSiteData($data);
     //    $this -> BaseSiteData();
     //    $data['tab_list'] = TabController::getSearchUserTabs(true, false);
     $data['action'] = 'SearchUserMain';
     // Номер выводимой страницы, определяется адресом bookmarks_list/0/1/2/ ...bookmarks_list/0/0/2/
     // где bookmarks_list/{id_категории}/{id_тега}/{номер страницы}/
     $v_n_page = $v_request->getKeyByNumber(0);
     //$v_str_find = ($v_request->inp_hide == 'find') ? $v_request->inp_find : null;
     $data['p_search_sex'] = $v_request->select_search_sex;
     $data['p_search_age_from'] = $v_request->inp_search_age_from;
     $data['p_search_age_to'] = $v_request->inp_search_age_to;
     $data['p_search_counrty'] = $v_request->select_search_counrty;
     $data['p_search_login'] = $v_request->inp_search_login;
     $data['p_search_with_photo'] = $v_request->chk_search_with_photo;
     $data['p_search_state'] = $v_request->select_search_state;
     $data['p_search_city'] = $v_request->select_search_city;
     $v_country_model = new CountryModel();
     $data['list_country'] = $v_country_model->loadAll();
     if ($v_request->btn_search != null) {
         $v_session->add('p_search_sex', $data['p_search_sex']);
         $v_session->add('p_search_age_from', $data['p_search_age_from']);
         $v_session->add('p_search_age_to', $data['p_search_age_to']);
         $v_session->add('p_search_counrty', $data['p_search_counrty']);
         $v_session->add('p_search_login', $data['p_search_login']);
         $v_session->add('p_search_with_photo', $data['p_search_with_photo']);
         $v_session->add('p_session_save', true);
     } else {
         $data['p_search_sex'] = $v_session->getKey('p_search_sex', null);
         $data['p_search_age_from'] = $v_session->getKey('p_search_age_from', null);
         $data['p_search_age_to'] = $v_session->getKey('p_search_age_to', null);
         $data['p_search_counrty'] = $v_session->getKey('p_search_counrty', null);
         $data['p_search_login'] = $v_session->getKey('p_search_login', null);
         $data['p_search_with_photo'] = $v_session->getKey('p_search_with_photo', null);
     }
     if ($v_session->getKey('p_session_save', null) == true) {
         $this->_getData($data, 'SearchUserMain', $v_n_page, null);
     }
     $this->_view->assign('counter_users', $this->counter_users);
     if ($data['p_search_state']) {
         $state_model = new StateModel();
         $state_list = $state_model->loadByCountry($data['p_search_counrty']);
         $this->_view->assign('change_state_param', AjaxRequest::getJsonParam("SearchUser", "ChangeStates", array('#id#')));
         $this->_view->assign('state_list', $state_list);
     }
     if ($data['p_search_city']) {
         $state_model = new CityModel();
         $city_list = $state_model->loadByState($data['p_search_state']);
         $this->_view->assign('city_list', $city_list);
     }
     $this->_view->assign('tab_list', TabController::getSearchUserTabs(true, false));
     // Show tabs
     $this->_view->SearchUser_Main($data);
     $this->_view->parse();
 }
예제 #3
0
 public function setViewVars()
 {
     $geo_type = new GeoTypeModel();
     $this->_view->assign('geo_types', $geo_type->loadAll());
     if ($this->session->geo_type_id) {
         $country = new CountryModel();
         $this->_view->assign('countries', $country->loadAll());
     }
     if ($this->session->country_id) {
         $city = new CityModel();
         $this->_view->assign('cities', $city->loadByCountry($this->session->country_id));
     }
     if ($this->session->geo_type_id && $this->session->city_id) {
         $geo_subtype = new GeoSubtypeModel();
         $this->_view->assign('geo_subtypes', $geo_subtype->loadByType($this->session->geo_type_id));
     }
     if ($this->session->geo_subtype_id && $this->session->city_id) {
         $geo_place = new GeoPlaceModel();
         $this->_view->assign('geo_places', $geo_place->load($this->session->geo_subtype_id, $this->session->city_id));
     }
     $this->_view->assign('my_places', $this->user->loadGeoPlaces());
 }
예제 #4
0
 /**
  *  Action: Открытие формы создания соц.позиции
  */
 public function SocialPosAddAction()
 {
     $v_request = Project::getRequest();
     $data = array();
     $data['action'] = 'SocialPosAdd';
     $v_current_userID = Project::getUser()->getDbUser()->id;
     // ID залогиненного пользователя
     $v_sp_model = new SocialModel();
     $data['arr_social_tree_criteria'] = $v_sp_model->loadTreeCriteria();
     $data['arr_categories'] = $v_sp_model->loadCategories();
     //$this->_BaseSiteData($data);
     if ($v_request->btn_submit == null) {
         // -- Открытие формы для создания
         $country_model = new CountryModel();
         $country_list = $country_model->loadAll();
         $this->_get_categories($data, $v_categoryID);
         $change_country_param = AjaxRequest::getJsonParam("Social", "ChangeCountry", array('#id#'));
         $this->_view->assign('country_list', $country_list);
         $this->_view->assign('change_country_param', $change_country_param);
         $this->_view->__set('product_places', $v_sp_model->getProductPlaces());
         $this->_view->assign('tab_list', TabController::getSocialTabs(false, false, false, true));
         // Show tabs
         $this->_view->Social_PosAdd($data);
         $this->_view->parse();
     } else {
         // -- Анализ данных и сохранение
         if ($v_request->inp_sp_name == "" or $v_request->inp_sp_comment == "") {
             // -- Данные неполные
             $data['inp_sp_name'] = $v_request->inp_sp_name;
             $data['inp_sp_comment'] = $v_request->inp_sp_comment;
             $this->_view->Social_PosAdd($data);
             $this->_view->addFlashMessage(FM::ERROR, 'Поля " * " должны быть заполнены');
             $this->_view->assign('tab_list', TabController::getSocialTabs(false, false, false, true));
             // Show tabs
             $this->_view->parse();
         } else {
             // -- Сохранение данных
             $v_model = new SocialModel();
             $v_model->social_tree_id = $v_request->inp_sp_category;
             $v_model->user_id = $v_current_userID;
             $v_model->name = $v_request->inp_sp_name;
             $v_model->creation_date = date("Y-m-d H:i:s");
             if ($v_request->type_prod) {
                 $v_model->id_product = $v_request->id_product;
             }
             if ($v_request->type_place) {
                 $country_model = new CountryModel();
                 $state_model = new StateModel();
                 $city_model = new CityModel();
                 $country = $country_model->getCountryNameById($v_request->country);
                 if ($country) {
                     $country .= ', ';
                 }
                 $state = $state_model->getStateNameById($v_request->select_social_state);
                 if ($state) {
                     $state .= ', ';
                 }
                 $city = $city_model->getCityNameById($v_request->select_social_city);
                 if ($city) {
                     $city .= ', ';
                 }
                 $street = $v_request->street;
                 if ($street) {
                     $street .= ', ';
                 }
                 $house = $v_request->house;
                 if ($house) {
                     $house .= ', ';
                 }
                 $address = urlencode($country . $state . $city . $street . $house);
                 //echo $address;
                 $Coords = file_get_contents('http://maps.google.com/maps/geo?q=' . $address . '&output=csv&key=ABQIAAAAIMN2iaCMFuGQ7iw1w3khQhRJcbERdBxj2ey4tItiMN02nh3_tBSPZ_cpbhowAtSVcVvvdpej4XMW1Q');
                 //home ABQIAAAAIMN2iaCMFuGQ7iw1w3khQhR-v9yHoD50evrZ-pbO1wgn-sHpRBTCwGDBW1h8fK3f31phKFZTanuxDA
                 //site ABQIAAAAIMN2iaCMFuGQ7iw1w3khQhRJcbERdBxj2ey4tItiMN02nh3_tBSPZ_cpbhowAtSVcVvvdpej4XMW1Q
                 list($status, $Zoom, $Xcoord, $Ycoord) = split(',', $Coords);
                 if ($status == 200) {
                     $v_model->Xcoord = $Xcoord;
                     $v_model->Ycoord = $Ycoord;
                     $v_model->Zoom = $Zoom;
                 }
             }
             $v_new_id = $v_model->save();
             // -- Сохранение коммента
             $v_comment_model = new SocialCommentModel();
             $v_comment_model->addComment(Project::getUser()->getDbUser()->id, 0, 0, $v_new_id, $v_request->inp_sp_comment, 0, 0);
             // -- Сохранения связи соц.позиции и критериев
             $this->_SetVote($v_new_id, $v_request->inp_num_criteria_1, $v_request->inp_select_1);
             $this->_SetVote($v_new_id, $v_request->inp_num_criteria_2, $v_request->inp_select_2);
             $this->_SetVote($v_new_id, $v_request->inp_num_criteria_3, $v_request->inp_select_3);
             // = Запись в таблицу локировки голосования
             $v_sp_votes_model = new SocialVotesModel();
             $v_sp_votes_model->social_pos_id = $v_new_id;
             $v_sp_votes_model->user_id = (int) Project::getUser()->getDbUser()->id;
             $v_sp_votes_model->ip = $_SERVER['REMOTE_ADDR'];
             $v_sp_votes_model->save();
             Project::getResponse()->redirect($v_request->createUrl('Social', 'SocialUserList'));
         }
     }
 }