/**
  * get action records and group them for notifications display
  * @param  varchar $sql
  * @param  array   $params sql params
  * @return array
  */
 private function getRecords($p)
 {
     $rez = array();
     $recs = DM\Notifications::getLast($p['user_id'], $p['limit'], empty($p['fromId']) ? false : $p['fromId']);
     $actions = array();
     //grouping actions by object_id, action type and read property
     foreach ($recs as $r) {
         $r['data'] = Util\toJsonArray($r['data']);
         $group = $r['object_id'] . '_' . $r['action_type'] . '_' . $r['read'];
         $actions[$group][$r['from_user_id']] = $r;
     }
     //iterate actions and group into records up to read property
     foreach ($actions as $group => $users) {
         //form id
         $ids = array();
         //would be comma separated action_ids
         foreach ($users as $r) {
             $ids[] = $r['id'];
         }
         $r = current($users);
         $record = array('ids' => implode(',', $ids), 'read' => $r['read'], 'user_id' => $r['from_user_id'], 'object_id' => $r['object_id'], 'text' => $this->getUsersString($users) . ' ' . $this->getActionDeclination($r['action_type']) . ' ' . $this->getObjectName($r['data']) . '<div class="cG">' . Util\formatAgoTime($r['action_time']) . '</div>');
         $rez[] = $record;
     }
     return $rez;
 }