permission()->check(['global', 'blast-all', 'blast-view' ])) { header('HTTP/1.1 401 Unauthorized'); exit; } switch ($this->method()) { case 'delete': $blast = Blast::o(c::getPagePiece(2)); if (!$blast->id_blast) { header('HTTP/1.0 404 Not Found'); exit; } $blast->status = 'canceled'; $blast->save(); break; case 'get': $blast = Blast::o(c::getPagePiece(2)); if (!$blast->id_blast) { header('HTTP/1.0 404 Not Found'); exit; } switch (c::getPagePiece(3)) { case 'users': echo $blast->users()->json(); exit; break; case 'run': $blast->run(); exit; break; default: $out = $blast->exports(); foreach ($blast->users() as $user) { $out['users'][] = $user->exports(); } echo json_encode($out); exit; } break; case 'post': if (c::getPagePiece(2) == 'sample') { $data = Blast::parseCsv($this->request()['sample']); $sample = []; $max = 10; $i = 0; $blast = new Blast([ 'content' => $this->request()['content'] ]); foreach ($data as $item) { $phone = $item['phone']; if ($phone) { unset($item['phone']); $user = new Blast_User([ 'phone' => $phone, 'data' => json_encode($item) ]); $user->_blast = $blast; $sample[] = ['phone' => $phone, 'message' => $user->message()]; $i++; } if ($max == $i) { break; } } echo json_encode($sample); exit; } else { $blast = new Blast($this->request()); $blast->status = 'new'; $blast->id_admin = c::user()->id_admin; $blast->type = 'phone'; $blast->save(); $blast->importData($this->request()['data']); $blast = Blast::o($blast->id_blast); } break; } echo $blast->json(); exit; } }