host = $host; $host->add_hook($host::HOOK_ARTICLE_BUTTON, $this); $host->add_hook($host::HOOK_PREFS_TAB_SECTION, $this); } function get_js() { return file_get_contents(__DIR__ . "/share.js"); } function get_css() { return file_get_contents(__DIR__ . "/share.css"); } function get_prefs_js() { return file_get_contents(__DIR__ . "/share_prefs.js"); } function unshare() { $id = $_REQUEST['id']; $sth = $this->pdo->prepare("UPDATE ttrss_user_entries SET uuid = '' WHERE int_id = ? AND owner_uid = ?"); $sth->execute([$id, $_SESSION['uid']]); print __("Article unshared"); } function hook_prefs_tab_section($id) { if ($id == "prefFeedsPublishedGenerated") { ?>

pdo->prepare("UPDATE ttrss_user_entries SET uuid = '' WHERE owner_uid = ?"); $sth->execute([$_SESSION['uid']]); print __("Shared URLs cleared."); } function newkey() { $id = $_REQUEST['id']; $uuid = uniqid_short(); $sth = $this->pdo->prepare("UPDATE ttrss_user_entries SET uuid = ? WHERE int_id = ? AND owner_uid = ?"); $sth->execute([$uuid, $id, $_SESSION['uid']]); print json_encode(["link" => $uuid]); } function hook_article_button($line) { $icon_class = !empty($line['uuid']) ? "is-shared" : ""; return "link"; } function shareDialog() { $id = (int)clean($_REQUEST['id'] ?? 0); $sth = $this->pdo->prepare("SELECT uuid FROM ttrss_user_entries WHERE int_id = ? AND owner_uid = ?"); $sth->execute([$id, $_SESSION['uid']]); if ($row = $sth->fetch()) { $uuid = $row['uuid']; if (!$uuid) { $uuid = uniqid_short(); $sth = $this->pdo->prepare("UPDATE ttrss_user_entries SET uuid = ? WHERE int_id = ? AND owner_uid = ?"); $sth->execute([$uuid, $id, $_SESSION['uid']]); } $url_path = get_self_url_prefix() . "/public.php?op=share&key=$uuid"; ?>