From d52cec6f0a4374897046a464a91f3bc94f0ed660 Mon Sep 17 00:00:00 2001 From: Rudis Muiznieks Date: Mon, 25 Sep 2023 16:25:04 -0500 Subject: [PATCH] wip --- Controllers/kagiSummarizerController.php | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Controllers/kagiSummarizerController.php b/Controllers/kagiSummarizerController.php index fee5bf5..c53e43e 100644 --- a/Controllers/kagiSummarizerController.php +++ b/Controllers/kagiSummarizerController.php @@ -2,5 +2,35 @@ class FreshExtension_kagiSummarizer_Controller extends Minz_ActionController { public function summarizeAction() { + $this->view->_layout(false); + $entry_id = Minz_Request::param('id'); + $entry_dao = FreshRSS_Factory::createEntryDao(); + $entry = $entry_dao->searchById($entry_id); + + if ($entry === null) { + echo json_encode(array('status' => 404)); + return; + } + + $entry_link = urlencode($entry->link()); + $url = 'https://kagi.com/mother/summary_labs?summary_type=summary&url=' . $entry_link; + + $curl = curl_init(); + curl_setopt($curl, CURLOPT_URL, $url); + curl_setopt($curl, CURLOPT_HTTPHEADER, array( + 'Content-Type: application/json; charset=UTF-8', + 'Authorization: ' . FreshRSS_Context::$user_conf->kagi_token + )); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_HEADER, true); + + $response = curl_exec($curl); + $header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE); + $response_body = substr($response, $header_size); + + return json_encode(array( + 'response' => json_decode($response_body), + 'status' => curl_getinfo($curl, CURLINFO_HTTP_CODE) + )); } }