diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/popup-dialog.php | 53 | ||||
-rw-r--r-- | modules/pref-instances.php | 34 |
2 files changed, 86 insertions, 1 deletions
diff --git a/modules/popup-dialog.php b/modules/popup-dialog.php index 2eb63af9d..906e89f4f 100644 --- a/modules/popup-dialog.php +++ b/modules/popup-dialog.php @@ -992,6 +992,59 @@ print "</div>"; } + if ($id == "addInstance") { + + print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"pref-instances\">"; + print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"subop\" value=\"add\">"; + + print "<div class=\"dlgSec\">".__("Instance")."</div>"; + + print "<div class=\"dlgSecCont\">"; + + /* URL */ + + print __("URL:") . " "; + + print "<input dojoType=\"dijit.form.ValidationTextBox\" required=\"1\" + placeHolder=\"".__("Instance URL")."\" + regExp='^(http|https)://.*' + style=\"font-size : 16px; width: 20em\" name=\"access_url\">"; + + print "<hr/>"; + + $access_key = sha1(uniqid(rand(), true)); + + /* Access key */ + + print __("Access key:") . " "; + + print "<input dojoType=\"dijit.form.ValidationTextBox\" required=\"1\" + placeHolder=\"".__("Access key")."\" + style=\"width: 20em\" name=\"access_key\" id=\"instance_add_key\" + value=\"$access_key\">"; + + print "</div>"; + + print "<div class=\"dlgButtons\"> + <div style='float : left'> + <button dojoType=\"dijit.form.Button\" + onclick=\"return dijit.byId('instanceAddDlg').regenKey()\">". + __('Generate new key')."</button> + </div> + <button dojoType=\"dijit.form.Button\" + onclick=\"return dijit.byId('instanceAddDlg').execute()\">". + __('Create link')."</button> + <button dojoType=\"dijit.form.Button\" + onclick=\"return dijit.byId('instanceAddDlg').hide()\"\">". + __('Cancel')."</button></div>"; + + return; + + + + + } + print "</dlg>"; } ?> diff --git a/modules/pref-instances.php b/modules/pref-instances.php index c57b46f35..ab3d78c44 100644 --- a/modules/pref-instances.php +++ b/modules/pref-instances.php @@ -3,6 +3,37 @@ $subop = $_REQUEST['subop']; + if ($subop == "remove") { + $ids = db_escape_string($_REQUEST['ids']); + + db_query($link, "DELETE FROM ttrss_linked_instances WHERE + id IN ($ids)"); + + return; + } + + if ($subop == "add") { + $id = db_escape_string($_REQUEST["id"]); + $access_url = db_escape_string($_REQUEST["access_url"]); + $access_key = db_escape_string($_REQUEST["access_key"]); + + db_query($link, "BEGIN"); + + $result = db_query($link, "SELECT id FROM ttrss_linked_instances + WHERE access_url = '$access_url'"); + + if (db_num_rows($result) == 0) { + db_query($link, "INSERT INTO ttrss_linked_instances + (access_url, access_key, last_connected) VALUES + ('$access_url', '$access_key', '1970-01-01')"); + + } + + db_query($link, "COMMIT"); + + return; + } + if ($subop == "edit") { $id = db_escape_string($_REQUEST["id"]); @@ -67,7 +98,8 @@ $access_key = db_escape_string($_REQUEST["access_key"]); db_query($link, "UPDATE ttrss_linked_instances SET - access_key = '$access_key', access_url = '$access_url' + access_key = '$access_key', access_url = '$access_url', + last_connected = '1970-01-01' WHERE id = '$id'"); return; |