if ($subop == "getAllCounters") {
print "<rpc-reply>";
- print "<counters>";
+ print "<counters><![CDATA[";
- $omode = $_REQUEST["omode"];
+ print json_encode(getAllCounters($link, $_REQUEST['omode']));
- getAllCounters($link, $omode);
- print "</counters>";
+ print "]]></counters>";
print_runtime_info($link);
print "</rpc-reply>";
$result = db_query($link, "UPDATE ttrss_user_entries SET marked = $mark
WHERE ref_id = '$id' AND owner_uid = " . $_SESSION["uid"]);
- print "<rpc-reply><counters>";
- getGlobalCounters($link);
- getVirtCounters($link);
- getLabelCounters($link);
- if (get_pref($link, 'ENABLE_FEED_CATS')) {
- getCategoryCounters($link);
- }
- print "</counters></rpc-reply>";
+ print "<rpc-reply><counters><![CDATA[";
+ print json_encode(getAllCounters($link));
+ print "]]></counters></rpc-reply>";
return;
}
$result = db_query($link, "DELETE FROM ttrss_user_entries
WHERE ref_id IN ($ids) AND owner_uid = " . $_SESSION["uid"]);
- print "<rpc-reply><counters>";
- getGlobalCounters($link);
- getVirtCounters($link);
- if (get_pref($link, 'ENABLE_FEED_CATS')) {
- getCategoryCounters($link);
- }
- print "</counters></rpc-reply>";
+ print "<rpc-reply><counters><![CDATA[";
+ print json_encode(getAllCounters($link));
+ print "]]></counters></rpc-reply>";
return;
}
SET feed_id = orig_feed_id, orig_feed_id = NULL
WHERE ref_id IN ($ids) AND owner_uid = " . $_SESSION["uid"]);
- print "<rpc-reply><counters>";
- getGlobalCounters($link);
- getVirtCounters($link);
- if (get_pref($link, 'ENABLE_FEED_CATS')) {
- getCategoryCounters($link);
- }
- print "</counters></rpc-reply>";
+ print "<rpc-reply><counters><![CDATA[";
+ print json_encode(getAllCounters($link));
+ print "]]></counters></rpc-reply>";
return;
}
archive_article($link, $id, $_SESSION["uid"]);
}
- print "<rpc-reply><counters>";
- getGlobalCounters($link);
- getVirtCounters($link);
- if (get_pref($link, 'ENABLE_FEED_CATS')) {
- getCategoryCounters($link);
- }
- print "</counters></rpc-reply>";
+ print "<rpc-reply><counters><![CDATA[";
+ print json_encode(getAllCounters($link));
+ print "]]></counters></rpc-reply>";
return;
}
print "<rpc-reply>";
- print "<counters>";
- getGlobalCounters($link);
- getVirtCounters($link);
- getLabelCounters($link);
- if (get_pref($link, 'ENABLE_FEED_CATS')) {
- getCategoryCounters($link);
- }
- print "</counters>";
+ print "<counters><![CDATA[";
+ print json_encode(getAllCounters($link));
+ print "]]></counters>";
if ($note != 'undefined') {
$note_size = strlen($note);
update_rss_feed($link, $feed_id);
print "<rpc-reply>";
- print "<counters>";
- getFeedCounter($link, $feed_id);
- print "</counters>";
+ print "<counters><![CDATA[";
+ print json_encode(getFeedCounters($link, $feed_id));
+ print "]]></counters>";
print "</rpc-reply>";
return;
}
- if ($subop == "forceUpdateAllFeeds" || $subop == "updateAllFeeds") {
+ if ($subop == "updateAllFeeds") {
$global_unread_caller = sprintf("%d", $_REQUEST["uctr"]);
$global_unread = getGlobalUnread($link);
print "<rpc-reply>";
- print "<counters>";
-
if ($global_unread_caller != $global_unread) {
-
- $omode = $_REQUEST["omode"];
-
- if (!$omode) $omode = "tflc";
-
- getVirtCounters($link);
-
- if (strchr($omode, "l")) getLabelCounters($link);
-
- if (strchr($omode, "c")) {
- if (get_pref($link, 'ENABLE_FEED_CATS')) {
- getCategoryCounters($link);
- }
- }
-
- if (strchr($omode, "f")) getFeedCounters($link);
- if (strchr($omode, "t")) getTagCounters($link);
-
- getGlobalCounters($link, $global_unread);
+ print "<counters><![CDATA[";
+ $omode = $_REQUEST["omode"];
+ print json_encode(getAllCounters($link, $omode));
+ print "]]></counters>";
}
- print "</counters>";
-
print_runtime_info($link);
print "</rpc-reply>";
catchupArticlesById($link, $ids, $cmode);
print "<rpc-reply>";
- print "<counters>";
- getAllCounters($link, $_REQUEST["omode"]);
- print "</counters>";
+ print "<counters><![CDATA[";
+ print json_encode(getAllCounters($link, $_REQUEST['omode']));
+ print "]]></counters>";
+
print_runtime_info($link);
print "</rpc-reply>";
markArticlesById($link, $ids, $cmode);
print "<rpc-reply>";
- print "<counters>";
- getAllCounters($link, $_REQUEST["omode"]);
- print "</counters>";
+ print "<counters><![CDATA[";
+ print json_encode(getAllCounters($link, $_REQUEST['omode']));
+ print "]]></counters>";
print_runtime_info($link);
print "</rpc-reply>";
publishArticlesById($link, $ids, $cmode);
print "<rpc-reply>";
- print "<counters>";
- getAllCounters($link, $_REQUEST["omode"]);
- print "</counters>";
+ print "<counters><![CDATA[";
+ print json_encode(getAllCounters($link, $_REQUEST['omode']));
+ print "]]></counters>";
print_runtime_info($link);
print "</rpc-reply>";
print "<rpc-reply>";
if (sanity_check($link)) {
print "<error error-code=\"0\"/>";
- print_init_params($link);
+
+ print "<init-params><![CDATA[";
+ print json_encode(make_init_params($link));
+ print "]]></init-params>";
+
print_runtime_info($link);
# assign client-passed params to session
print "</info-for-headlines>";
- print "<counters>";
- getAllCounters($link, $omode);
- print "</counters>";
+ print "<counters><![CDATA[";
+ print json_encode(getAllCounters($link, $_REQUEST['omode']));
+ print "]]></counters>";
print "</rpc-reply>";
return;
print "</info-for-headlines>";
- print "<counters>";
- getAllCounters($link, $omode);
- print "</counters>";
+ print "<counters><![CDATA[";
+ print json_encode(getAllCounters($link, $_REQUEST['omode']));
+ print "]]></counters>";
print "</rpc-reply>";
return;
return;
}
+ if ($subop == "sendEmail") {
+ $secretkey = $_REQUEST['secretkey'];
+
+ print "<rpc-reply>";
+
+ if (DIGEST_ENABLE && $_SESSION['email_secretkey'] &&
+ $secretkey == $_SESSION['email_secretkey']) {
+
+ $_SESSION['email_secretkey'] = '';
+
+ $destination = $_REQUEST['destination'];
+ $subject = $_REQUEST['subject'];
+ $content = $_REQUEST['content'];
+
+ $replyto = strip_tags($_SESSION['email_replyto']);
+ $fromname = strip_tags($_SESSION['email_fromname']);
+
+ $mail = new PHPMailer();
+
+ $mail->PluginDir = "lib/phpmailer/";
+ $mail->SetLanguage("en", "lib/phpmailer/language/");
+
+ $mail->CharSet = "UTF-8";
+
+ $mail->From = $replyto;
+ $mail->FromName = $fromname;
+ $mail->AddAddress($destination);
+
+ if (DIGEST_SMTP_HOST) {
+ $mail->Host = DIGEST_SMTP_HOST;
+ $mail->Mailer = "smtp";
+ $mail->SMTPAuth = DIGEST_SMTP_LOGIN != '';
+ $mail->Username = DIGEST_SMTP_LOGIN;
+ $mail->Password = DIGEST_SMTP_PASSWORD;
+ }
+
+ $mail->IsHTML(false);
+ $mail->Subject = $subject;
+ $mail->Body = $content;
+
+ $rc = $mail->Send();
+
+ if (!$rc) {
+ print "<error><![CDATA[" . $mail->ErrorInfo . "]]></error>";
+ } else {
+ save_email_address($link, db_escape_string($destination));
+ print "<message>OK</message>";
+ }
+
+ } else {
+ print "<error>Not authorized.</error>";
+ }
+
+ print "</rpc-reply>";
+
+ return;
+ }
+
+ if ($subop == "completeEmails") {
+
+ $search = db_escape_string($_REQUEST["search"]);
+
+ print "<ul>";
+
+ foreach ($_SESSION['stored_emails'] as $email) {
+ if (strpos($email, $search) !== false) {
+ print "<li>$email</li>";
+ }
+ }
+
+ print "</ul>";
+
+ return;
+ }
+
print "<rpc-reply><error>Unknown method: $subop</error></rpc-reply>";
}
?>