| Línea 84... |
Línea 84... |
| 84 |
$isJson = strpos($raw, 'json');
|
84 |
$isJson = strpos($raw, 'json');
|
| 85 |
}
|
85 |
}
|
| 86 |
}
|
86 |
}
|
| 87 |
}
|
87 |
}
|
| Línea 88... |
Línea 88... |
| 88 |
|
88 |
|
| Línea 89... |
Línea 89... |
| 89 |
if ($isJson) {
|
89 |
//if ($isJson) {
|
| 90 |
|
90 |
|
| 91 |
$data = [
|
91 |
$data = [
|
| - |
|
92 |
'items' => [],
|
| - |
|
93 |
'total' => 0,
|
| - |
|
94 |
|
| - |
|
95 |
];
|
| - |
|
96 |
|
| - |
|
97 |
$search = $this->params()->fromQuery('search');
|
| - |
|
98 |
$search = empty($search['value']) ? '' : filter_var($search['value'], FILTER_SANITIZE_STRING);
|
| - |
|
99 |
$page = intval($this->params()->fromQuery('start', 1), 10);
|
| - |
|
100 |
$records_x_page = intval($this->params()->fromQuery('length', 10), 10);
|
| - |
|
101 |
$order = $this->params()->fromQuery('order', []);
|
| - |
|
102 |
$order_field = empty($order[0]['column']) ? 99 : intval($order[0]['column'], 10);
|
| - |
|
103 |
$order_direction = empty($order[0]['dir']) ? 'ASC' : strtoupper(filter_var($order[0]['dir'], FILTER_SANITIZE_STRING));
|
| Línea 92... |
Línea -... |
| 92 |
'items' => [],
|
- |
|
| 93 |
'total' => 0,
|
- |
|
| 94 |
|
- |
|
| 95 |
];
|
- |
|
| 96 |
|
- |
|
| 97 |
$search = $this->params()->fromQuery('search');
|
- |
|
| 98 |
$search = empty($search['value']) ? '' : filter_var($search['value'], FILTER_SANITIZE_STRING);
|
- |
|
| 99 |
$page = intval($this->params()->fromQuery('start', 1), 10);
|
- |
|
| 100 |
$records_x_page = intval($this->params()->fromQuery('length', 10), 10);
|
- |
|
| 101 |
$order = $this->params()->fromQuery('order', []);
|
- |
|
| 102 |
$order_field = empty($order[0]['column']) ? 99 : intval($order[0]['column'], 10);
|
- |
|
| 103 |
$order_direction = empty($order[0]['dir']) ? 'ASC' : strtoupper(filter_var($order[0]['dir'], FILTER_SANITIZE_STRING));
|
- |
|
| 104 |
$fields = ['first_name', 'last_name', 'corporate_email', 'activity'];
|
104 |
$fields = ['first_name', 'last_name', 'corporate_email', 'activity'];
|
| 105 |
$order_field = isset($fields[$order_field]) ? $fields[$order_field] : 'first_name';
|
105 |
$order_field = isset($fields[$order_field]) ? $fields[$order_field] : 'first_name';
|
| 106 |
|
106 |
|
| Línea 107... |
Línea 107... |
| 107 |
if (!in_array($order_direction, ['ASC', 'DESC'])) {
|
107 |
if (!in_array($order_direction, ['ASC', 'DESC'])) {
|
| 108 |
$order_direction = 'ASC';
|
108 |
$order_direction = 'ASC';
|
| 109 |
}
|
109 |
}
|
| 110 |
|
110 |
|
| 111 |
|
111 |
|
| 112 |
//Quede aqui en el mapper
|
112 |
//Quede aqui en el mapper
|
| 113 |
$discoveryContactLogMapper = DiscoveryContactLogMapper::getInstance($this->adapter);
|
113 |
$discoveryContactLogMapper = DiscoveryContactLogMapper::getInstance($this->adapter);
|
| 114 |
$contactLogMappers = $discoveryContactLogMapper->fetchAll();
|
114 |
$contactLogMappers = $discoveryContactLogMapper->fetchAll();
|
| 115 |
|
115 |
|
| 116 |
// foreach ($contactLogMappers as $contactLogMapper) {
|
116 |
// foreach ($contactLogMappers as $contactLogMapper) {
|
| 117 |
$queryMapper = QueryMapper::getInstance($this->adapter);
|
117 |
$queryMapper = QueryMapper::getInstance($this->adapter);
|
| 118 |
$sql = $queryMapper->getSql();
|
118 |
$sql = $queryMapper->getSql();
|
| 119 |
$select = $sql->select();
|
119 |
$select = $sql->select();
|
| 120 |
$select->columns(['user_id', 'activity', 'details', 'added_on']);
|
120 |
$select->columns(['user_id', 'activity', 'details', 'added_on']);
|
| 121 |
$select->from(['tb1' => DiscoveryContactLogMapper::_TABLE], ['activity', 'details', 'added_on']);
|
121 |
$select->from(['tb1' => DiscoveryContactLogMapper::_TABLE], ['activity', 'details', 'added_on']);
|
| 122 |
$select->join(['tb2' => UserMapper::_TABLE], 'tb1.user_id = tb2.id', ['uuid', 'first_name', 'last_name', 'email']);
|
122 |
$select->join(['tb2' => UserMapper::_TABLE], 'tb1.user_id = tb2.id', ['uuid', 'first_name', 'last_name', 'email']);
|
| 123 |
$select->join(['tb3' => CompanyMapper::_TABLE], 'tb1.company_id = tb3.id', ['name']);
|
123 |
$select->join(['tb3' => CompanyMapper::_TABLE], 'tb1.company_id = tb3.id', ['name']);
|
| 124 |
//$select->where->equalTo('tb1.company_id', $contactLogMapper->company_id);
|
124 |
//$select->where->equalTo('tb1.company_id', $contactLogMapper->company_id);
|
| 125 |
|
125 |
|
| 126 |
if ($search) {
|
126 |
if ($search) {
|
| 127 |
$select->where->nest()
|
127 |
$select->where->nest()
|
| Línea 128... |
Línea 128... |
| 128 |
->like('first_name', '%' . $search . '%')
|
128 |
->like('first_name', '%' . $search . '%')
|
| 129 |
->or->like('last_name', '%' . $search . '%')
|
129 |
->or->like('last_name', '%' . $search . '%')
|
| 130 |
->or->like('email', '%' . $search . '%')
|
130 |
->or->like('email', '%' . $search . '%')
|
| 131 |
->unnest();
|
131 |
->unnest();
|
| 132 |
}
|
132 |
}
|
| 133 |
|
133 |
|
| 134 |
$select->order($order_field . ' ' . $order_direction);
|
134 |
$select->order($order_field . ' ' . $order_direction);
|
| 135 |
$hydrator = new ArraySerializableHydrator();
|
135 |
$hydrator = new ArraySerializableHydrator();
|
| 136 |
$resultset = new HydratingResultSet($hydrator);
|
136 |
$resultset = new HydratingResultSet($hydrator);
|
| 137 |
$adapter = new DbSelect($select, $sql, $resultset);
|
137 |
$adapter = new DbSelect($select, $sql, $resultset);
|
| 138 |
$paginator = new Paginator($adapter);
|
138 |
$paginator = new Paginator($adapter);
|
| 139 |
$paginator->setItemCountPerPage($records_x_page);
|
139 |
$paginator->setItemCountPerPage($records_x_page);
|
| 140 |
$paginator->setCurrentPageNumber($page);
|
140 |
$paginator->setCurrentPageNumber($page);
|
| 141 |
|
141 |
|
| 142 |
|
142 |
|
| 143 |
$items = [];
|
143 |
$items = [];
|
| 144 |
$records = $paginator->getCurrentItems();
|
144 |
$records = $paginator->getCurrentItems();
|
| 145 |
foreach ($records as $record) {
|
145 |
foreach ($records as $record) {
|
| 146 |
|
146 |
|
| 147 |
$dt_added_on = \DateTime::createFromFormat('Y-m-d H:i:s', $record['added_on']);
|
147 |
$dt_added_on = \DateTime::createFromFormat('Y-m-d H:i:s', $record['added_on']);
|
| 148 |
$added_on = $dt_added_on->format('d/m/Y h:i a');
|
148 |
$added_on = $dt_added_on->format('d/m/Y h:i a');
|
| 149 |
$item = [
|
149 |
$item = [
|
| 150 |
'uuid' => $record['uuid'],
|
150 |
'uuid' => $record['uuid'],
|
| 151 |
'first_name' => ucwords(strtolower($record['first_name'])),
|
151 |
'first_name' => ucwords(strtolower($record['first_name'])),
|
| 152 |
'last_name' => ucwords(strtolower($record['last_name'])),
|
152 |
'last_name' => ucwords(strtolower($record['last_name'])),
|
| Línea 153... |
Línea 153... |
| 153 |
'email' => strtolower($record['email']),
|
153 |
'email' => strtolower($record['email']),
|
| 154 |
'company' => $record['name'],
|
154 |
'company' => $record['name'],
|
| Línea 155... |
Línea 155... |
| 155 |
'activity' => $record['activity'],
|
155 |
'activity' => $record['activity'],
|
| 156 |
'details' => $record['details'],
|
156 |
'details' => $record['details'],
|
| Línea 157... |
Línea 157... |
| 157 |
'added_on' => $added_on,
|
157 |
'added_on' => $added_on,
|
| 158 |
];
|
158 |
];
|
| 159 |
|
159 |
|
| 160 |
|
160 |
|
| 161 |
array_push($items, $item);
|
161 |
array_push($items, $item);
|
| 162 |
}
|
162 |
}
|
| 163 |
|
163 |
|
| 164 |
$data['items'] = $items;
|
164 |
$data['items'] = $items;
|
| Línea 165... |
Línea 165... |
| 165 |
$data['total'] = $paginator->getTotalItemCount();
|
165 |
$data['total'] = $paginator->getTotalItemCount();
|
| 166 |
|
166 |
|