PageRenderTime 52ms CodeModel.GetById 16ms RepoModel.GetById 1ms app.codeStats 0ms

/findcoach2.php

https://bitbucket.org/itoxable/chiron-gaming
PHP | 292 lines | 220 code | 46 blank | 26 comment | 67 complexity | e2f760c2425d4aff72a2d2348a9f2752 MD5 | raw file
Possible License(s): AGPL-1.0, GPL-2.0
  1. <?php
  2. session_start();
  3. $page_name=basename($_SERVER['SCRIPT_FILENAME']);
  4. $IsPreserved = 'Y';
  5. $IsProcess = $_REQUEST['IsProcess'];
  6. $action = $_REQUEST['action'];
  7. $action_arr = array("getSrchResult");
  8. $game_id = $_REQUEST['game_id']; // Added By Chandan
  9. if(in_array($action,$action_arr)){
  10. $IsProcess = 'Y';
  11. }
  12. include("general_include.php");
  13. $sort_by = $_REQUEST['sorting_by'];
  14. $list_for = $_REQUEST['list_for'];
  15. $searchusername = $_REQUEST['unm'];
  16. // EDIT BY TUSHAR ------------ //
  17. //$availability_country = $_REQUEST['availability_country'];
  18. $availability_city = $_REQUEST['availability_city'];
  19. $availability = $_REQUEST['availability'];
  20. $language_id = $_REQUEST['language_id'];
  21. $prop_id = $_REQUEST['prop_id'];
  22. $price = $_REQUEST['price'];
  23. if($price == '')
  24. $price = '0;150';
  25. if(count($prop_id)>0 && is_array($prop_id) && !empty($prop_id)){
  26. $prop_ids = implode(',',$prop_id);
  27. $smarty->assign('prop_ids',$prop_ids);
  28. $sqlPart .= " AND u.user_id IN (SELECT DISTINCT user_id FROM nk_user_game_property WHERE user_type_id = 1 AND property_id IN ($prop_ids))";
  29. $aux = "";
  30. // $arr = array();
  31. // $numProps = count($prop_id);
  32. // $and = true;
  33. // for ($i = 0; $i <= $numProps; $i++) {
  34. // $id = $prop_id[$i];
  35. // logToFile($id);
  36. // if($id != ""){
  37. // $arr[] = ($and?" AND ":" ")."property_id = ".$id;
  38. // $and = false;
  39. // }
  40. //
  41. // }
  42. // $aux = implode(' AND ',$arr);
  43. // $sqlPart .= $aux.")";
  44. logToFile($sqlPart);
  45. }
  46. if(!empty($price)){
  47. $price_range = explode(";",$price);
  48. $min_price = $price_range[0];
  49. $max_price = $price_range[1];
  50. if($min_price == '0' && $max_price == '100')
  51. $sqlPart .='';
  52. else if($min_price == '0' && $max_price <100)
  53. $sqlPart .=" AND ug.rate_A <='$max_price'";
  54. else if($min_price >'0' && $max_price == '100')
  55. $sqlPart .=" AND ug.rate_A >='$min_price'";
  56. else
  57. $sqlPart .=" AND ug.rate_A BETWEEN '$min_price' AND '$max_price'";
  58. }
  59. if(count($language_id)>0&& is_array($language_id)&& !empty($language_id)){
  60. $language_ids = implode(',',$language_id);
  61. $smarty->assign('languages',$language_ids);
  62. foreach($language_id as $val)
  63. $sqlPart .= " AND FIND_IN_SET($val,u.language_ids)";
  64. }
  65. if(count($availability)>0&& is_array($availability)&& !empty($availability)){
  66. $availabilitys = implode(',',$availability);
  67. $smarty->assign('availabilitys',$availabilitys);
  68. foreach($availability as $val)
  69. $sqlPart .= " AND FIND_IN_SET('$val',u.availability_type)";
  70. }
  71. /*if(!empty($availability_country))
  72. {
  73. $sqlPart .= " AND u.availability_country ='$availability_country'";
  74. }*/
  75. if(!empty($availability_city)){
  76. $sqlPart .= " AND u.availability_city ='$availability_city'";
  77. }
  78. if(!empty($searchusername)){
  79. $sqlPart .= " AND (u.username like '$searchusername%' OR u.description like '%$searchusername%' OR ug.lesson_plan like '%$searchusername%' OR ug.experience like '$searchusername%')";
  80. }
  81. if($game_id==''){
  82. $Sql = "SELECT * FROM ".TABLEPREFIX."_game WHERE is_default=1";
  83. $idRow = $UserManagerObjAjax->GetRecords("Row",$Sql);
  84. $game_id = $idRow['game_id'];
  85. }
  86. $GameSql = "SELECT * FROM ".TABLEPREFIX."_game WHERE game_id='$game_id'";
  87. $gamerow = $UserManagerObjAjax->GetRecords("Row",$GameSql);
  88. $game_id = $gamerow['game_id'];
  89. $game_name = $gamerow['game_name'];
  90. function findlanguage($language_id){
  91. if($language_id=='')
  92. return false;
  93. $SelectTypeSql = "SELECT language_name FROM ".TABLEPREFIX."_language WHERE language_id=$language_id";
  94. $SelectType = mysql_fetch_array(mysql_query($SelectTypeSql));
  95. return $SelectType[0];
  96. }
  97. function findvalue($table,$fld_name,$fld_value,$find_value){
  98. if($fld_value=='')
  99. return false;
  100. $SelectTypeSql = "SELECT ".$find_value." FROM ".$table." WHERE $fld_name=".$fld_value;
  101. $SelectType = mysql_fetch_array(mysql_query($SelectTypeSql));
  102. return $SelectType[0];
  103. }
  104. $record_per_page = !empty($record_per_page)?$record_per_page:15;
  105. $paginationObj = new PaginationClassFrontAjax($record_per_page,3,1,'Next','Previous');
  106. if($IsProcess != 'Y'){
  107. if($list_for == 'sorting'){
  108. $sortBy = explode('-',$sort_by);
  109. if($sortBy[0] == 'rating'){
  110. if($sortBy[1]=="DESC")
  111. $sqlPart.=" ORDER BY ur.overall_rating DESC,u.name ASC";
  112. else
  113. $sqlPart.=" ORDER BY ur.overall_rating ASC,u.name ASC";
  114. }
  115. if($sortBy[0] == 'rate'){
  116. if($sortBy[1]=="DESC")
  117. $sqlPart.=" ORDER BY ug.rate DESC,u.name ASC";
  118. else
  119. $sqlPart.=" ORDER BY ug.rate ASC,u.name ASC";
  120. }
  121. }
  122. else
  123. $sqlPart.=" ORDER BY u.date_registered DESC";
  124. $smarty->assign('sort_by',$sort_by);
  125. $_SESSION['sql'] = $sqlPart;
  126. $_SESSION['sort'] = $sort_by;
  127. $SelectcoachSQL="SELECT DISTINCT u.*,ur.*,ug.* FROM ".TABLEPREFIX."_user u ,".TABLEPREFIX."_user_type_user_relation ur , ".TABLEPREFIX."_user_game ug, nk_user_game_property gp
  128. WHERE gp.user_type_id = 1 AND ur.user_type_id=1 and ur.user_id=u.user_id and u.is_active='Y' and ug.user_id=u.user_id and ug.game_id=$game_id and ug.is_active='Y' and ug.user_type_id=1".$sqlPart;
  129. logToFile($SelectcoachSQL);
  130. }else{
  131. $coachSQl = $_SESSION['sql'];
  132. $smarty->assign('sort_by',$_SESSION['sort']);
  133. $SelectcoachSQL="SELECT DISTINCT u.*,ur.*,ug.*,g.* FROM ".TABLEPREFIX."_user u ,".TABLEPREFIX."_user_type_user_relation ur , ".TABLEPREFIX."_user_game ug , ".TABLEPREFIX."_game g WHERE ur.user_type_id=1 and g.user_id=u.user_id and ur.user_id=u.user_id and u.is_active='Y' and ug.user_id=u.user_id and ug.game_id=$game_id and ug.is_active='Y' and ug.user_type_id=1".$coachSQl;
  134. }
  135. //echo $SelectcoachSQL;
  136. $pagination_arr = $paginationObj->PaginationFrontAjaxALL('PaginationSearch',$SelectcoachSQL,$page_name.'?'.$catLink);
  137. $CoachArr=$UserManagerObjAjax->GetRecords("All",$pagination_arr[0]);
  138. //echo $pagination_arr[0];
  139. $NumCoach=count($CoachArr);
  140. $friendsSql = "SELECT * FROM ".TABLEPREFIX."_user_friends_list WHERE friend_status = 2 AND ( nk_user_id_owner='".$_SESSION['user_id']."' or nk_user_id_friend='".$_SESSION['user_id']."')";
  141. $friendsArr = $UserManagerObjAjax->GetRecords("All",$friendsSql);
  142. $gameCategoriesSql = "SELECT * FROM ".TABLEPREFIX."_game_categories WHERE game_id=".$game_id;
  143. $gameCategoriesArr = $UserManagerObjAjax->GetRecords("All",$gameCategoriesSql);
  144. $NumGameCategories=count($gameCategoriesArr);
  145. for($i=0;$i<$NumCoach;$i++){
  146. $rate_A = $CoachArr[$i]['rate_A'];
  147. $rate_B = $CoachArr[$i]['rate_B'];
  148. $rate_C = $CoachArr[$i]['rate_C'];
  149. if($rate_B == null || $rate_B == '' || $rate_B == 0)
  150. $CoachArr[$i]['rate_B'] = $rate_A;
  151. if($rate_C == null || $rate_C == '' || $rate_C == 0)
  152. $CoachArr[$i]['rate_C'] = $CoachArr[$i]['rate_B'];
  153. $coach_id = $CoachArr[$i]['user_id'];
  154. $CoachArr[$i]['isfriend'] = "n";//count($friendsArr)." | ".$coach_id." || ";
  155. for($t=0;$t<count($friendsArr);$t++){
  156. if($friendsArr[$t]['nk_user_id_friend'] == $coach_id || $friendsArr[$t]['nk_user_id_owner'] == $coach_id){
  157. $CoachArr[$i]['isfriend'] = "y";
  158. break;
  159. }
  160. }
  161. $CoachArr[$i]['status'] = getUserStatus($CoachArr[$i]);
  162. $CoachArr[$i]['name']=show_to_control($CoachArr[$i]['name']);
  163. $Clanguage = explode(",",$CoachArr[$i]['language_ids']);
  164. $language='';
  165. for($l=0;$l<count($Clanguage);$l++){
  166. if($Clanguage[$l]<>'')
  167. $language .=findlanguage($Clanguage[$l]).' , ';
  168. }
  169. $CoachArr[$i]['language']=substr($language,0,-2);
  170. for($x=0; $x<$NumGameCategories; $x++){
  171. $userCategoriesPropSql = "SELECT * FROM ".TABLEPREFIX."_user_game_property p, nk_game_categories_properties c WHERE p.user_id='".$coach_id."' AND p.user_type_id = '1'
  172. AND p.category_id = ".$gameCategoriesArr[$x]['category_id']." AND c.property_id = p.property_id";
  173. $userCategoriesPropArr = $UserManagerObjAjax->GetRecords("All",$userCategoriesPropSql);
  174. $NumuserCategoriesProp=count($userCategoriesPropArr);
  175. $prop ='';
  176. for($y=0; $y<$NumuserCategoriesProp; $y++){
  177. $prop .= (($y > 0)?', ':'').$userCategoriesPropArr[$y]['property_name'];
  178. }
  179. $gameCategoriesArr[$x]['properties'] = $prop;
  180. }
  181. $CoachArr[$i]['categoriesArr'] = $gameCategoriesArr;
  182. $avail_type = explode(',',$CoachArr[$i]['availability_type']);
  183. if($avail_type[1]==''){
  184. if($avail_type[0]=='O')
  185. $CoachArr[$i]['availability_type'] = 'Online';
  186. if($avail_type[0]=='L'){
  187. $CoachArr[$i]['availability_type'] = 'Local meet-up';
  188. $CoachArr[$i]['avail_local'] = 'Y';
  189. }
  190. }
  191. else{
  192. $CoachArr[$i]['availability_type'] = 'Online , Local meet-up';
  193. $CoachArr[$i]['avail_local'] = 'Y';
  194. }
  195. $CoachArr[$i]['availability_country'] = findvalue(TABLEPREFIX."_country","country_id",$CoachArr[$i]['availability_country'],"country_name");
  196. $CoachArr[$i]['availability_city'] = findvalue(TABLEPREFIX."_cities","city_id",$CoachArr[$i]['availability_city'],"city_key");
  197. $Sql_overall_tooptip="select rating_overall_tooltip from ".TABLEPREFIX."_default_comision";
  198. $overall_tooptip=$UserManagerObjAjax->GetRecords("Row",$Sql_overall_tooptip);
  199. $CoachArr[$i]['rating_overall_tooltip']=html_entity_decode($overall_tooptip['rating_overall_tooltip']);
  200. $totalReviewSql = "SELECT count(*) FROM ".TABLEPREFIX."_user_review WHERE user_id=".$CoachArr[$i]['user_id']." AND user_type_id=1";
  201. $totalR = $UserManagerObjAjax->GetRecords("Row",$totalReviewSql);
  202. $CoachArr[$i]['totalReview'] = $totalR[0];
  203. $Sql_Individual="select avg(rat.rating) as tot,rat.rcat_id,cat.rating_category,cat.rating_category_tooltip from ".TABLEPREFIX."_user_rating as rat,".TABLEPREFIX."_user_review as rev,".TABLEPREFIX."_rating_category as cat where rat.rcat_id=cat.rcat_id and rat.user_review_id=rev.user_review_id and rev.user_id=".$CoachArr[$i]['user_id']." and rev.user_type_id=1 group by rat.rcat_id";
  204. $Individual=$UserManagerObjAjax->GetRecords("All",$Sql_Individual);
  205. for($j=0;$j<count($Individual);$j++){
  206. $CatIndividualRec[$i][$j]['rating']=number_format($Individual[$j]['tot'], 1, '.', '');
  207. $CatIndividualRec[$i][$j]['rcat_id']=$Individual[$j]['rcat_id'];
  208. $CatIndividualRec[$i][$j]['rating_category']=$Individual[$j]['rating_category'];
  209. $CatIndividualRec[$i][$j]['rating_category_tooltip']=html_entity_decode($Individual[$j]['rating_category_tooltip']);
  210. }
  211. /*echo '<pre>';
  212. print_r($CatIndividualRec);*/
  213. }
  214. $city = findvalue(TABLEPREFIX."_cities","city_id",$availability_city,"city_key");
  215. $gameSql = "SELECT game_id,game_name FROM ".TABLEPREFIX."_game where status=1 ORDER BY game_name";
  216. $GameArr = $UserManagerObjAjax->HtmlOptionArrayCreate($gameSql);
  217. //print_r($ladder_id);
  218. $smarty->assign('searchusername',$searchusername);
  219. $smarty->assign('prop_id',$prop_id);
  220. $smarty->assign('language_id',$language_id);
  221. $smarty->assign('availability',$availability);
  222. $smarty->assign('price',$price);
  223. $smarty->assign("SearchTxt",$SearchTxt);
  224. $smarty->assign("GameArr",$GameArr);
  225. $smarty->assign('page_name',$page_name);
  226. $smarty->assign('game_id',$game_id);
  227. $smarty->assign('game_name',$game_name);
  228. $smarty->assign('city',$city);
  229. $smarty->assign('cityid',$availability_city);
  230. $smarty->assign('availability_country',$availability_country);
  231. $smarty->assign('availability_city',$availability_city);
  232. $smarty->assign('Numserver',$Numserver);
  233. $smarty->assign('ServerArr',$ServerArr);
  234. $smarty->assign('Numlanguage',$Numlanguage);
  235. $smarty->assign('LangArr',$LangArr);
  236. $smarty->assign('StarArr',$StarArr);
  237. $smarty->assign("CoachArr",$CoachArr);
  238. $smarty->assign("totalReview",$totalReview);
  239. $smarty->assign('pagination_arr',$pagination_arr);
  240. $smarty->assign("NumCoach",$NumCoach);
  241. $smarty->assign("CatIndividualRec",$CatIndividualRec);
  242. if($IsProcess <> 'Y')
  243. include "coach_leftpanel.php";
  244. $smarty->display('findcoach.tpl');
  245. //if($IsProcess <> 'Y') include "footer.php";
  246. ?>