Exemple #1
0
 /**
  * (POST only)
  * params: route_id, priority
  */
 protected function action_change_priority()
 {
     $input = $this->input;
     $route = new nc_routing_route($input->fetch_post('route_id'));
     $old_priority = (int) $route->get('priority');
     $new_priority = (int) $input->fetch_post('priority');
     if ($new_priority && $old_priority != $new_priority) {
         if ($new_priority < $old_priority) {
             // moving upward
             $direction = '+';
             $min = $new_priority;
             $max = $old_priority;
         } else {
             // moving downward
             $direction = '-';
             $min = $old_priority;
             $max = $new_priority;
         }
         nc_db()->query("UPDATE `{$route->get_table_name()}`\n                    SET `Priority` = `Priority` {$direction} 1\n                  WHERE `Site_ID` = " . (int) $route->get('site_id') . "\n                    AND `Priority` BETWEEN {$min} AND {$max}");
         $route->set('priority', $new_priority)->save();
     }
     exit;
 }