1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?php
- class Note extends Plugin {
- /* @var PluginHost $host */
- private $host;
- function about() {
- return array(1.0,
- "Adds support for setting article notes",
- "fox");
- }
- function init($host) {
- $this->host = $host;
- $host->add_hook($host::HOOK_ARTICLE_BUTTON, $this);
- }
- function get_js() {
- return file_get_contents(dirname(__FILE__) . "/note.js");
- }
- function hook_article_button($line) {
- return "<img src=\"plugins/note/note.png\"
- style=\"cursor : pointer\" style=\"cursor : pointer\"
- onclick=\"editArticleNote(".$line["id"].")\"
- class='tagsPic' title='".__('Edit article note')."'>";
- }
- function edit() {
- $param = $_REQUEST['param'];
- $sth = $this->pdo->prepare("SELECT note FROM ttrss_user_entries WHERE
- ref_id = ? AND owner_uid = ?");
- $sth->execute([$param, $_SESSION['uid']]);
- if ($row = $sth->fetch()) {
- $note = $row['note'];
- print_hidden("id", "$param");
- print_hidden("op", "pluginhandler");
- print_hidden("method", "setNote");
- print_hidden("plugin", "note");
- print "<table width='100%'><tr><td>";
- print "<textarea dojoType=\"dijit.form.SimpleTextarea\"
- style='font-size : 12px; width : 98%; height: 100px;'
- placeHolder='body#ttrssMain { font-size : 14px; };'
- name='note'>$note</textarea>";
- print "</td></tr></table>";
- }
- print "<div class='dlgButtons'>";
- print "<button dojoType=\"dijit.form.Button\"
- onclick=\"dijit.byId('editNoteDlg').execute()\">".__('Save')."</button> ";
- print "<button dojoType=\"dijit.form.Button\"
- onclick=\"dijit.byId('editNoteDlg').hide()\">".__('Cancel')."</button>";
- print "</div>";
- }
- function setNote() {
- $id = $_REQUEST["id"];
- $note = trim(strip_tags($_REQUEST["note"]));
- $sth = $this->pdo->prepare("UPDATE ttrss_user_entries SET note = ?
- WHERE ref_id = ? AND owner_uid = ?");
- $sth->execute([$note, $id, $_SESSION['uid']]);
- $formatted_note = Article::format_article_note($id, $note);
- print json_encode(array("note" => $formatted_note,
- "raw_length" => mb_strlen($note)));
- }
- function api_version() {
- return 2;
- }
- }
|