0){ $change_step_query = mysql_query("SELECT * FROM clients_funnel_step WHERE req_id = " . $req_id); } //echo $change_step_query; $next_id = 0; $change_step = array('step_id' => 0); if (mysql_num_rows($change_step_query) > 0) { $change_step = mysql_fetch_assoc($change_step_query); $next_id = $change_step['next_id']; } $next_steps = array(); $funnel_step = mysql_query("SELECT * FROM funnel_steps WHERE funnel_id = (select funnel_id from funnel_steps where id=$id) and deleted=0 order by order_number, branch"); $isActive = true; $classF = ' active'; $stage = null; if ((int)$change_step['step_id'] == 0) { $isActive = false; } $arr_steps = array(); while($step = mysql_fetch_assoc($funnel_step)){ $step['isActive'] = (int)$isActive; $step['nextStep'] = false; if($step['main'] == 1 && !$isActive){ $next_steps[] = $step['id']; } if($step['id'] == (int)$change_step['step_id']){ $next_steps = json_decode( htmlspecialchars_decode($step['next_step'])); if($next_id == 0){ $isActive = false; } } else if ($step['id'] == (int)$next_id){ $isActive = false; } $arr_steps[$step['id']] = $step; } if($next_id != 0 && !empty($next_steps)){ foreach($next_steps as $key => $st){ if($st != $next_id){ unset($next_steps[$key]); } } } foreach ($arr_steps as $idstep => $step) { if (in_array($idstep, $next_steps)) { $stage = $step; } } if ($stage == null) { foreach ($arr_steps as $idstep => $step) { if ($step['stage'] == 'Закрыт') { $stage = $step; } } } if ($stage == null) { $stage['id'] = -1; } foreach ($arr_steps as $idstep => $step) { if ($idstep == $stage['id']) { $next_steps = json_decode(htmlspecialchars_decode($step['next_step'])); } } $canMove = false; $sql_c = "select step_id from clients where id=$clientId"; $q_c = mysql_query($sql_c); $r_c = mysql_fetch_assoc($q_c); $prev_step = $r_c['step_id']; $isPrev = false; //echo //var_dump($arr_steps); foreach ($arr_steps as $idstep => $step) { // if (in_array($idstep, $next_steps)) { // echo $prev_step.' --- '.$idstep."\n"; if($prev_step == $idstep){ $isPrev = true; } if ($idstep == $id && $isPrev) { $canMove = true; } // } } if ($canMove) { $res['result'] = '1'; } else { $res['result'] = '0'; } $res['etap'] = $stage['id']; echo json_encode($res, JSON_UNESCAPED_UNICODE); }