freshrss-kagi-summarizer/extension.php

32 lines
1.1 KiB
PHP

<?php
class KagiSummarizerExtension extends Minz_Extension {
public function init() {
$this->registerTranslates();
$this->registerHook('entry_before_display', [$this, 'addSummarizeButton']);
Minz_View::appendScript($this->getFileUrl('script.js', 'js'), false, false, false);
//Minz_View::appendStyle($this->getFileUrl('style.css', 'css'));
}
public function handleConfigureAction() {
$this->registerTranslates();
if (Minz_Request::isPost()) {
$kagi_token = Minz_Request::param('kagi_token', '');
$prefix = 'https://kagi.com/search?token=';
if (substr($kagi_token, 0, strlen($prefix)) == $prefix) {
$kagi_token = substr($kagi_token, strlen($prefix));
}
FreshRSS_Context::$user_conf->kagi_token = $kagi_token;
FreshRSS_Context::$user_conf->save();
}
}
public function addSummarizeButton(FreshRSS_Entry $entry): FreshRSS_Entry {
$this->registerTranslates();
$entry->_content('<p class="kagi-summary"><a class="btn" data-url="' . urlencode($entry->link()) .' href="#">' . _t('ext.kagiSummarizer.ui.summarize_button') . '</a></p>' . $entry->content());
return $entry;
}
}