PageRenderTime 27ms CodeModel.GetById 0ms RepoModel.GetById 0ms app.codeStats 0ms

/findcoach.php

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