public function widgetsAction()
 {
     $contact_id = $this->getUserId();
     $widget_model = new waWidgetModel();
     $rows = $widget_model->getByContact($contact_id);
     $data = array();
     foreach ($rows as $row) {
         $data[$row['block']][] = $row;
     }
     $w = $b = 0;
     $real_block = 0;
     foreach ($data as $block => $block_data) {
         if ($real_block != $block) {
             $b++;
             $widget_model->updateByField(array('contact_id' => $contact_id, 'dashboard_id' => null, 'block' => $block), array('block' => $real_block));
         }
         foreach ($block_data as $sort => $row) {
             if ($row['sort'] != $sort) {
                 $widget_model->updateById($row['id'], array('sort' => $sort));
                 $w++;
             }
         }
         $real_block++;
     }
     echo 'OK';
     if ($b) {
         echo "\t" . $b . ' block(s) has been fixed.' . PHP_EOL;
     }
     if ($w) {
         echo "\t" . $w . ' widgets(s) has been fixed.' . PHP_EOL;
     }
 }