summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--atom-to-html.xsl51
-rw-r--r--classes/digest.php10
-rw-r--r--classes/diskcache.php246
-rwxr-xr-xclasses/feeds.php23
-rwxr-xr-xclasses/handler/public.php12
-rw-r--r--classes/labels.php6
-rw-r--r--classes/opml.php20
-rwxr-xr-xclasses/pluginhost.php19
-rwxr-xr-xclasses/pref/feeds.php11
-rwxr-xr-xclasses/pref/filters.php52
-rw-r--r--classes/pref/prefs.php12
-rwxr-xr-xclasses/rssutils.php88
-rw-r--r--classes/templator.php21
-rw-r--r--[-rwxr-xr-x]config.php-dist16
-rw-r--r--include/functions.php79
-rw-r--r--index.php3
-rw-r--r--[-rwxr-xr-x]install/index.php102
-rw-r--r--js/AppBase.js63
-rw-r--r--js/Article.js103
-rw-r--r--js/CommonFilters.js55
-rwxr-xr-xjs/Headlines.js327
-rw-r--r--js/PrefFilterTree.js4
-rw-r--r--js/form/ValidationTextArea.js33
-rwxr-xr-xjs/prefs.js1
-rw-r--r--js/tt-rss.js67
-rw-r--r--lib/MiniTemplator.class.php1843
-rw-r--r--plugins/af_comics/filters/af_comics_gocomics.php4
-rw-r--r--plugins/af_comics/filters/af_comics_gocomics_farside.php3
-rw-r--r--plugins/af_readability/init.js4
-rw-r--r--plugins/auth_internal/init.php6
-rw-r--r--plugins/hotkeys_force_top/init.js6
-rw-r--r--plugins/hotkeys_force_top/init.php24
-rw-r--r--plugins/hotkeys_noscroll/init.php2
-rw-r--r--plugins/hotkeys_swap_jk/init.php (renamed from plugins/swap_jk/init.php)4
-rw-r--r--plugins/mail/init.php14
-rw-r--r--plugins/mailto/init.php6
-rw-r--r--plugins/shorten_expanded/init.js2
-rw-r--r--prefs.php2
-rw-r--r--templates.local/index.html0
-rw-r--r--templates/generated_feed.txt1
-rw-r--r--themes/compact.css214
-rw-r--r--themes/compact.css.map2
-rw-r--r--themes/compact.less35
-rw-r--r--themes/compact_base.less30
-rw-r--r--themes/compact_night.css2120
-rw-r--r--themes/compact_night.css.map1
-rw-r--r--themes/compact_night.less2
-rw-r--r--themes/light.css213
-rw-r--r--themes/light.css.map2
-rw-r--r--themes/light.less2
-rw-r--r--[-rwxr-xr-x]themes/light/cdm.less (renamed from css/cdm.less)183
-rw-r--r--themes/light/defines.less (renamed from css/defines.less)4
-rw-r--r--themes/light/dijit_basic.less (renamed from css/dijit_basic.less)0
-rw-r--r--themes/light/dijit_light.less (renamed from css/dijit_light.less)0
-rw-r--r--themes/light/light_base.less (renamed from css/default.less)2
-rw-r--r--themes/light/prefs.less (renamed from css/prefs.less)4
-rw-r--r--[-rwxr-xr-x]themes/light/tt-rss.less (renamed from css/tt-rss.less)60
-rw-r--r--themes/light/utility.less (renamed from css/utility.less)0
-rw-r--r--themes/light/zoom.less (renamed from css/zoom.less)6
-rw-r--r--themes/night.css239
-rw-r--r--themes/night.css.map2
-rw-r--r--themes/night_base.less45
-rw-r--r--themes/night_blue.css239
-rw-r--r--themes/night_blue.css.map2
-rwxr-xr-xupdate.php60
65 files changed, 4358 insertions, 2454 deletions
diff --git a/atom-to-html.xsl b/atom-to-html.xsl
deleted file mode 100644
index 79ce42891..000000000
--- a/atom-to-html.xsl
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet
- xmlns:atom="http://www.w3.org/2005/Atom"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-<xsl:output method="html"/>
-
-<xsl:template match="/atom:feed">
-<html>
- <head>
- <title><xsl:value-of select="atom:title"/></title>
- <link rel="stylesheet" type="text/css" href="themes/light.css"/>
- <script language="javascript" src="lib/xsl_mop-up.js"></script>
- </head>
-
- <body onload="go_decoding()" class="ttrss_utility">
-
- <div id="cometestme" style="display:none;">
- <xsl:text disable-output-escaping="yes">&amp;amp;</xsl:text>
- </div>
-
- <div class="rss">
-
- <h1><xsl:value-of select="atom:title"/></h1>
-
- <p class="description">This feed has been exported from
- <a target="_new" class="extlink" href="http://tt-rss.org">Tiny Tiny RSS</a>.
- It contains the following items:</p>
-
- <xsl:for-each select="atom:entry">
- <h2><a target="_new" href="{atom:link/@href}"><xsl:value-of select="atom:title"/></a></h2>
-
- <div name="decodeme" class="content">
- <xsl:value-of select="atom:content" disable-output-escaping="yes"/>
- </div>
-
- <xsl:if test="enclosure">
- <p><a href="{enclosure/@url}">Extra...</a></p>
- </xsl:if>
-
-
- </xsl:for-each>
-
- </div>
-
- </body>
- </html>
-</xsl:template>
-
-</xsl:stylesheet>
-
diff --git a/classes/digest.php b/classes/digest.php
index c9e9f24e7..9101b52f4 100644
--- a/classes/digest.php
+++ b/classes/digest.php
@@ -90,13 +90,11 @@ class Digest
static function prepare_headlines_digest($user_id, $days = 1, $limit = 1000) {
- require_once "lib/MiniTemplator.class.php";
+ $tpl = new Templator();
+ $tpl_t = new Templator();
- $tpl = new MiniTemplator;
- $tpl_t = new MiniTemplator;
-
- $tpl->readTemplateFromFile("templates/digest_template_html.txt");
- $tpl_t->readTemplateFromFile("templates/digest_template.txt");
+ $tpl->readTemplateFromFile("digest_template_html.txt");
+ $tpl_t->readTemplateFromFile("digest_template.txt");
$user_tz_string = get_pref('USER_TIMEZONE', $user_id);
$local_ts = convert_timestamp(time(), 'UTC', $user_tz_string);
diff --git a/classes/diskcache.php b/classes/diskcache.php
index 7e4a8335d..be1aea97f 100644
--- a/classes/diskcache.php
+++ b/classes/diskcache.php
@@ -2,6 +2,194 @@
class DiskCache {
private $dir;
+ // https://stackoverflow.com/a/53662733
+ private $mimeMap = [
+ 'video/3gpp2' => '3g2',
+ 'video/3gp' => '3gp',
+ 'video/3gpp' => '3gp',
+ 'application/x-compressed' => '7zip',
+ 'audio/x-acc' => 'aac',
+ 'audio/ac3' => 'ac3',
+ 'application/postscript' => 'ai',
+ 'audio/x-aiff' => 'aif',
+ 'audio/aiff' => 'aif',
+ 'audio/x-au' => 'au',
+ 'video/x-msvideo' => 'avi',
+ 'video/msvideo' => 'avi',
+ 'video/avi' => 'avi',
+ 'application/x-troff-msvideo' => 'avi',
+ 'application/macbinary' => 'bin',
+ 'application/mac-binary' => 'bin',
+ 'application/x-binary' => 'bin',
+ 'application/x-macbinary' => 'bin',
+ 'image/bmp' => 'bmp',
+ 'image/x-bmp' => 'bmp',
+ 'image/x-bitmap' => 'bmp',
+ 'image/x-xbitmap' => 'bmp',
+ 'image/x-win-bitmap' => 'bmp',
+ 'image/x-windows-bmp' => 'bmp',
+ 'image/ms-bmp' => 'bmp',
+ 'image/x-ms-bmp' => 'bmp',
+ 'application/bmp' => 'bmp',
+ 'application/x-bmp' => 'bmp',
+ 'application/x-win-bitmap' => 'bmp',
+ 'application/cdr' => 'cdr',
+ 'application/coreldraw' => 'cdr',
+ 'application/x-cdr' => 'cdr',
+ 'application/x-coreldraw' => 'cdr',
+ 'image/cdr' => 'cdr',
+ 'image/x-cdr' => 'cdr',
+ 'zz-application/zz-winassoc-cdr' => 'cdr',
+ 'application/mac-compactpro' => 'cpt',
+ 'application/pkix-crl' => 'crl',
+ 'application/pkcs-crl' => 'crl',
+ 'application/x-x509-ca-cert' => 'crt',
+ 'application/pkix-cert' => 'crt',
+ 'text/css' => 'css',
+ 'text/x-comma-separated-values' => 'csv',
+ 'text/comma-separated-values' => 'csv',
+ 'application/vnd.msexcel' => 'csv',
+ 'application/x-director' => 'dcr',
+ 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' => 'docx',
+ 'application/x-dvi' => 'dvi',
+ 'message/rfc822' => 'eml',
+ 'application/x-msdownload' => 'exe',
+ 'video/x-f4v' => 'f4v',
+ 'audio/x-flac' => 'flac',
+ 'video/x-flv' => 'flv',
+ 'image/gif' => 'gif',
+ 'application/gpg-keys' => 'gpg',
+ 'application/x-gtar' => 'gtar',
+ 'application/x-gzip' => 'gzip',
+ 'application/mac-binhex40' => 'hqx',
+ 'application/mac-binhex' => 'hqx',
+ 'application/x-binhex40' => 'hqx',
+ 'application/x-mac-binhex40' => 'hqx',
+ 'text/html' => 'html',
+ 'image/x-icon' => 'ico',
+ 'image/x-ico' => 'ico',
+ 'image/vnd.microsoft.icon' => 'ico',
+ 'text/calendar' => 'ics',
+ 'application/java-archive' => 'jar',
+ 'application/x-java-application' => 'jar',
+ 'application/x-jar' => 'jar',
+ 'image/jp2' => 'jp2',
+ 'video/mj2' => 'jp2',
+ 'image/jpx' => 'jp2',
+ 'image/jpm' => 'jp2',
+ 'image/jpeg' => 'jpg',
+ 'image/pjpeg' => 'jpg',
+ 'application/x-javascript' => 'js',
+ 'application/json' => 'json',
+ 'text/json' => 'json',
+ 'application/vnd.google-earth.kml+xml' => 'kml',
+ 'application/vnd.google-earth.kmz' => 'kmz',
+ 'text/x-log' => 'log',
+ 'audio/x-m4a' => 'm4a',
+ 'audio/mp4' => 'm4a',
+ 'application/vnd.mpegurl' => 'm4u',
+ 'audio/midi' => 'mid',
+ 'application/vnd.mif' => 'mif',
+ 'video/quicktime' => 'mov',
+ 'video/x-sgi-movie' => 'movie',
+ 'audio/mpeg' => 'mp3',
+ 'audio/mpg' => 'mp3',
+ 'audio/mpeg3' => 'mp3',
+ 'audio/mp3' => 'mp3',
+ 'video/mp4' => 'mp4',
+ 'video/mpeg' => 'mpeg',
+ 'application/oda' => 'oda',
+ 'audio/ogg' => 'ogg',
+ 'video/ogg' => 'ogg',
+ 'application/ogg' => 'ogg',
+ 'font/otf' => 'otf',
+ 'application/x-pkcs10' => 'p10',
+ 'application/pkcs10' => 'p10',
+ 'application/x-pkcs12' => 'p12',
+ 'application/x-pkcs7-signature' => 'p7a',
+ 'application/pkcs7-mime' => 'p7c',
+ 'application/x-pkcs7-mime' => 'p7c',
+ 'application/x-pkcs7-certreqresp' => 'p7r',
+ 'application/pkcs7-signature' => 'p7s',
+ 'application/pdf' => 'pdf',
+ 'application/octet-stream' => 'pdf',
+ 'application/x-x509-user-cert' => 'pem',
+ 'application/x-pem-file' => 'pem',
+ 'application/pgp' => 'pgp',
+ 'application/x-httpd-php' => 'php',
+ 'application/php' => 'php',
+ 'application/x-php' => 'php',
+ 'text/php' => 'php',
+ 'text/x-php' => 'php',
+ 'application/x-httpd-php-source' => 'php',
+ 'image/png' => 'png',
+ 'image/x-png' => 'png',
+ 'application/powerpoint' => 'ppt',
+ 'application/vnd.ms-powerpoint' => 'ppt',
+ 'application/vnd.ms-office' => 'ppt',
+ 'application/msword' => 'ppt',
+ 'application/vnd.openxmlformats-officedocument.presentationml.presentation' => 'pptx',
+ 'application/x-photoshop' => 'psd',
+ 'image/vnd.adobe.photoshop' => 'psd',
+ 'audio/x-realaudio' => 'ra',
+ 'audio/x-pn-realaudio' => 'ram',
+ 'application/x-rar' => 'rar',
+ 'application/rar' => 'rar',
+ 'application/x-rar-compressed' => 'rar',
+ 'audio/x-pn-realaudio-plugin' => 'rpm',
+ 'application/x-pkcs7' => 'rsa',
+ 'text/rtf' => 'rtf',
+ 'text/richtext' => 'rtx',
+ 'video/vnd.rn-realvideo' => 'rv',
+ 'application/x-stuffit' => 'sit',
+ 'application/smil' => 'smil',
+ 'text/srt' => 'srt',
+ 'image/svg+xml' => 'svg',
+ 'application/x-shockwave-flash' => 'swf',
+ 'application/x-tar' => 'tar',
+ 'application/x-gzip-compressed' => 'tgz',
+ 'image/tiff' => 'tiff',
+ 'font/ttf' => 'ttf',
+ 'text/plain' => 'txt',
+ 'text/x-vcard' => 'vcf',
+ 'application/videolan' => 'vlc',
+ 'text/vtt' => 'vtt',
+ 'audio/x-wav' => 'wav',
+ 'audio/wave' => 'wav',
+ 'audio/wav' => 'wav',
+ 'application/wbxml' => 'wbxml',
+ 'video/webm' => 'webm',
+ 'image/webp' => 'webp',
+ 'audio/x-ms-wma' => 'wma',
+ 'application/wmlc' => 'wmlc',
+ 'video/x-ms-wmv' => 'wmv',
+ 'video/x-ms-asf' => 'wmv',
+ 'font/woff' => 'woff',
+ 'font/woff2' => 'woff2',
+ 'application/xhtml+xml' => 'xhtml',
+ 'application/excel' => 'xl',
+ 'application/msexcel' => 'xls',
+ 'application/x-msexcel' => 'xls',
+ 'application/x-ms-excel' => 'xls',
+ 'application/x-excel' => 'xls',
+ 'application/x-dos_ms_excel' => 'xls',
+ 'application/xls' => 'xls',
+ 'application/x-xls' => 'xls',
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' => 'xlsx',
+ 'application/vnd.ms-excel' => 'xlsx',
+ 'application/xml' => 'xml',
+ 'text/xml' => 'xml',
+ 'text/xsl' => 'xsl',
+ 'application/xspf+xml' => 'xspf',
+ 'application/x-compress' => 'z',
+ 'application/x-zip' => 'zip',
+ 'application/zip' => 'zip',
+ 'application/x-zip-compressed' => 'zip',
+ 'application/s-compressed' => 'zip',
+ 'multipart/x-zip' => 'zip',
+ 'text/x-scriptzsh' => 'zsh'
+ ];
+
public function __construct($dir) {
$this->dir = CACHE_DIR . "/" . clean_filename($dir);
}
@@ -66,8 +254,22 @@ class DiskCache {
return null;
}
+ public function getFakeExtension($filename) {
+ $mimetype = $this->getMimeType($filename);
+
+ if ($mimetype)
+ return isset($this->mimeMap[$mimetype]) ? $this->mimeMap[$mimetype] : "";
+ else
+ return "";
+ }
+
public function send($filename) {
- header("Content-Disposition: inline; filename=\"$filename\"");
+ $fake_extension = $this->getFakeExtension($filename);
+
+ if ($fake_extension)
+ $fake_extension = ".$fake_extension";
+
+ header("Content-Disposition: inline; filename=\"${filename}${fake_extension}\"");
return send_local_file($this->getFullPath($filename));
}
@@ -79,6 +281,7 @@ class DiskCache {
// check for locally cached (media) URLs and rewrite to local versions
// this is called separately after sanitize() and plugin render article hooks to allow
// plugins work on original source URLs used before caching
+ // NOTE: URLs should be already absolutized because this is called after sanitize()
static public function rewriteUrls($str)
{
$res = trim($str);
@@ -89,31 +292,44 @@ class DiskCache {
$xpath = new DOMXPath($doc);
$cache = new DiskCache("images");
- $entries = $xpath->query('(//img[@src]|//picture/source[@src]|//video[@poster]|//video/source[@src]|//audio/source[@src])');
+ $entries = $xpath->query('(//img[@src]|//source[@src|@srcset]|//video[@poster|@src])');
$need_saving = false;
foreach ($entries as $entry) {
+ foreach (array('src', 'poster') as $attr) {
+ if ($entry->hasAttribute($attr)) {
+ $url = $entry->getAttribute($attr);
+ $cached_filename = sha1($url);
- if ($entry->hasAttribute('src') || $entry->hasAttribute('poster')) {
+ if ($cache->exists($cached_filename)) {
+ $url = $cache->getUrl($cached_filename);
- // should be already absolutized because this is called after sanitize()
- $src = $entry->hasAttribute('poster') ? $entry->getAttribute('poster') : $entry->getAttribute('src');
- $cached_filename = sha1($src);
+ $entry->setAttribute($attr, $url);
+ $entry->removeAttribute("srcset");
- if ($cache->exists($cached_filename)) {
+ $need_saving = true;
+ }
+ }
+ }
- $src = $cache->getUrl(sha1($src));
+ if ($entry->hasAttribute("srcset")) {
+ $tokens = explode(",", $entry->getAttribute('srcset'));
- if ($entry->hasAttribute('poster'))
- $entry->setAttribute('poster', $src);
- else {
- $entry->setAttribute('src', $src);
- $entry->removeAttribute("srcset");
- }
+ for ($i = 0; $i < count($tokens); $i++) {
+ $token = trim($tokens[$i]);
- $need_saving = true;
+ list ($url, $width) = explode(" ", $token, 2);
+ $cached_filename = sha1($url);
+
+ if ($cache->exists($cached_filename)) {
+ $tokens[$i] = $cache->getUrl($cached_filename) . " " . $width;
+
+ $need_saving = true;
+ }
}
+
+ $entry->setAttribute("srcset", implode(", ", $tokens));
}
}
diff --git a/classes/feeds.php b/classes/feeds.php
index 77add790e..bd2334747 100755
--- a/classes/feeds.php
+++ b/classes/feeds.php
@@ -2267,6 +2267,24 @@ class Feeds extends Handler_Protected {
if (!$not) array_push($search_words, $k);
}
break;
+ case "label":
+ if ($commandpair[1]) {
+ $label_id = Labels::find_id($commandpair[1], $_SESSION["uid"]);
+
+ if ($label_id) {
+ array_push($query_keywords, "($not
+ (ttrss_entries.id IN (
+ SELECT article_id FROM ttrss_user_labels2 WHERE
+ label_id = ".$pdo->quote($label_id).")))");
+ } else {
+ array_push($query_keywords, "(false)");
+ }
+ } else {
+ array_push($query_keywords, "(UPPER(ttrss_entries.title) $not LIKE UPPER(".$pdo->quote("%$k%").")
+ OR UPPER(ttrss_entries.content) $not LIKE UPPER(".$pdo->quote("%$k%")."))");
+ if (!$not) array_push($search_words, $k);
+ }
+ break;
case "unread":
if ($commandpair[1]) {
if ($commandpair[1] == "true")
@@ -2323,7 +2341,10 @@ class Feeds extends Handler_Protected {
}
- $search_query_part = implode("AND", $query_keywords);
+ if (count($query_keywords) > 0)
+ $search_query_part = implode("AND", $query_keywords);
+ else
+ $search_query_part = "false";
return array($search_query_part, $search_words);
}
diff --git a/classes/handler/public.php b/classes/handler/public.php
index 8c2700012..21430e6cc 100755
--- a/classes/handler/public.php
+++ b/classes/handler/public.php
@@ -5,8 +5,6 @@ class Handler_Public extends Handler {
$limit, $offset, $search,
$view_mode = false, $format = 'atom', $order = false, $orig_guid = false, $start_ts = false) {
- require_once "lib/MiniTemplator.class.php";
-
$note_style = "background-color : #fff7d5;
border-width : 1px; ".
"padding : 5px; border-style : dashed; border-color : #e7d796;".
@@ -80,9 +78,9 @@ class Handler_Public extends Handler {
if (!$feed_site_url) $feed_site_url = get_self_url_prefix();
if ($format == 'atom') {
- $tpl = new MiniTemplator;
+ $tpl = new Templator();
- $tpl->readTemplateFromFile("templates/generated_feed.txt");
+ $tpl->readTemplateFromFile("generated_feed.txt");
$tpl->setVariable('FEED_TITLE', $feed_title, true);
$tpl->setVariable('VERSION', get_version(), true);
@@ -1030,11 +1028,9 @@ class Handler_Public extends Handler {
$resetpass_link = get_self_url_prefix() . "/public.php?op=forgotpass&hash=" . $resetpass_token .
"&login=" . urlencode($login);
- require_once "lib/MiniTemplator.class.php";
-
- $tpl = new MiniTemplator;
+ $tpl = new Templator();
- $tpl->readTemplateFromFile("templates/resetpass_link_template.txt");
+ $tpl->readTemplateFromFile("resetpass_link_template.txt");
$tpl->setVariable('LOGIN', $login);
$tpl->setVariable('RESETPASS_LINK', $resetpass_link);
diff --git a/classes/labels.php b/classes/labels.php
index 19d060617..7a69a5191 100644
--- a/classes/labels.php
+++ b/classes/labels.php
@@ -12,7 +12,7 @@ class Labels
static function find_id($label, $owner_uid) {
$pdo = Db::pdo();
- $sth = $pdo->prepare("SELECT id FROM ttrss_labels2 WHERE caption = ?
+ $sth = $pdo->prepare("SELECT id FROM ttrss_labels2 WHERE LOWER(caption) = LOWER(?)
AND owner_uid = ? LIMIT 1");
$sth->execute([$label, $owner_uid]);
@@ -186,7 +186,7 @@ class Labels
}
$sth = $pdo->prepare("SELECT id FROM ttrss_labels2
- WHERE caption = ? AND owner_uid = ?");
+ WHERE LOWER(caption) = LOWER(?) AND owner_uid = ?");
$sth->execute([$caption, $owner_uid]);
if (!$sth->fetch()) {
@@ -202,4 +202,4 @@ class Labels
return $result;
}
-} \ No newline at end of file
+}
diff --git a/classes/opml.php b/classes/opml.php
index 48db9a8a3..c4523f83f 100644
--- a/classes/opml.php
+++ b/classes/opml.php
@@ -125,15 +125,16 @@ class Opml extends Handler_Protected {
return $out;
}
- function opml_export($name, $owner_uid, $hide_private_feeds = false, $include_settings = true) {
+ function opml_export($filename, $owner_uid, $hide_private_feeds = false, $include_settings = true, $file_output = false) {
if (!$owner_uid) return;
- if (!isset($_REQUEST["debug"])) {
- header("Content-type: application/xml+opml");
- header("Content-Disposition: attachment; filename=" . $name );
- } else {
- header("Content-type: text/xml");
- }
+ if (!$file_output)
+ if (!isset($_REQUEST["debug"])) {
+ header("Content-type: application/xml+opml");
+ header("Content-Disposition: attachment; filename=$filename");
+ } else {
+ header("Content-type: text/xml");
+ }
$out = "<?xml version=\"1.0\" encoding=\"utf-8\"?".">";
@@ -288,7 +289,10 @@ class Opml extends Handler_Protected {
'return str_repeat("\t", intval(strlen($matches[0])/2));'),
$res); */
- print $res;
+ if ($file_output)
+ return file_put_contents($filename, $res) > 0;
+ else
+ print $res;
}
// Import
diff --git a/classes/pluginhost.php b/classes/pluginhost.php
index 6158880f2..0ab979c4b 100755
--- a/classes/pluginhost.php
+++ b/classes/pluginhost.php
@@ -1,6 +1,9 @@
<?php
class PluginHost {
private $pdo;
+ /* separate handle for plugin data so transaction while saving wouldn't clash with possible main
+ tt-rss code transactions; only initialized when first needed */
+ private $pdo_data;
private $hooks = array();
private $plugins = array();
private $handlers = array();
@@ -62,6 +65,7 @@ class PluginHost {
const HOOK_ARTICLE_IMAGE = 42;
const HOOK_FEED_TREE = 43;
const HOOK_IFRAME_WHITELISTED = 44;
+ const HOOK_ENCLOSURE_IMPORTED = 45;
const KIND_ALL = 1;
const KIND_SYSTEM = 2;
@@ -73,7 +77,6 @@ class PluginHost {
function __construct() {
$this->pdo = Db::pdo();
-
$this->storage = array();
}
@@ -361,9 +364,13 @@ class PluginHost {
private function save_data($plugin) {
if ($this->owner_uid) {
- $this->pdo->beginTransaction();
- $sth = $this->pdo->prepare("SELECT id FROM ttrss_plugin_storage WHERE
+ if (!$this->pdo_data)
+ $this->pdo_data = Db::instance()->pdo_connect();
+
+ $this->pdo_data->beginTransaction();
+
+ $sth = $this->pdo_data->prepare("SELECT id FROM ttrss_plugin_storage WHERE
owner_uid= ? AND name = ?");
$sth->execute([$this->owner_uid, $plugin]);
@@ -373,18 +380,18 @@ class PluginHost {
$content = serialize($this->storage[$plugin]);
if ($sth->fetch()) {
- $sth = $this->pdo->prepare("UPDATE ttrss_plugin_storage SET content = ?
+ $sth = $this->pdo_data->prepare("UPDATE ttrss_plugin_storage SET content = ?
WHERE owner_uid= ? AND name = ?");
$sth->execute([(string)$content, $this->owner_uid, $plugin]);
} else {
- $sth = $this->pdo->prepare("INSERT INTO ttrss_plugin_storage
+ $sth = $this->pdo_data->prepare("INSERT INTO ttrss_plugin_storage
(name,owner_uid,content) VALUES
(?, ?, ?)");
$sth->execute([$plugin, $this->owner_uid, (string)$content]);
}
- $this->pdo->commit();
+ $this->pdo_data->commit();
}
}
diff --git a/classes/pref/feeds.php b/classes/pref/feeds.php
index 6d7295beb..00d2e87ea 100755
--- a/classes/pref/feeds.php
+++ b/classes/pref/feeds.php
@@ -449,7 +449,7 @@ class Pref_Feeds extends Handler_Protected {
if ($row = $sth->fetch()) {
@unlink(ICONS_DIR . "/$feed_id.ico");
- $sth = $this->pdo->prepare("UPDATE ttrss_feeds SET favicon_avg_color = NULL
+ $sth = $this->pdo->prepare("UPDATE ttrss_feeds SET favicon_avg_color = NULL, favicon_last_checked = '1970-01-01'
where id = ?");
$sth->execute([$feed_id]);
}
@@ -1637,6 +1637,8 @@ class Pref_Feeds extends Handler_Protected {
}
function batchSubscribe() {
+ print "<form onsubmit='return false'>";
+
print_hidden("op", "pref-feeds");
print_hidden("method", "batchaddfeeds");
@@ -1645,7 +1647,7 @@ class Pref_Feeds extends Handler_Protected {
print "<textarea
style='font-size : 12px; width : 98%; height: 200px;'
- dojoType='dijit.form.SimpleTextarea' name='feeds'></textarea>";
+ dojoType='fox.form.ValidationTextArea' required='1' name='feeds'></textarea>";
if (get_pref('ENABLE_FEED_CATS')) {
print "<fieldset>";
@@ -1675,9 +1677,12 @@ class Pref_Feeds extends Handler_Protected {
print "</fieldset>";
print "<footer>
- <button dojoType='dijit.form.Button' type='submit' class='alt-primary'>".__('Subscribe')."</button>
+ <button dojoType='dijit.form.Button' onclick=\"return dijit.byId('batchSubDlg').execute()\" type='submit' class='alt-primary'>".
+ __('Subscribe')."</button>
<button dojoType='dijit.form.Button' onclick=\"return dijit.byId('batchSubDlg').hide()\">".__('Cancel')."</button>
</footer>";
+
+ print "</form>";
}
function batchAddFeeds() {
diff --git a/classes/pref/filters.php b/classes/pref/filters.php
index a3a0ce77f..dba2568f2 100755
--- a/classes/pref/filters.php
+++ b/classes/pref/filters.php
@@ -3,7 +3,7 @@ class Pref_Filters extends Handler_Protected {
function csrf_ignore($method) {
$csrf_ignored = array("index", "getfiltertree", "edit", "newfilter", "newrule",
- "newaction", "savefilterorder");
+ "newaction", "savefilterorder", "testfilterdlg");
return array_search($method, $csrf_ignored) !== false;
}
@@ -159,22 +159,19 @@ class Pref_Filters extends Handler_Protected {
print json_encode($rv);
}
- function testFilter() {
+ function testFilterDlg() {
+ ?>
+ <div>
+ <img id='prefFilterLoadingIndicator' src='images/indicator_tiny.gif'>&nbsp;
+ <span id='prefFilterProgressMsg'>Looking for articles...</span>
+ </div>
- if (isset($_REQUEST["offset"])) return $this->testFilterDo();
-
- //print __("Articles matching this filter:");
-
- print "<div><img id='prefFilterLoadingIndicator' src='images/indicator_tiny.gif'>&nbsp;<span id='prefFilterProgressMsg'>Looking for articles...</span></div>";
-
- print "<ul class='panel panel-scrollable list list-unstyled' id='prefFilterTestResultList'>";
- print "</ul>";
-
- print "<footer class='text-center'>";
- print "<button dojoType='dijit.form.Button' onclick=\"dijit.byId('filterTestDlg').hide()\">".
- __('Close this window')."</button>";
- print "</footer>";
+ <ul class='panel panel-scrollable list list-unstyled' id='prefFilterTestResultList'></ul>
+ <footer class='text-center'>
+ <button dojoType='dijit.form.Button' onclick="dijit.byId('filterTestDlg').hide()"><?php echo __('Close this window') ?></button>
+ </footer>
+ <?php
}
private function getfilterrules_list($filter_id) {
@@ -600,10 +597,6 @@ class Pref_Filters extends Handler_Protected {
}
function editSave() {
- if (clean($_REQUEST["savemode"] && $_REQUEST["savemode"]) == "test") {
- return $this->testFilter();
- }
-
$filter_id = clean($_REQUEST["id"]);
$enabled = checkbox_to_sql_bool(clean($_REQUEST["enabled"]));
$match_any_rule = checkbox_to_sql_bool(clean($_REQUEST["match_any_rule"]));
@@ -714,10 +707,6 @@ class Pref_Filters extends Handler_Protected {
}
function add() {
- if (clean($_REQUEST["savemode"] && $_REQUEST["savemode"]) == "test") {
- return $this->testFilter();
- }
-
$enabled = checkbox_to_sql_bool(clean($_REQUEST["enabled"]));
$match_any_rule = checkbox_to_sql_bool(clean($_REQUEST["match_any_rule"]));
$title = clean($_REQUEST["title"]);
@@ -975,19 +964,18 @@ class Pref_Filters extends Handler_Protected {
print "<section>";
- print "<input dojoType=\"dijit.form.ValidationTextBox\"
- required=\"true\" id=\"filterDlg_regExp\"
- onchange='Filters.filterDlgCheckRegExp(this)'
- onblur='Filters.filterDlgCheckRegExp(this)'
- onfocus='Filters.filterDlgCheckRegExp(this)'
- style=\"font-size : 16px; width : 500px\"
- name=\"reg_exp\" value=\"$reg_exp\"/>";
+ print "<textarea dojoType='fox.form.ValidationTextArea'
+ required='true' id='filterDlg_regExp'
+ ValidRegExp='true'
+ rows='4'
+ style='font-size : 14px; width : 490px; word-break: break-all'
+ name='reg_exp'>$reg_exp</textarea>";
print "<div dojoType='dijit.Tooltip' id='filterDlg_regExp_tip' connectId='filterDlg_regExp' position='below'></div>";
print "<fieldset>";
- print "<label class='checkbox'><input id=\"filterDlg_inverse\" dojoType=\"dijit.form.CheckBox\"
- name=\"inverse\" $inverse_checked/> ".
+ print "<label class='checkbox'><input id='filterDlg_inverse' dojoType='dijit.form.CheckBox'
+ name='inverse' $inverse_checked/> ".
__("Inverse regular expression matching")."</label>";
print "</fieldset>";
diff --git a/classes/pref/prefs.php b/classes/pref/prefs.php
index ac16b5971..475cd797f 100644
--- a/classes/pref/prefs.php
+++ b/classes/pref/prefs.php
@@ -213,11 +213,9 @@ class Pref_Prefs extends Handler_Protected {
if ($old_email != $email) {
$mailer = new Mailer();
- require_once "lib/MiniTemplator.class.php";
+ $tpl = new Templator();
- $tpl = new MiniTemplator;
-
- $tpl->readTemplateFromFile("templates/mail_change_template.txt");
+ $tpl->readTemplateFromFile("mail_change_template.txt");
$tpl->setVariable('LOGIN', $row["login"]);
$tpl->setVariable('NEWMAIL', $email);
@@ -1087,11 +1085,9 @@ class Pref_Prefs extends Handler_Protected {
if ($row = $sth->fetch()) {
$mailer = new Mailer();
- require_once "lib/MiniTemplator.class.php";
-
- $tpl = new MiniTemplator;
+ $tpl = new Templator();
- $tpl->readTemplateFromFile("templates/otp_disabled_template.txt");
+ $tpl->readTemplateFromFile("otp_disabled_template.txt");
$tpl->setVariable('LOGIN', $row["login"]);
$tpl->setVariable('TTRSS_HOST', SELF_URL_PATH);
diff --git a/classes/rssutils.php b/classes/rssutils.php
index 831ac1baf..dede50ba0 100755
--- a/classes/rssutils.php
+++ b/classes/rssutils.php
@@ -3,7 +3,12 @@ class RSSUtils {
static function calculate_article_hash($article, $pluginhost) {
$tmp = "";
+ $ignored_fields = [ "feed", "guid", "guid_hashed", "owner_uid", "force_catchup" ];
+
foreach ($article as $k => $v) {
+ if (in_array($k, $ignored_fields))
+ continue;
+
if ($k != "feed" && isset($v)) {
$x = strip_tags(is_array($v) ? implode(",", $v) : $v);
@@ -469,7 +474,7 @@ class RSSUtils {
foreach ($pluginhost->get_hooks(PluginHost::HOOK_FEED_PARSED) as $plugin) {
Debug::log("... " . get_class($plugin), Debug::$LOG_VERBOSE);
$start = microtime(true);
- $plugin->hook_feed_parsed($rss);
+ $plugin->hook_feed_parsed($rss, $feed);
Debug::log(sprintf("=== %.4f (sec)", microtime(true) - $start), Debug::$LOG_VERBOSE);
}
@@ -586,11 +591,11 @@ class RSSUtils {
continue;
}
+ $entry_guid_hashed_compat = 'SHA1:' . sha1("$owner_uid,$entry_guid");
+ $entry_guid_hashed = json_encode(["ver" => 2, "uid" => $owner_uid, "hash" => 'SHA1:' . sha1($entry_guid)]);
$entry_guid = "$owner_uid,$entry_guid";
- $entry_guid_hashed = 'SHA1:' . sha1($entry_guid);
-
- Debug::log("guid $entry_guid / $entry_guid_hashed", Debug::$LOG_VERBOSE);
+ Debug::log("guid $entry_guid (hash: $entry_guid_hashed compat: $entry_guid_hashed_compat)", Debug::$LOG_VERBOSE);
$entry_timestamp = (int)$item->get_date();
@@ -632,8 +637,8 @@ class RSSUtils {
Debug::log("done collecting data.", Debug::$LOG_VERBOSE);
$sth = $pdo->prepare("SELECT id, content_hash, lang FROM ttrss_entries
- WHERE guid = ? OR guid = ?");
- $sth->execute([$entry_guid, $entry_guid_hashed]);
+ WHERE guid IN (?, ?, ?)");
+ $sth->execute([$entry_guid, $entry_guid_hashed, $entry_guid_hashed_compat]);
if ($row = $sth->fetch()) {
$base_entry_id = $row["id"];
@@ -828,8 +833,8 @@ class RSSUtils {
RSSUtils::cache_media($entry_content, $site_url);
$csth = $pdo->prepare("SELECT id FROM ttrss_entries
- WHERE guid = ? OR guid = ?");
- $csth->execute([$entry_guid, $entry_guid_hashed]);
+ WHERE guid IN (?, ?, ?)");
+ $csth->execute([$entry_guid, $entry_guid_hashed, $entry_guid_hashed_compat]);
if (!$row = $csth->fetch()) {
@@ -874,7 +879,7 @@ class RSSUtils {
}
- $csth->execute([$entry_guid, $entry_guid_hashed]);
+ $csth->execute([$entry_guid, $entry_guid_hashed, $entry_guid_hashed_compat]);
$entry_ref_id = 0;
$entry_int_id = 0;
@@ -1032,6 +1037,11 @@ class RSSUtils {
if (is_array($encs)) {
foreach ($encs as $e) {
+
+ foreach ($pluginhost->get_hooks(PluginHost::HOOK_ENCLOSURE_IMPORTED) as $plugin) {
+ $e = $plugin->hook_enclosure_imported($e, $feed);
+ }
+
$e_item = array(
rewrite_relative_url($site_url, $e->link),
$e->type, $e->length, $e->title, $e->width, $e->height);
@@ -1221,6 +1231,32 @@ class RSSUtils {
}
}
+ static function cache_media_url($cache, $url, $site_url) {
+ $url = rewrite_relative_url($site_url, $url);
+ $local_filename = sha1($url);
+
+ Debug::log("cache_media: checking $url", Debug::$LOG_VERBOSE);
+
+ if (!$cache->exists($local_filename)) {
+ Debug::log("cache_media: downloading: $url to $local_filename", Debug::$LOG_VERBOSE);
+
+ global $fetch_last_error_code;
+ global $fetch_last_error;
+
+ $file_content = fetch_file_contents(array("url" => $url,
+ "http_referrer" => $url,
+ "max_size" => MAX_CACHE_FILE_SIZE));
+
+ if ($file_content) {
+ $cache->put($local_filename, $file_content);
+ } else {
+ Debug::log("cache_media: failed with $fetch_last_error_code: $fetch_last_error");
+ }
+ } else if ($cache->isWritable($local_filename)) {
+ $cache->touch($local_filename);
+ }
+ }
+
static function cache_media($html, $site_url) {
$cache = new DiskCache("images");
@@ -1229,33 +1265,24 @@ class RSSUtils {
if ($doc->loadHTML($html)) {
$xpath = new DOMXPath($doc);
- $entries = $xpath->query('(//img[@src])|(//video/source[@src])|(//audio/source[@src])');
+ $entries = $xpath->query('(//img[@src]|//source[@src|@srcset]|//video[@poster|@src])');
foreach ($entries as $entry) {
- if ($entry->hasAttribute('src') && strpos($entry->getAttribute('src'), "data:") !== 0) {
- $src = rewrite_relative_url($site_url, $entry->getAttribute('src'));
-
- $local_filename = sha1($src);
-
- Debug::log("cache_media: checking $src", Debug::$LOG_VERBOSE);
+ foreach (array('src', 'poster') as $attr) {
+ if ($entry->hasAttribute($attr) && strpos($entry->getAttribute($attr), "data:") !== 0) {
+ RSSUtils::cache_media_url($cache, $entry->getAttribute($attr), $site_url);
+ }
+ }
- if (!$cache->exists($local_filename)) {
- Debug::log("cache_media: downloading: $src to $local_filename", Debug::$LOG_VERBOSE);
+ if ($entry->hasAttribute("srcset")) {
+ $tokens = explode(",", $entry->getAttribute('srcset'));
- global $fetch_last_error_code;
- global $fetch_last_error;
+ for ($i = 0; $i < count($tokens); $i++) {
+ $token = trim($tokens[$i]);
- $file_content = fetch_file_contents(array("url" => $src,
- "http_referrer" => $src,
- "max_size" => MAX_CACHE_FILE_SIZE));
+ list ($url, $width) = explode(" ", $token, 2);
- if ($file_content) {
- $cache->put($local_filename, $file_content);
- } else {
- Debug::log("cache_media: failed with $fetch_last_error_code: $fetch_last_error");
- }
- } else if ($cache->isWritable($local_filename)) {
- $cache->touch($local_filename);
+ RSSUtils::cache_media_url($cache, $url, $site_url);
}
}
}
@@ -1343,6 +1370,7 @@ class RSSUtils {
foreach ($filter["rules"] as $rule) {
$match = false;
$reg_exp = str_replace('/', '\/', $rule["reg_exp"]);
+ $reg_exp = str_replace("\n", "", $reg_exp); // reg_exp may be formatted with CRs now because of textarea, we need to strip those
$rule_inverse = $rule["inverse"];
if (!$reg_exp)
diff --git a/classes/templator.php b/classes/templator.php
new file mode 100644
index 000000000..3d270f837
--- /dev/null
+++ b/classes/templator.php
@@ -0,0 +1,21 @@
+<?php
+require_once "lib/MiniTemplator.class.php";
+
+class Templator extends MiniTemplator {
+
+ /* this reads tt-rss template from templates.local/ or templates/ if only base filename is given */
+ function readTemplateFromFile ($fileName) {
+ if (strpos($fileName, "/") === FALSE) {
+
+ $fileName = basename($fileName);
+
+ if (file_exists("templates.local/$fileName"))
+ return parent::readTemplateFromFile("templates.local/$fileName");
+ else
+ return parent::readTemplateFromFile("templates/$fileName");
+
+ } else {
+ return parent::readTemplateFromFile($fileName);
+ }
+ }
+}
diff --git a/config.php-dist b/config.php-dist
index 244390b98..824c378a7 100755..100644
--- a/config.php-dist
+++ b/config.php-dist
@@ -3,12 +3,12 @@
// *** Database configuration (important!) ***
// *******************************************
- define('DB_TYPE', "pgsql"); // or mysql
- define('DB_HOST', "localhost");
- define('DB_USER', "fox");
- define('DB_NAME', "fox");
- define('DB_PASS', "XXXXXX");
- define('DB_PORT', ''); // usually 5432 for PostgreSQL, 3306 for MySQL
+ define('DB_TYPE', '%DB_TYPE'); // pgsql or mysql
+ define('DB_HOST', '%DB_HOST');
+ define('DB_USER', '%DB_USER');
+ define('DB_NAME', '%DB_NAME');
+ define('DB_PASS', '%DB_PASS');
+ define('DB_PORT', '%DB_PORT'); // usually 5432 for PostgreSQL, 3306 for MySQL
define('MYSQL_CHARSET', 'UTF8');
// Connection charset for MySQL. If you have a legacy database and/or experience
@@ -18,9 +18,9 @@
// *** Basic settings (important!) ***
// ***********************************
- define('SELF_URL_PATH', 'https://example.org/tt-rss/');
+ define('SELF_URL_PATH', '%SELF_URL_PATH');
// This should be set to a fully qualified URL used to access
- // your tt-rss instance over the net.
+ // your tt-rss instance over the net, such as: https://example.org/tt-rss/
// The value should be a constant string literal. Please don't use
// PHP server variables here - you might introduce security
// issues on your install and cause hard to debug problems.
diff --git a/include/functions.php b/include/functions.php
index 3e37d1d28..4d54f7e35 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -1029,13 +1029,14 @@
"prev_feed" => __("Open previous feed"),
"next_article_or_scroll" => __("Open next article (in combined mode, scroll down)"),
"prev_article_or_scroll" => __("Open previous article (in combined mode, scroll up)"),
- "next_article_page" => __("Scroll article by one page down"),
- "prev_article_page" => __("Scroll article by one page up"),
+ "next_headlines_page" => __("Scroll headlines by one page down"),
+ "prev_headlines_page" => __("Scroll headlines by one page up"),
"next_article_noscroll" => __("Open next article"),
"prev_article_noscroll" => __("Open previous article"),
- "next_article_noexpand" => __("Move to next article (don't expand or mark read)"),
- "prev_article_noexpand" => __("Move to previous article (don't expand or mark read)"),
- "search_dialog" => __("Show search dialog")),
+ "next_article_noexpand" => __("Move to next article (don't expand)"),
+ "prev_article_noexpand" => __("Move to previous article (don't expand)"),
+ "search_dialog" => __("Show search dialog"),
+ "cancel_search" => __("Cancel active search")),
__("Article") => array(
"toggle_mark" => __("Toggle starred"),
"toggle_publ" => __("Toggle published"),
@@ -1097,23 +1098,26 @@
return $hotkeys;
}
+ // {3} - 3 panel mode only
+ // {C} - combined mode only
function get_hotkeys_map() {
$hotkeys = array(
"k" => "next_feed",
"j" => "prev_feed",
"n" => "next_article_noscroll",
"p" => "prev_article_noscroll",
- //"(33)|PageUp" => "prev_article_page",
- //"(34)|PageDown" => "next_article_page",
+ "N" => "article_page_down",
+ "P" => "article_page_up",
"*(33)|Shift+PgUp" => "article_page_up",
"*(34)|Shift+PgDn" => "article_page_down",
- "(38)|Up" => "prev_article_or_scroll",
- "(40)|Down" => "next_article_or_scroll",
+ "{3}(38)|Up" => "prev_article_or_scroll",
+ "{3}(40)|Down" => "next_article_or_scroll",
"*(38)|Shift+Up" => "article_scroll_up",
"*(40)|Shift+Down" => "article_scroll_down",
"^(38)|Ctrl+Up" => "prev_article_noscroll",
"^(40)|Ctrl+Down" => "next_article_noscroll",
"/" => "search_dialog",
+ "\\" => "cancel_search",
"s" => "toggle_mark",
"S" => "toggle_publ",
"u" => "toggle_unread",
@@ -1121,8 +1125,6 @@
"o" => "open_in_new_window",
"c p" => "catchup_below",
"c n" => "catchup_above",
- "N" => "article_scroll_down",
- "P" => "article_scroll_up",
"a W" => "toggle_widescreen",
"a e" => "toggle_full_text",
"e" => "email_article",
@@ -1264,7 +1266,7 @@
$rewrite_base_url = $site_url ? $site_url : get_self_url_prefix();
- $entries = $xpath->query('(//a[@href]|//img[@src]|//video/source[@src]|//audio/source[@src]|//picture/source[@src])');
+ $entries = $xpath->query('(//a[@href]|//img[@src]|//source[@srcset|@src])');
foreach ($entries as $entry) {
@@ -1273,34 +1275,33 @@
rewrite_relative_url($rewrite_base_url, $entry->getAttribute('href')));
$entry->setAttribute('rel', 'noopener noreferrer');
+ $entry->setAttribute("target", "_blank");
}
if ($entry->hasAttribute('src')) {
- $src = rewrite_relative_url($rewrite_base_url, $entry->getAttribute('src'));
- $entry->setAttribute('src', $src);
+ $entry->setAttribute('src',
+ rewrite_relative_url($rewrite_base_url, $entry->getAttribute('src')));
}
if ($entry->nodeName == 'img') {
$entry->setAttribute('referrerpolicy', 'no-referrer');
$entry->setAttribute('loading', 'lazy');
+ }
- $entry->removeAttribute('width');
- $entry->removeAttribute('height');
+ if ($entry->hasAttribute('srcset')) {
+ $tokens = explode(",", $entry->getAttribute('srcset'));
- if ($entry->hasAttribute('src')) {
- $is_https_url = parse_url($entry->getAttribute('src'), PHP_URL_SCHEME) === 'https';
+ for ($i = 0; $i < count($tokens); $i++) {
+ $token = trim($tokens[$i]);
- if (is_prefix_https() && !$is_https_url) {
+ list ($url, $width) = explode(" ", $token, 2);
- if ($entry->hasAttribute('srcset')) {
- $entry->removeAttribute('srcset');
- }
+ $url = rewrite_relative_url($rewrite_base_url, $url);
- if ($entry->hasAttribute('sizes')) {
- $entry->removeAttribute('sizes');
- }
- }
+ $tokens[$i] = "$url $width";
}
+
+ $entry->setAttribute("srcset", implode(", ", $tokens));
}
if ($entry->hasAttribute('src') &&
@@ -1323,17 +1324,10 @@
$entry->parentNode->parentNode->replaceChild($p, $entry->parentNode);
} else if ($entry->nodeName == 'img') {
-
if ($entry->parentNode)
$entry->parentNode->replaceChild($p, $entry);
-
}
}
-
- if (strtolower($entry->nodeName) == "a") {
- $entry->setAttribute("target", "_blank");
- $entry->setAttribute("rel", "noopener noreferrer");
- }
}
$entries = $xpath->query('//iframe');
@@ -1363,7 +1357,7 @@
if ($_SESSION['hasSandbox']) $allowed_elements[] = 'iframe';
- $disallowed_attributes = array('id', 'style', 'class');
+ $disallowed_attributes = array('id', 'style', 'class', 'width', 'height', 'allow');
foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_SANITIZE) as $plugin) {
$retval = $plugin->hook_sanitize($doc, $site_url, $allowed_elements, $disallowed_attributes, $article_id);
@@ -1379,7 +1373,15 @@
$doc->removeChild($doc->firstChild); //remove doctype
$doc = strip_harmful_tags($doc, $allowed_elements, $disallowed_attributes);
- if ($highlight_words) {
+ $entries = $xpath->query('//iframe');
+ foreach ($entries as $entry) {
+ $div = $doc->createElement('div');
+ $div->setAttribute('class', 'embed-responsive');
+ $entry->parentNode->replaceChild($div, $entry);
+ $div->appendChild($entry);
+ }
+
+ if ($highlight_words && is_array($highlight_words)) {
foreach ($highlight_words as $word) {
// http://stackoverflow.com/questions/4081372/highlight-keywords-in-a-paragraph
@@ -1769,6 +1771,7 @@
*/
function error_json($code) {
require_once "errors.php";
+ global $ERRORS;
@$message = $ERRORS[$code];
@@ -1889,9 +1892,7 @@
date_default_timezone_set('UTC');
$root_dir = dirname(dirname(__FILE__));
- if ('\\' === DIRECTORY_SEPARATOR) {
- $ttrss_version['version'] = "UNKNOWN (Unsupported, Windows)";
- } else if (PHP_OS === "Darwin") {
+ if (PHP_OS === "Darwin") {
$ttrss_version['version'] = "UNKNOWN (Unsupported, Darwin)";
} else if (file_exists("$root_dir/version_static.txt")) {
$ttrss_version['version'] = trim(file_get_contents("$root_dir/version_static.txt")) . " (Unsupported)";
@@ -1902,7 +1903,7 @@
$cwd = getcwd();
chdir($root_dir);
- exec('git --no-pager log --pretty='.escapeshellarg('version: %ct %h').' -n1 HEAD 2>&1', $output, $rc);
+ exec('git --no-pager log --pretty="version: %ct %h" -n1 HEAD 2>&1', $output, $rc);
chdir($cwd);
if (is_array($output) && count($output) > 0) {
diff --git a/index.php b/index.php
index 6a22d5471..f1a8d0f0c 100644
--- a/index.php
+++ b/index.php
@@ -39,7 +39,7 @@
<title>Tiny Tiny RSS</title>
<meta name="viewport" content="initial-scale=1,width=device-width" />
- <?php if ($_SESSION["uid"]) {
+ <?php if ($_SESSION["uid"] && !isset($_REQUEST["ignore-theme"])) {
$theme = get_pref("USER_CSS_THEME", false, false);
if ($theme && theme_exists("$theme")) {
echo stylesheet_tag(get_theme_path($theme), 'theme_css');
@@ -256,7 +256,6 @@
</div> <!-- toolbar -->
</div> <!-- toolbar pane -->
<div id="headlines-wrap-inner" dojoType="dijit.layout.BorderContainer" region="center">
- <div id="floatingTitle" style="display : none"></div>
<div id="headlines-frame" dojoType="dijit.layout.ContentPane" tabindex="0"
region="center">
<div id="headlinesInnerContainer">
diff --git a/install/index.php b/install/index.php
index e4728fa73..15fe1aa5a 100755..100644
--- a/install/index.php
+++ b/install/index.php
@@ -151,35 +151,21 @@
function make_config($DB_TYPE, $DB_HOST, $DB_USER, $DB_NAME, $DB_PASS,
$DB_PORT, $SELF_URL_PATH) {
- $data = explode("\n", file_get_contents("../config.php-dist"));
-
- $rv = "";
-
- $finished = false;
-
- foreach ($data as $line) {
- if (preg_match("/define\('DB_TYPE'/", $line)) {
- $rv .= "\tdefine('DB_TYPE', '$DB_TYPE');\n";
- } else if (preg_match("/define\('DB_HOST'/", $line)) {
- $rv .= "\tdefine('DB_HOST', '$DB_HOST');\n";
- } else if (preg_match("/define\('DB_USER'/", $line)) {
- $rv .= "\tdefine('DB_USER', '$DB_USER');\n";
- } else if (preg_match("/define\('DB_NAME'/", $line)) {
- $rv .= "\tdefine('DB_NAME', '$DB_NAME');\n";
- } else if (preg_match("/define\('DB_PASS'/", $line)) {
- $rv .= "\tdefine('DB_PASS', '$DB_PASS');\n";
- } else if (preg_match("/define\('DB_PORT'/", $line)) {
- $rv .= "\tdefine('DB_PORT', '$DB_PORT');\n";
- } else if (preg_match("/define\('SELF_URL_PATH'/", $line)) {
- $rv .= "\tdefine('SELF_URL_PATH', '$SELF_URL_PATH');\n";
- } else if (!$finished) {
- $rv .= "$line\n";
- }
+ $rv = file_get_contents("../config.php-dist");
- if (preg_match("/\?\>/", $line)) {
- $finished = true;
- }
- }
+ $escape_chars = "\\'";
+
+ $settings = [
+ "%DB_TYPE" => $DB_TYPE == 'pgsql' ? 'pgsql' : 'mysql',
+ "%DB_HOST" => addcslashes($DB_HOST, $escape_chars),
+ "%DB_USER" => addcslashes($DB_USER, $escape_chars),
+ "%DB_NAME" => addcslashes($DB_NAME, $escape_chars),
+ "%DB_PASS" => addcslashes($DB_PASS, $escape_chars),
+ "%DB_PORT" => $DB_PORT ? intval($DB_PORT) : '',
+ "%SELF_URL_PATH" => addcslashes($SELF_URL_PATH, $escape_chars)
+ ];
+
+ $rv = str_replace(array_keys($settings), array_values($settings), $rv);
return $rv;
}
@@ -250,28 +236,28 @@
<fieldset>
<label>Username:</label>
- <input dojoType="dijit.form.TextBox" required name="DB_USER" size="20" value="<?php echo $DB_USER ?>"/>
+ <input dojoType="dijit.form.TextBox" required name="DB_USER" size="20" value="<?php echo htmlspecialchars($DB_USER) ?>"/>
</fieldset>
<fieldset>
<label>Password:</label>
- <input dojoType="dijit.form.TextBox" name="DB_PASS" size="20" type="password" value="<?php echo $DB_PASS ?>"/>
+ <input dojoType="dijit.form.TextBox" name="DB_PASS" size="20" type="password" value="<?php echo htmlspecialchars($DB_PASS) ?>"/>
</fieldset>
<fieldset>
<label>Database name:</label>
- <input dojoType="dijit.form.TextBox" required name="DB_NAME" size="20" value="<?php echo $DB_NAME ?>"/>
+ <input dojoType="dijit.form.TextBox" required name="DB_NAME" size="20" value="<?php echo htmlspecialchars($DB_NAME) ?>"/>
</fieldset>
<fieldset>
<label>Host name:</label>
- <input dojoType="dijit.form.TextBox" name="DB_HOST" size="20" value="<?php echo $DB_HOST ?>"/>
+ <input dojoType="dijit.form.TextBox" name="DB_HOST" size="20" value="<?php echo htmlspecialchars($DB_HOST) ?>"/>
<span class="hint">If needed</span>
</fieldset>
<fieldset>
<label>Port:</label>
- <input dojoType="dijit.form.TextBox" name="DB_PORT" type="number" size="20" value="<?php echo $DB_PORT ?>"/>
+ <input dojoType="dijit.form.TextBox" name="DB_PORT" type="number" size="20" value="<?php echo htmlspecialchars($DB_PORT) ?>"/>
<span class="hint">Usually 3306 for MySQL or 5432 for PostgreSQL</span>
</fieldset>
@@ -281,7 +267,7 @@
<fieldset>
<label>Tiny Tiny RSS URL:</label>
- <input dojoType="dijit.form.TextBox" type="url" name="SELF_URL_PATH" placeholder="<?php echo $SELF_URL_PATH; ?>" value="<?php echo $SELF_URL_PATH ?>"/>
+ <input dojoType="dijit.form.TextBox" type="url" name="SELF_URL_PATH" placeholder="<?php echo htmlspecialchars($SELF_URL_PATH); ?>" value="<?php echo htmlspecialchars($SELF_URL_PATH) ?>"/>
</fieldset>
<p><button type="submit" dojoType="dijit.form.Button" class="alt-primary">Test configuration</button></p>
@@ -352,7 +338,7 @@
$pdo = pdo_connect($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME, $DB_TYPE, $DB_PORT);
if (!$pdo) {
- print_error("Unable to connect to database using specified parameters (driver: $DB_TYPE).");
+ print_error("Unable to connect to database using specified parameters (driver: " . htmlspecialchars($DB_TYPE) . ").");
exit;
}
@@ -378,13 +364,13 @@
<form method="post">
<input type="hidden" name="op" value="installschema">
- <input type="hidden" name="DB_USER" value="<?php echo $DB_USER ?>"/>
- <input type="hidden" name="DB_PASS" value="<?php echo $DB_PASS ?>"/>
- <input type="hidden" name="DB_NAME" value="<?php echo $DB_NAME ?>"/>
- <input type="hidden" name="DB_HOST" value="<?php echo $DB_HOST ?>"/>
- <input type="hidden" name="DB_PORT" value="<?php echo $DB_PORT ?>"/>
- <input type="hidden" name="DB_TYPE" value="<?php echo $DB_TYPE ?>"/>
- <input type="hidden" name="SELF_URL_PATH" value="<?php echo $SELF_URL_PATH ?>"/>
+ <input type="hidden" name="DB_USER" value="<?php echo htmlspecialchars($DB_USER) ?>"/>
+ <input type="hidden" name="DB_PASS" value="<?php echo htmlspecialchars($DB_PASS) ?>"/>
+ <input type="hidden" name="DB_NAME" value="<?php echo htmlspecialchars($DB_NAME) ?>"/>
+ <input type="hidden" name="DB_HOST" value="<?php echo htmlspecialchars($DB_HOST) ?>"/>
+ <input type="hidden" name="DB_PORT" value="<?php echo htmlspecialchars($DB_PORT) ?>"/>
+ <input type="hidden" name="DB_TYPE" value="<?php echo htmlspecialchars($DB_TYPE) ?>"/>
+ <input type="hidden" name="SELF_URL_PATH" value="<?php echo htmlspecialchars($SELF_URL_PATH) ?>"/>
<p>
<?php if ($need_confirm) { ?>
@@ -398,13 +384,13 @@
</td><td>
<form method="post">
- <input type="hidden" name="DB_USER" value="<?php echo $DB_USER ?>"/>
- <input type="hidden" name="DB_PASS" value="<?php echo $DB_PASS ?>"/>
- <input type="hidden" name="DB_NAME" value="<?php echo $DB_NAME ?>"/>
- <input type="hidden" name="DB_HOST" value="<?php echo $DB_HOST ?>"/>
- <input type="hidden" name="DB_PORT" value="<?php echo $DB_PORT ?>"/>
- <input type="hidden" name="DB_TYPE" value="<?php echo $DB_TYPE ?>"/>
- <input type="hidden" name="SELF_URL_PATH" value="<?php echo $SELF_URL_PATH ?>"/>
+ <input type="hidden" name="DB_USER" value="<?php echo htmlspecialchars($DB_USER) ?>"/>
+ <input type="hidden" name="DB_PASS" value="<?php echo htmlspecialchars($DB_PASS) ?>"/>
+ <input type="hidden" name="DB_NAME" value="<?php echo htmlspecialchars($DB_NAME) ?>"/>
+ <input type="hidden" name="DB_HOST" value="<?php echo htmlspecialchars($DB_HOST) ?>"/>
+ <input type="hidden" name="DB_PORT" value="<?php echo htmlspecialchars($DB_PORT) ?>"/>
+ <input type="hidden" name="DB_TYPE" value="<?php echo htmlspecialchars($DB_TYPE) ?>"/>
+ <input type="hidden" name="SELF_URL_PATH" value="<?php echo htmlspecialchars($SELF_URL_PATH) ?>"/>
<input type="hidden" name="op" value="skipschema">
@@ -456,16 +442,16 @@
<form action="" method="post">
<input type="hidden" name="op" value="saveconfig">
- <input type="hidden" name="DB_USER" value="<?php echo $DB_USER ?>"/>
- <input type="hidden" name="DB_PASS" value="<?php echo $DB_PASS ?>"/>
- <input type="hidden" name="DB_NAME" value="<?php echo $DB_NAME ?>"/>
- <input type="hidden" name="DB_HOST" value="<?php echo $DB_HOST ?>"/>
- <input type="hidden" name="DB_PORT" value="<?php echo $DB_PORT ?>"/>
- <input type="hidden" name="DB_TYPE" value="<?php echo $DB_TYPE ?>"/>
- <input type="hidden" name="SELF_URL_PATH" value="<?php echo $SELF_URL_PATH ?>"/>
+ <input type="hidden" name="DB_USER" value="<?php echo htmlspecialchars($DB_USER) ?>"/>
+ <input type="hidden" name="DB_PASS" value="<?php echo htmlspecialchars($DB_PASS) ?>"/>
+ <input type="hidden" name="DB_NAME" value="<?php echo htmlspecialchars($DB_NAME) ?>"/>
+ <input type="hidden" name="DB_HOST" value="<?php echo htmlspecialchars($DB_HOST) ?>"/>
+ <input type="hidden" name="DB_PORT" value="<?php echo htmlspecialchars($DB_PORT) ?>"/>
+ <input type="hidden" name="DB_TYPE" value="<?php echo htmlspecialchars($DB_TYPE) ?>"/>
+ <input type="hidden" name="SELF_URL_PATH" value="<?php echo htmlspecialchars($SELF_URL_PATH) ?>"/>
<?php print "<textarea rows='20' style='width : 100%'>";
- echo make_config($DB_TYPE, $DB_HOST, $DB_USER, $DB_NAME, $DB_PASS,
- $DB_PORT, $SELF_URL_PATH);
+ echo htmlspecialchars(make_config($DB_TYPE, $DB_HOST, $DB_USER, $DB_NAME, $DB_PASS,
+ $DB_PORT, $SELF_URL_PATH));
print "</textarea>"; ?>
<hr/>
diff --git a/js/AppBase.js b/js/AppBase.js
index 86cc44e8a..b037a52a2 100644
--- a/js/AppBase.js
+++ b/js/AppBase.js
@@ -7,6 +7,39 @@ define(["dojo/_base/declare"], function (declare) {
hotkey_prefix: 0,
hotkey_prefix_pressed: false,
hotkey_prefix_timeout: 0,
+ Scrollable: {
+ scrollByPages: function (elem, page_offset) {
+ if (!elem) return;
+
+ /* keep a line or so from the previous page */
+ const offset = (elem.offsetHeight - (page_offset > 0 ? 50 : -50)) * page_offset;
+
+ this.scroll(elem, offset);
+ },
+ scroll: function(elem, offset) {
+ if (!elem) return;
+
+ elem.scrollTop += offset;
+ },
+ isChildVisible: function(elem, ctr) {
+ if (!elem) return;
+
+ const ctop = ctr.scrollTop;
+ const cbottom = ctop + ctr.offsetHeight;
+
+ const etop = elem.offsetTop;
+ const ebottom = etop + elem.offsetHeight;
+
+ return etop >= ctop && ebottom <= cbottom ||
+ etop < ctop && ebottom > ctop || ebottom > cbottom && etop < cbottom;
+ },
+ fitsInContainer: function (elem, ctr) {
+ if (!elem) return;
+
+ return elem.offsetTop + elem.offsetHeight <= ctr.scrollTop + ctr.offsetHeight &&
+ elem.offsetTop >= ctr.scrollTop;
+ }
+ },
constructor: function() {
window.onerror = this.Error.onWindowError;
},
@@ -101,6 +134,20 @@ define(["dojo/_base/declare"], function (declare) {
}
},
+ isCombinedMode: function() {
+ return this.getInitParam("combined_display_mode");
+ },
+ getActionByHotkeySequence: function (sequence) {
+ const hotkeys_map = App.getInitParam("hotkeys");
+
+ for (const seq in hotkeys_map[1]) {
+ if (hotkeys_map[1].hasOwnProperty(seq)) {
+ if (seq == sequence) {
+ return hotkeys_map[1][seq];
+ }
+ }
+ }
+ },
keyeventToAction: function(event) {
const hotkeys_map = App.getInitParam("hotkeys");
@@ -144,18 +191,16 @@ define(["dojo/_base/declare"], function (declare) {
hotkey_name = keychar ? keychar : "(" + keycode + ")";
}
- const hotkey_full = this.hotkey_prefix ? this.hotkey_prefix + " " + hotkey_name : hotkey_name;
+ let hotkey_full = this.hotkey_prefix ? this.hotkey_prefix + " " + hotkey_name : hotkey_name;
this.hotkey_prefix = false;
- let action_name = false;
+ let action_name = this.getActionByHotkeySequence(hotkey_full);
- for (const sequence in hotkeys_map[1]) {
- if (hotkeys_map[1].hasOwnProperty(sequence)) {
- if (sequence == hotkey_full) {
- action_name = hotkeys_map[1][sequence];
- break;
- }
- }
+ // check for mode-specific hotkey
+ if (!action_name) {
+ hotkey_full = (App.isCombinedMode() ? "{C}" : "{3}") + hotkey_full;
+
+ action_name = this.getActionByHotkeySequence(hotkey_full);
}
console.log('keyeventToAction', hotkey_full, '=>', action_name);
diff --git a/js/Article.js b/js/Article.js
index 50447c2a1..3056dd666 100644
--- a/js/Article.js
+++ b/js/Article.js
@@ -139,7 +139,7 @@ define(["dojo/_base/declare"], function (declare) {
c.attr('content', article);
PluginHost.run(PluginHost.HOOK_ARTICLE_RENDERED, c.domNode);
- Headlines.correctHeadlinesOffset(Article.getActive());
+ //Headlines.correctHeadlinesOffset(Article.getActive());
try {
c.focus();
@@ -149,14 +149,14 @@ define(["dojo/_base/declare"], function (declare) {
formatComments: function(hl) {
let comments = "";
- if (hl.comments) {
+ if (hl.comments || hl.num_comments > 0) {
let comments_msg = __("comments");
if (hl.num_comments > 0) {
comments_msg = hl.num_comments + " " + ngettext("comment", "comments", hl.num_comments)
}
- comments = `<a href="${escapeHtml(hl.comments)}">(${comments_msg})</a>`;
+ comments = `<a href="${escapeHtml(hl.comments ? hl.comments : hl.link)}">(${comments_msg})</a>`;
}
return comments;
@@ -178,15 +178,29 @@ define(["dojo/_base/declare"], function (declare) {
if (container.textContent.length == 0)
container.innerHTML += "&nbsp;";
+ // in expandable mode, save content for later, so that we can pack unfocused rows back
+ if (App.isCombinedMode() && $("main").hasClassName("expandable"))
+ row.setAttribute("data-content-original", row.getAttribute("data-content"));
+
row.removeAttribute("data-content");
PluginHost.run(PluginHost.HOOK_ARTICLE_RENDERED_CDM, row);
}
},
- view: function (id, noexpand) {
+ pack: function(row) {
+ if (row.hasAttribute("data-content-original")) {
+ console.log("packing", row.id);
+ row.setAttribute("data-content", row.getAttribute("data-content-original"));
+ row.removeAttribute("data-content-original");
+
+ row.querySelector(".content-inner").innerHTML = "&nbsp;";
+ }
+ },
+ view: function (id, no_expand) {
this.setActive(id);
+ Headlines.scrollToArticleId(id);
- if (!noexpand) {
+ if (!no_expand) {
const hl = Headlines.objectById(id);
if (hl) {
@@ -277,49 +291,39 @@ define(["dojo/_base/declare"], function (declare) {
dialog.show();
},
- cdmScrollToId: function (id, force, event) {
- const ctr = $("headlines-frame");
- const e = $("RROW-" + id);
- const is_expanded = App.getInitParam("cdm_expanded");
-
- if (!e || !ctr) return;
+ cdmMoveToId: function (id, params) {
+ params = params || {};
- if (force || is_expanded || e.offsetTop + e.offsetHeight > (ctr.scrollTop + ctr.offsetHeight) ||
- e.offsetTop < ctr.scrollTop) {
+ const force_to_top = params.force_to_top || false;
- if (event && event.repeat || !is_expanded) {
- ctr.addClassName("forbid-smooth-scroll");
- window.clearTimeout(this._scroll_reset_timeout);
-
- this._scroll_reset_timeout = window.setTimeout(() => {
- if (ctr) ctr.removeClassName("forbid-smooth-scroll");
- }, 250)
-
- } else {
- ctr.removeClassName("forbid-smooth-scroll");
- }
+ const ctr = $("headlines-frame");
+ const row = $("RROW-" + id);
- ctr.scrollTop = e.offsetTop;
+ if (!row || !ctr) return;
- Element.hide("floatingTitle");
+ if (force_to_top || !App.Scrollable.fitsInContainer(row, ctr)) {
+ ctr.scrollTop = row.offsetTop;
}
},
setActive: function (id) {
- console.log("setActive", id);
+ if (id != Article.getActive()) {
+ console.log("setActive", id, "was", Article.getActive());
- $$("div[id*=RROW][class*=active]").each((e) => {
- e.removeClassName("active");
- });
+ $$("div[id*=RROW][class*=active]").each((row) => {
+ row.removeClassName("active");
+ Article.pack(row);
+ });
- const row = $("RROW-" + id);
+ const row = $("RROW-" + id);
- if (row) {
- Article.unpack(row);
+ if (row) {
+ Article.unpack(row);
- row.removeClassName("Unread");
- row.addClassName("active");
+ row.removeClassName("Unread");
+ row.addClassName("active");
- PluginHost.run(PluginHost.HOOK_ARTICLE_SET_ACTIVE, row.getAttribute("data-article-id"));
+ PluginHost.run(PluginHost.HOOK_ARTICLE_SET_ACTIVE, row.getAttribute("data-article-id"));
+ }
}
},
getActive: function () {
@@ -330,30 +334,11 @@ define(["dojo/_base/declare"], function (declare) {
else
return 0;
},
- scrollByPages: function (page_offset, event) {
- const elem = App.isCombinedMode() ? $("headlines-frame") : $("content-insert");
-
- const offset = elem.offsetHeight * page_offset * 0.99;
-
- this.scroll(offset, event);
+ scrollByPages: function (page_offset) {
+ App.Scrollable.scrollByPages($("content-insert"), page_offset);
},
- scroll: function (offset, event) {
-
- const elem = App.isCombinedMode() ? $("headlines-frame") : $("content-insert");
-
- if (event && event.repeat) {
- elem.addClassName("forbid-smooth-scroll");
- window.clearTimeout(this._scroll_reset_timeout);
-
- this._scroll_reset_timeout = window.setTimeout(() => {
- if (elem) elem.removeClassName("forbid-smooth-scroll");
- }, 250)
-
- } else {
- elem.removeClassName("forbid-smooth-scroll");
- }
-
- elem.scrollTop += offset;
+ scroll: function (offset) {
+ App.Scrollable.scroll($("content-insert"), offset);
},
mouseIn: function (id) {
this.post_under_pointer = id;
diff --git a/js/CommonFilters.js b/js/CommonFilters.js
index 1538a3fb3..53573b365 100644
--- a/js/CommonFilters.js
+++ b/js/CommonFilters.js
@@ -2,24 +2,6 @@
/* global __, ngettext */
define(["dojo/_base/declare"], function (declare) {
Filters = {
- filterDlgCheckRegExp: function(sender) {
- const tooltip = dijit.byId("filterDlg_regExp_tip").domNode;
-
- try {
- sender.domNode.removeClassName("invalid");
- sender.domNode.removeClassName("valid");
-
- new RegExp("/" + sender.value + "/");
-
- sender.domNode.addClassName("valid");
- tooltip.innerText = __("Regular expression, without outer delimiters (i.e. slashes)");
-
- } catch (e) {
- sender.domNode.addClassName("invalid");
-
- tooltip.innerText = e.message;
- }
- },
filterDlgCheckAction: function(sender) {
const action = sender.value;
@@ -143,9 +125,6 @@ define(["dojo/_base/declare"], function (declare) {
if (dijit.byId("filterNewRuleDlg"))
dijit.byId("filterNewRuleDlg").destroyRecursive();
- const query = "backend.php?op=pref-filters&method=newrule&rule=" +
- encodeURIComponent(ruleStr);
-
const rule_dlg = new dijit.Dialog({
id: "filterNewRuleDlg",
title: ruleStr ? __("Edit rule") : __("Add rule"),
@@ -156,7 +135,15 @@ define(["dojo/_base/declare"], function (declare) {
this.hide();
}
},
- href: query
+ content: __('Loading, please wait...'),
+ });
+
+ const tmph = dojo.connect(rule_dlg, "onShow", null, function (e) {
+ dojo.disconnect(tmph);
+
+ xhrPost("backend.php", {op: 'pref-filters', method: 'newrule', rule: ruleStr}, (transport) => {
+ rule_dlg.attr('content', transport.responseText);
+ });
});
rule_dlg.show();
@@ -183,7 +170,7 @@ define(["dojo/_base/declare"], function (declare) {
rule_dlg.show();
},
- editFilterTest: function(query) {
+ editFilterTest: function(params) {
if (dijit.byId("filterTestDlg"))
dijit.byId("filterTestDlg").destroyRecursive();
@@ -195,12 +182,14 @@ define(["dojo/_base/declare"], function (declare) {
results: 0,
limit: 100,
max_offset: 10000,
- getTestResults: function (query, offset) {
- const updquery = query + "&offset=" + offset + "&limit=" + test_dlg.limit;
+ getTestResults: function (params, offset) {
+ params.method = 'testFilterDo';
+ params.offset = offset;
+ params.limit = test_dlg.limit;
console.log("getTestResults:" + offset);
- xhrPost("backend.php", updquery, (transport) => {
+ xhrPost("backend.php", params, (transport) => {
try {
const result = JSON.parse(transport.responseText);
@@ -216,9 +205,7 @@ define(["dojo/_base/declare"], function (declare) {
console.log(offset + " " + test_dlg.max_offset);
for (let i = 0; i < result.length; i++) {
- const tmp = new Element("table");
- tmp.innerHTML = result[i];
- dojo.parser.parse(tmp);
+ const tmp = dojo.create("table", { innerHTML: result[i]});
$("prefFilterTestResultList").innerHTML += tmp.innerHTML;
}
@@ -227,7 +214,7 @@ define(["dojo/_base/declare"], function (declare) {
// get the next batch
window.setTimeout(function () {
- test_dlg.getTestResults(query, offset + test_dlg.limit);
+ test_dlg.getTestResults(params, offset + test_dlg.limit);
}, 0);
} else {
@@ -262,11 +249,11 @@ define(["dojo/_base/declare"], function (declare) {
});
},
- href: query
+ href: "backend.php?op=pref-filters&method=testFilterDlg"
});
dojo.connect(test_dlg, "onLoad", null, function (e) {
- test_dlg.getTestResults(query, 0);
+ test_dlg.getTestResults(params, 0);
});
test_dlg.show();
@@ -296,9 +283,7 @@ define(["dojo/_base/declare"], function (declare) {
title: __("Create Filter"),
style: "width: 600px",
test: function () {
- const query = "backend.php?" + dojo.formToQuery("filter_new_form") + "&savemode=test";
-
- Filters.editFilterTest(query);
+ Filters.editFilterTest(dojo.formToObject("filter_new_form"));
},
selectRules: function (select) {
Lists.select("filterDlg_Matches", select);
diff --git a/js/Headlines.js b/js/Headlines.js
index 540c400d3..8425dc980 100755
--- a/js/Headlines.js
+++ b/js/Headlines.js
@@ -8,6 +8,36 @@ define(["dojo/_base/declare"], function (declare) {
headlines: [],
current_first_id: 0,
_scroll_reset_timeout: false,
+ default_force_previous: false,
+ default_force_to_top: false,
+ line_scroll_offset: 120, /* px */
+ sticky_header_observer: new IntersectionObserver(
+ (entries, observer) => {
+ entries.forEach((entry) => {
+ const header = entry.target.nextElementSibling;
+
+ if (entry.intersectionRatio == 0) {
+ header.setAttribute("stuck", "1");
+
+ } else if (entry.intersectionRatio == 1) {
+ header.removeAttribute("stuck");
+ }
+
+ //console.log(entry.target, header, entry.intersectionRatio);
+
+ });
+ },
+ {threshold: [0, 1], root: document.querySelector("#headlines-frame")}
+ ),
+ unpack_observer: new IntersectionObserver(
+ (entries, observer) => {
+ entries.forEach((entry) => {
+ if (entry.intersectionRatio > 0)
+ Article.unpack(entry.target);
+ });
+ },
+ {threshold: [0], root: document.querySelector("#headlines-frame")}
+ ),
row_observer: new MutationObserver((mutations) => {
const modified = [];
@@ -40,7 +70,6 @@ define(["dojo/_base/declare"], function (declare) {
});
Headlines.updateSelectedPrompt();
- Headlines.updateFloatingTitle(true);
if ('requestIdleCallback' in window)
window.requestIdleCallback(() => {
@@ -49,7 +78,7 @@ define(["dojo/_base/declare"], function (declare) {
else
Headlines.syncModified(modified);
}),
- syncModified: function(modified) {
+ syncModified: function (modified) {
const ops = {
tmark: [],
tpub: [],
@@ -62,7 +91,7 @@ define(["dojo/_base/declare"], function (declare) {
rescore: {},
};
- modified.each(function(m) {
+ modified.each(function (m) {
if (m.old.marked != m.new.marked)
ops.tmark.push(m.id);
@@ -118,26 +147,26 @@ define(["dojo/_base/declare"], function (declare) {
if (ops.tmark.length != 0)
promises.push(xhrPost("backend.php",
- { op: "rpc", method: "markSelected", ids: ops.tmark.toString(), cmode: 2}));
+ {op: "rpc", method: "markSelected", ids: ops.tmark.toString(), cmode: 2}));
if (ops.tpub.length != 0)
promises.push(xhrPost("backend.php",
- { op: "rpc", method: "publishSelected", ids: ops.tpub.toString(), cmode: 2}));
+ {op: "rpc", method: "publishSelected", ids: ops.tpub.toString(), cmode: 2}));
if (ops.read.length != 0)
promises.push(xhrPost("backend.php",
- { op: "rpc", method: "catchupSelected", ids: ops.read.toString(), cmode: 0}));
+ {op: "rpc", method: "catchupSelected", ids: ops.read.toString(), cmode: 0}));
if (ops.unread.length != 0)
promises.push(xhrPost("backend.php",
- { op: "rpc", method: "catchupSelected", ids: ops.unread.toString(), cmode: 1}));
+ {op: "rpc", method: "catchupSelected", ids: ops.unread.toString(), cmode: 1}));
const scores = Object.keys(ops.rescore);
if (scores.length != 0) {
scores.each((score) => {
promises.push(xhrPost("backend.php",
- { op: "article", method: "setScore", id: ops.rescore[score].toString(), score: score }));
+ {op: "article", method: "setScore", id: ops.rescore[score].toString(), score: score}));
});
}
@@ -177,15 +206,24 @@ define(["dojo/_base/declare"], function (declare) {
} else if (Article.getActive() != id) {
Headlines.select('none');
+
+ const scroll_position_A = $("RROW-" + id).offsetTop - $("headlines-frame").scrollTop;
+
Article.setActive(id);
if (App.getInitParam("cdm_expanded")) {
+
if (!in_body)
Article.openInNewWindow(id);
Headlines.toggleUnread(id, 0);
} else {
- Article.cdmScrollToId(id);
+ const scroll_position_B = $("RROW-" + id).offsetTop - $("headlines-frame").scrollTop;
+
+ // this would only work if there's enough space
+ $("headlines-frame").scrollTop -= scroll_position_A-scroll_position_B;
+
+ Article.cdmMoveToId(id);
}
} else if (in_body) {
@@ -245,36 +283,22 @@ define(["dojo/_base/declare"], function (declare) {
Feeds.open({feed: Feeds.getActive(), is_cat: Feeds.activeIsCat(), offset: offset, append: true});
},
- isChildVisible: function (elem, ctr) {
- const ctop = ctr.scrollTop;
- const cbottom = ctop + ctr.offsetHeight;
-
- const etop = elem.offsetTop;
- const ebottom = etop + elem.offsetHeight;
-
- return etop >= ctop && ebottom <= cbottom ||
- etop < ctop && ebottom > ctop || ebottom > cbottom && etop < cbottom
-
+ isChildVisible: function (elem) {
+ return App.Scrollable.isChildVisible(elem, $("headlines-frame"));
},
- firstVisible: function() {
+ firstVisible: function () {
const rows = $$("#headlines-frame > div[id*=RROW]");
- const ctr = $("headlines-frame");
for (let i = 0; i < rows.length; i++) {
const row = rows[i];
- if (this.isChildVisible(row, ctr)) {
+ if (this.isChildVisible(row)) {
return row.getAttribute("data-article-id");
}
}
},
scrollHandler: function (/*event*/) {
try {
- Headlines.unpackVisible();
-
- if (App.isCombinedMode())
- Headlines.updateFloatingTitle();
-
if (!Feeds.infscroll_disabled && !Feeds.infscroll_in_progress) {
const hsp = $("headlines-spacer");
const container = $("headlines-frame");
@@ -311,82 +335,25 @@ define(["dojo/_base/declare"], function (declare) {
console.warn("scrollHandler", e);
}
},
- updateFloatingTitle: function (status_only) {
- if (!App.isCombinedMode()/* || !App.getInitParam("cdm_expanded")*/) return;
-
- const safety_offset = 120; /* px, needed for firefox */
- const hf = $("headlines-frame");
- const elems = $$("#headlines-frame > div[id*=RROW]");
- const ft = $("floatingTitle");
-
- for (let i = 0; i < elems.length; i++) {
- const row = elems[i];
-
- if (row && row.offsetTop + row.offsetHeight > hf.scrollTop + safety_offset) {
-
- const header = row.select(".header")[0];
- const id = row.getAttribute("data-article-id");
-
- if (status_only || id != ft.getAttribute("data-article-id")) {
- if (id != ft.getAttribute("data-article-id")) {
-
- ft.setAttribute("data-article-id", id);
- ft.innerHTML = header.innerHTML;
-
- ft.select(".dijitCheckBox")[0].outerHTML = "<i class=\"material-icons icon-anchor\" onclick=\"Article.cdmScrollToId(" + id + ", true)\">expand_more</i>";
-
- this.initFloatingMenu();
-
- }
-
- if (row.hasClassName("Unread"))
- ft.addClassName("Unread");
- else
- ft.removeClassName("Unread");
-
- if (row.hasClassName("marked"))
- ft.addClassName("marked");
- else
- ft.removeClassName("marked");
-
- if (row.hasClassName("published"))
- ft.addClassName("published");
- else
- ft.removeClassName("published");
-
- PluginHost.run(PluginHost.HOOK_FLOATING_TITLE, row);
- }
-
- if (hf.scrollTop - row.offsetTop <= header.offsetHeight + safety_offset)
- ft.fade({duration: 0.2});
- else
- ft.appear({duration: 0.2});
-
- return;
- }
- }
+ objectById: function (id) {
+ return this.headlines[id];
},
- unpackVisible: function () {
- if (!App.isCombinedMode() || !App.getInitParam("cdm_expanded")) return;
+ setCommonClasses: function () {
+ $("headlines-frame").removeClassName("cdm");
+ $("headlines-frame").removeClassName("normal");
- const rows = $$("#headlines-frame div[id*=RROW][data-content]");
- const threshold = $("headlines-frame").scrollTop + $("headlines-frame").offsetHeight + 600;
+ $("headlines-frame").addClassName(App.isCombinedMode() ? "cdm" : "normal");
- for (let i = 0; i < rows.length; i++) {
- const row = rows[i];
+ // for floating title because it's placed outside of headlines-frame
+ $("main").removeClassName("expandable");
+ $("main").removeClassName("expanded");
- if (row.offsetTop <= threshold) {
- Article.unpack(row);
- } else {
- break;
- }
- }
- },
- objectById: function (id){
- return this.headlines[id];
+ if (App.isCombinedMode())
+ $("main").addClassName(App.getInitParam("cdm_expanded") ? " expanded" : " expandable");
},
- renderAgain: function() {
+ renderAgain: function () {
// TODO: wrap headline elements into a knockoutjs model to prevent all this stuff
+ Headlines.setCommonClasses();
$$("#headlines-frame > div[id*=RROW]").each((row) => {
const id = row.getAttribute("data-article-id");
@@ -399,19 +366,27 @@ define(["dojo/_base/declare"], function (declare) {
if (hl.active) {
new_row.addClassName("active");
+ Article.unpack(new_row);
if (App.isCombinedMode())
- Article.cdmScrollToId(id);
+ Article.cdmMoveToId(id, {noscroll: true});
else
Article.view(id);
}
if (hl.selected) this.select("all", id);
-
- Article.unpack(new_row);
-
}
});
+
+ $$(".cdm .header-sticky-guard").each((e) => {
+ this.sticky_header_observer.observe(e)
+ });
+
+ if (App.getInitParam("cdm_expanded"))
+ $$("#headlines-frame > div[id*=RROW].cdm").each((e) => {
+ this.unpack_observer.observe(e)
+ });
+
},
render: function (headlines, hl) {
let row = null;
@@ -453,7 +428,7 @@ define(["dojo/_base/declare"], function (declare) {
data-article-title="${escapeHtml(hl.title)}"
onmouseover="Article.mouseIn(${hl.id})"
onmouseout="Article.mouseOut(${hl.id})">
-
+ <div class="header-sticky-guard"></div>
<div class="header">
<div class="left">
<input dojoType="dijit.form.CheckBox" type="checkbox" onclick="Headlines.onRowChecked(this)" class='rchk'>
@@ -558,7 +533,7 @@ define(["dojo/_base/declare"], function (declare) {
return tmp.firstChild;
},
- updateCurrentUnread: function() {
+ updateCurrentUnread: function () {
if ($("feed_current_unread")) {
const feed_unread = Feeds.getUnread(Feeds.getActive(), Feeds.activeIsCat());
@@ -598,34 +573,18 @@ define(["dojo/_base/declare"], function (declare) {
Feeds.infscroll_disabled = parseInt(headlines_count) != 30;
console.log('infscroll_disabled=', Feeds.infscroll_disabled);
- // TODO: the below needs to be applied again when switching expanded/expandable on the fly
- // via hotkeys, not just on feed load
-
- $("headlines-frame").removeClassName("cdm");
- $("headlines-frame").removeClassName("normal");
-
- $("headlines-frame").addClassName(App.isCombinedMode() ? "cdm" : "normal");
+ // also called in renderAgain() after view mode switch
+ Headlines.setCommonClasses();
$("headlines-frame").setAttribute("is-vfeed",
reply['headlines']['is_vfeed'] ? 1 : 0);
- // for floating title because it's placed outside of headlines-frame
- $("main").removeClassName("expandable");
- $("main").removeClassName("expanded");
-
- if (App.isCombinedMode())
- $("main").addClassName(App.getInitParam("cdm_expanded") ? " expanded" : " expandable");
-
Article.setActive(0);
try {
$("headlines-frame").removeClassName("smooth-scroll");
$("headlines-frame").scrollTop = 0;
$("headlines-frame").addClassName("smooth-scroll");
-
- Element.hide("floatingTitle");
- $("floatingTitle").setAttribute("data-article-id", 0);
- $("floatingTitle").innerHTML = "";
} catch (e) {
console.warn(e);
}
@@ -736,6 +695,15 @@ define(["dojo/_base/declare"], function (declare) {
}
}
+ $$(".cdm .header-sticky-guard").each((e) => {
+ this.sticky_header_observer.observe(e)
+ });
+
+ if (App.getInitParam("cdm_expanded"))
+ $$("#headlines-frame > div[id*=RROW].cdm").each((e) => {
+ this.unpack_observer.observe(e)
+ });
+
} else {
console.error("Invalid object received: " + transport.responseText);
dijit.byId("headlines-frame").attr('content', "<div class='whiteBox'>" +
@@ -837,33 +805,30 @@ define(["dojo/_base/declare"], function (declare) {
move: function (mode, params) {
params = params || {};
- const noscroll = params.noscroll || false;
- const noexpand = params.noexpand || false;
- const event = params.event;
-
- const rows = Headlines.getLoaded();
+ const no_expand = params.no_expand || false;
+ const force_previous = params.force_previous || this.default_force_previous;
+ const force_to_top = params.force_to_top || this.default_force_to_top;
let prev_id = false;
let next_id = false;
+ let current_id = Article.getActive();
- const active_row = $("RROW-" + Article.getActive());
-
- if (!active_row) {
- Article.setActive(0);
- }
-
- if (!Article.getActive() || (active_row && !Headlines.isChildVisible(active_row, $("headlines-frame")))) {
- next_id = Headlines.firstVisible();
- prev_id = next_id;
+ if (!Headlines.isChildVisible($("RROW-" + current_id))) {
+ console.log('active article is obscured, resetting to first visible...');
+ current_id = Headlines.firstVisible();
+ prev_id = current_id;
+ next_id = current_id;
} else {
+ const rows = Headlines.getLoaded();
+
for (let i = 0; i < rows.length; i++) {
- if (rows[i] == Article.getActive()) {
+ if (rows[i] == current_id) {
// Account for adjacent identical article ids.
if (i > 0) prev_id = rows[i - 1];
for (let j = i + 1; j < rows.length; j++) {
- if (rows[j] != Article.getActive()) {
+ if (rows[j] != current_id) {
next_id = rows[j];
break;
}
@@ -873,51 +838,39 @@ define(["dojo/_base/declare"], function (declare) {
}
}
- console.log("cur: " + Article.getActive() + " next: " + next_id);
+ console.log("cur: " + current_id + " next: " + next_id + " prev:" + prev_id);
if (mode === "next") {
- if (next_id || Article.getActive()) {
+ if (next_id) {
if (App.isCombinedMode()) {
-
- //const row = $("RROW-" + Article.getActive());
- const ctr = $("headlines-frame");
-
- if (!noscroll) {
- Article.scroll(ctr.offsetHeight / 2, event);
- } else if (next_id) {
+ window.requestAnimationFrame(() => {
Article.setActive(next_id);
- Article.cdmScrollToId(next_id, true, event);
- }
-
- } else if (next_id) {
- Headlines.correctHeadlinesOffset(next_id);
- Article.view(next_id, noexpand);
+ Article.cdmMoveToId(next_id, {force_to_top: force_to_top});
+ });
+ } else {
+ Article.view(next_id, no_expand);
}
}
- }
-
- if (mode === "prev") {
- if (prev_id || Article.getActive()) {
+ } else if (mode === "prev") {
+ if (prev_id || current_id) {
if (App.isCombinedMode()) {
+ window.requestAnimationFrame(() => {
+ const row = $("RROW-" + current_id);
+ const ctr = $("headlines-frame");
+ const delta_px = Math.round(row.offsetTop) - Math.round(ctr.scrollTop);
- const row = $("RROW-" + Article.getActive());
- //const prev_row = $("RROW-" + prev_id);
- const ctr = $("headlines-frame");
+ console.log('moving back, delta_px', delta_px);
- if (!noscroll) {
- Article.scroll(-ctr.offsetHeight / 2, event);
- } else {
- if (row && Math.round(row.offsetTop) < Math.round(ctr.scrollTop)) {
- Article.cdmScrollToId(Article.getActive(), noscroll, event);
+ if (!force_previous && row && delta_px < -8) {
+ Article.setActive(current_id);
+ Article.cdmMoveToId(current_id, {force_to_top: force_to_top});
} else if (prev_id) {
Article.setActive(prev_id);
- Article.cdmScrollToId(prev_id, noscroll, event);
+ Article.cdmMoveToId(prev_id, {force_to_top: force_to_top});
}
- }
-
+ });
} else if (prev_id) {
- Headlines.correctHeadlinesOffset(prev_id);
- Article.view(prev_id, noexpand);
+ Article.view(prev_id, no_expand);
}
}
}
@@ -1254,7 +1207,7 @@ define(["dojo/_base/declare"], function (declare) {
eval(elem.value);
elem.attr('value', 'false');
},
- correctHeadlinesOffset: function (id) {
+ scrollToArticleId: function (id) {
const container = $("headlines-frame");
const row = $("RROW-" + id);
@@ -1274,20 +1227,6 @@ define(["dojo/_base/declare"], function (declare) {
container.scrollTop = row.offsetTop + row.offsetHeight - viewport;
}
},
- initFloatingMenu: function () {
- if (!dijit.byId("floatingMenu")) {
-
- const menu = new dijit.Menu({
- id: "floatingMenu",
- selector: ".hlMenuAttach",
- targetNodeIds: ["floatingTitle"]
- });
-
- this.headlinesMenuCommon(menu);
-
- menu.startup();
- }
- },
headlinesMenuCommon: function (menu) {
menu.addChild(new dijit.MenuItem({
@@ -1416,21 +1355,11 @@ define(["dojo/_base/declare"], function (declare) {
}
},
- scrollByPages: function (offset, event) {
- const elem = $("headlines-frame");
-
- if (event && event.repeat) {
- elem.addClassName("forbid-smooth-scroll");
- window.clearTimeout(this._scroll_reset_timeout);
-
- this._scroll_reset_timeout = window.setTimeout(() => {
- if (elem) elem.removeClassName("forbid-smooth-scroll");
- }, 250)
- } else {
- elem.removeClassName("forbid-smooth-scroll");
- }
-
- elem.scrollTop += elem.offsetHeight * offset * 0.99;
+ scrollByPages: function (page_offset) {
+ App.Scrollable.scrollByPages($("headlines-frame"), page_offset);
+ },
+ scroll: function (offset) {
+ App.Scrollable.scroll($("headlines-frame"), offset);
},
initHeadlinesMenu: function () {
if (!dijit.byId("headlinesMenu")) {
diff --git a/js/PrefFilterTree.js b/js/PrefFilterTree.js
index a7c7464fb..5fe0714c0 100644
--- a/js/PrefFilterTree.js
+++ b/js/PrefFilterTree.js
@@ -149,9 +149,7 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], functio
style: "width: 600px",
test: function () {
- const query = "backend.php?" + dojo.formToQuery("filter_edit_form") + "&savemode=test";
-
- Filters.editFilterTest(query);
+ Filters.editFilterTest(dojo.formToObject("filter_edit_form"));
},
selectRules: function (select) {
Lists.select("filterDlg_Matches", select);
diff --git a/js/form/ValidationTextArea.js b/js/form/ValidationTextArea.js
new file mode 100644
index 000000000..a7993f716
--- /dev/null
+++ b/js/form/ValidationTextArea.js
@@ -0,0 +1,33 @@
+// https://stackoverflow.com/questions/19317258/how-to-use-dijit-textarea-validation-dojo-1-9
+
+define(["dojo/_base/declare", "dojo/_base/lang", "dijit/form/SimpleTextarea", "dijit/form/ValidationTextBox"],
+ function(declare, lang, SimpleTextarea, ValidationTextBox) {
+
+ return declare('fox.form.ValidationTextArea', [SimpleTextarea, ValidationTextBox], {
+ constructor: function(params){
+ this.constraints = {};
+ this.baseClass += ' dijitValidationTextArea';
+ },
+ templateString: "<textarea ${!nameAttrSetting} data-dojo-attach-point='focusNode,containerNode,textbox' autocomplete='off'></textarea>",
+ validator: function(value, constraints) {
+ //console.log(this, value, constraints);
+
+ if (this.required && this._isEmpty(value))
+ return false;
+
+ if (this.validregexp) {
+ try {
+ new RegExp("/" + value + "/");
+ } catch (e) {
+ return false;
+ }
+ }
+
+ return value.match(new RegExp(this._computeRegexp(constraints)));
+
+ /*return (new RegExp("^(?:" + this._computeRegexp(constraints) + ")"+(this.required?"":"?")+"$",["m"])).test(value) &&
+ (!this.required || !this._isEmpty(value)) &&
+ (this._isEmpty(value) || this.parse(value, constraints) !== undefined); // Boolean*/
+ }
+ })
+ });
diff --git a/js/prefs.js b/js/prefs.js
index 944e49258..96fcbd948 100755
--- a/js/prefs.js
+++ b/js/prefs.js
@@ -55,6 +55,7 @@ require(["dojo/_base/kernel",
"fox/PrefFilterTree",
"fox/PrefLabelTree",
"fox/Toolbar",
+ "fox/form/ValidationTextArea",
"fox/form/Select",
"fox/form/ComboButton",
"fox/form/DropDownButton"], function (dojo, declare, ready, parser, AppBase) {
diff --git a/js/tt-rss.js b/js/tt-rss.js
index d45dd5748..7c325cedf 100644
--- a/js/tt-rss.js
+++ b/js/tt-rss.js
@@ -56,6 +56,7 @@ require(["dojo/_base/kernel",
"fox/FeedStoreModel",
"fox/FeedTree",
"fox/Toolbar",
+ "fox/form/ValidationTextArea",
"fox/form/Select",
"fox/form/ComboButton",
"fox/form/DropDownButton"], function (dojo, declare, ready, parser, AppBase) {
@@ -203,15 +204,12 @@ require(["dojo/_base/kernel",
return Feeds.reloadCurrent('');
},
- isCombinedMode: function() {
- return App.getInitParam("combined_display_mode");
- },
hotkeyHandler: function(event) {
if (event.target.nodeName == "INPUT" || event.target.nodeName == "TEXTAREA") return;
// Arrow buttons and escape are not reported via keypress, handle them via keydown.
- // escape = 27, left = 37, up = 38, right = 39, down = 40, pgup = 33, pgdn = 34
- if (event.type == "keydown" && event.which != 27 && (event.which < 33 || event.which > 40)) return;
+ // escape = 27, left = 37, up = 38, right = 39, down = 40, pgup = 33, pgdn = 34, insert = 45, delete = 46
+ if (event.type == "keydown" && event.which != 27 && (event.which < 33 || event.which > 46)) return;
const action_name = App.keyeventToAction(event);
@@ -284,26 +282,35 @@ require(["dojo/_base/kernel",
if (rv) Feeds.open({feed: rv[0], is_cat: rv[1], delayed: true})
};
this.hotkey_actions["next_article_or_scroll"] = function (event) {
- Headlines.move('next', {event: event});
+ if (App.isCombinedMode())
+ Headlines.scroll(Headlines.line_scroll_offset, event);
+ else
+ Headlines.move('next');
};
this.hotkey_actions["prev_article_or_scroll"] = function (event) {
- Headlines.move('prev', {event: event});
+ if (App.isCombinedMode())
+ Headlines.scroll(-Headlines.line_scroll_offset, event);
+ else
+ Headlines.move('prev');
};
- this.hotkey_actions["next_article_noscroll"] = function (event) {
- Headlines.move('next', {noscroll: true, event: event});
+ this.hotkey_actions["next_article_noscroll"] = function () {
+ Headlines.move('next');
};
- this.hotkey_actions["prev_article_noscroll"] = function (event) {
- Headlines.move('prev', {noscroll: true, event: event});
+ this.hotkey_actions["prev_article_noscroll"] = function () {
+ Headlines.move('prev');
};
- this.hotkey_actions["next_article_noexpand"] = function (event) {
- Headlines.move('next', {noscroll: true, noexpand: true, event: event});
+ this.hotkey_actions["next_article_noexpand"] = function () {
+ Headlines.move('next', {no_expand: true});
};
- this.hotkey_actions["prev_article_noexpand"] = function (event) {
- Headlines.move('prev', {noscroll: true, noexpand: true, event: event});
+ this.hotkey_actions["prev_article_noexpand"] = function () {
+ Headlines.move('prev', {no_expand: true});
};
this.hotkey_actions["search_dialog"] = function () {
Feeds.search();
};
+ this.hotkey_actions["cancel_search"] = function () {
+ Feeds.cancelSearch();
+ };
this.hotkey_actions["toggle_mark"] = function () {
Headlines.selectionToggleMarked();
};
@@ -331,28 +338,34 @@ require(["dojo/_base/kernel",
Headlines.catchupRelativeTo(0);
};
this.hotkey_actions["article_scroll_down"] = function (event) {
- const ctr = App.isCombinedMode() ? $("headlines-frame") : $("content-insert");
-
- if (ctr)
- Article.scroll(ctr.offsetHeight / 2, event);
+ if (App.isCombinedMode())
+ Headlines.scroll(Headlines.line_scroll_offset, event);
+ else
+ Article.scroll(Headlines.line_scroll_offset, event);
};
this.hotkey_actions["article_scroll_up"] = function (event) {
- const ctr = App.isCombinedMode() ? $("headlines-frame") : $("content-insert");
-
- if (ctr)
- Article.scroll(-ctr.offsetHeight / 2, event);
+ if (App.isCombinedMode())
+ Headlines.scroll(-Headlines.line_scroll_offset, event);
+ else
+ Article.scroll(-Headlines.line_scroll_offset, event);
};
- this.hotkey_actions["next_article_page"] = function (event) {
+ this.hotkey_actions["next_headlines_page"] = function (event) {
Headlines.scrollByPages(1, event);
};
- this.hotkey_actions["prev_article_page"] = function (event) {
+ this.hotkey_actions["prev_headlines_page"] = function (event) {
Headlines.scrollByPages(-1, event);
};
this.hotkey_actions["article_page_down"] = function (event) {
- Article.scrollByPages(1, event);
+ if (App.isCombinedMode())
+ Headlines.scrollByPages(1, event);
+ else
+ Article.scrollByPages(1, event);
};
this.hotkey_actions["article_page_up"] = function (event) {
- Article.scrollByPages(-1, event);
+ if (App.isCombinedMode())
+ Headlines.scrollByPages(-1, event);
+ else
+ Article.scrollByPages(-1, event);
};
this.hotkey_actions["close_article"] = function () {
if (App.isCombinedMode()) {
diff --git a/lib/MiniTemplator.class.php b/lib/MiniTemplator.class.php
index e70f0a470..728cdf260 100644
--- a/lib/MiniTemplator.class.php
+++ b/lib/MiniTemplator.class.php
@@ -1,922 +1,921 @@
-<?php
-/**
-* File MiniTemplator.class.php
-* @package MiniTemplator
-*/
-
-/**
-* A compact template engine for HTML files.
-*
-* Requires PHP 4.0.4 or newer.
-*
-* <pre>
-* Template syntax:
-*
-* Variables:
-* ${VariableName}
-*
-* Blocks:
-* &lt;!-- $BeginBlock BlockName --&gt;
-* ... block content ...
-* &lt;!-- $EndBlock BlockName --&gt;
-*
-* Include a subtemplate:
-* &lt;!-- $Include RelativeFileName --&gt;
-* </pre>
-*
-* <pre>
-* General remarks:
-* - Variable names and block names are case-insensitive.
-* - The same variable may be used multiple times within a template.
-* - Blocks can be nested.
-* - Multiple blocks with the same name may occur within a template.
-* </pre>
-*
-* <pre>
-* Public methods:
-* readTemplateFromFile - Reads the template from a file.
-* setTemplateString - Assigns a new template string.
-* setVariable - Sets a template variable.
-* setVariableEsc - Sets a template variable to an escaped string value.
-* variableExists - Checks whether a template variable exists.
-* addBlock - Adds an instance of a template block.
-* blockExists - Checks whether a block exists.
-* reset - Clears all variables and blocks.
-* generateOutput - Generates the HTML page and writes it to the PHP output stream.
-* generateOutputToFile - Generates the HTML page and writes it to a file.
-* generateOutputToString - Generates the HTML page and writes it to a string.
-* </pre>
-*
-* Home page: {@link http://www.source-code.biz/MiniTemplator}<br>
-* License: This module is released under the GNU/LGPL license ({@link http://www.gnu.org/licenses/lgpl.html}).<br>
-* Copyright 2003: Christian d'Heureuse, Inventec Informatik AG, Switzerland. All rights reserved.<br>
-* This product is provided "as is" without warranty of any kind.<br>
-*
-* Version history:<br>
-* 2001-10-24 Christian d'Heureuse (chdh): VBasic version created.<br>
-* 2002-01-26 Markus Angst: ported to PHP4.<br>
-* 2003-04-07 chdh: changes to adjust to Java version.<br>
-* 2003-07-08 chdh: Method variableExists added.
-* Method setVariable changed to trigger an error when the variable does not exist.<br>
-* 2004-04-07 chdh: Parameter isOptional added to method setVariable.
-* Licensing changed from GPL to LGPL.<br>
-* 2004-04-18 chdh: Method blockExists added.<br>
-* 2004-10-28 chdh:<br>
-* Method setVariableEsc added.<br>
-* Multiple blocks with the same name may now occur within a template.<br>
-* No error ("unknown command") is generated any more, if a HTML comment starts with "${".<br>
-* 2004-11-06 chdh:<br>
-* "$Include" command implemented.<br>
-* 2004-11-20 chdh:<br>
-* "$Include" command changed so that the command text is not copied to the output file.<br>
-*/
-
-class MiniTemplator {
-
-//--- public member variables ---------------------------------------------------------------------------------------
-
-/**
-* Base path for relative file names of subtemplates (for the $Include command).
-* This path is prepended to the subtemplate file names. It must be set before
-* readTemplateFromFile or setTemplateString.
-* @access public
-*/
-var $subtemplateBasePath;
-
-//--- private member variables --------------------------------------------------------------------------------------
-
-/**#@+
-* @access private
-*/
-
-var $maxNestingLevel = 50; // maximum number of block nestings
-var $maxInclTemplateSize = 1000000; // maximum length of template string when including subtemplates
-var $template; // Template file data
-var $varTab; // variables table, array index is variable no
- // Fields:
- // varName // variable name
- // varValue // variable value
-var $varTabCnt; // no of entries used in VarTab
-var $varNameToNoMap; // maps variable names to variable numbers
-var $varRefTab; // variable references table
- // Contains an entry for each variable reference in the template. Ordered by TemplatePos.
- // Fields:
- // varNo // variable no
- // tPosBegin // template position of begin of variable reference
- // tPosEnd // template position of end of variable reference
- // blockNo // block no of the (innermost) block that contains this variable reference
- // blockVarNo // block variable no. Index into BlockInstTab.BlockVarTab
-var $varRefTabCnt; // no of entries used in VarRefTab
-var $blockTab; // Blocks table, array index is block no
- // Contains an entry for each block in the template. Ordered by TPosBegin.
- // Fields:
- // blockName // block name
- // nextWithSameName; // block no of next block with same name or -1 (blocks are backward linked in relation to template position)
- // tPosBegin // template position of begin of block
- // tPosContentsBegin // template pos of begin of block contents
- // tPosContentsEnd // template pos of end of block contents
- // tPosEnd // template position of end of block
- // nestingLevel // block nesting level
- // parentBlockNo // block no of parent block
- // definitionIsOpen // true while $BeginBlock processed but no $EndBlock
- // instances // number of instances of this block
- // firstBlockInstNo // block instance no of first instance of this block or -1
- // lastBlockInstNo // block instance no of last instance of this block or -1
- // currBlockInstNo // current block instance no, used during generation of output file
- // blockVarCnt // no of variables in block
- // blockVarNoToVarNoMap // maps block variable numbers to variable numbers
- // firstVarRefNo // variable reference no of first variable of this block or -1
-var $blockTabCnt; // no of entries used in BlockTab
-var $blockNameToNoMap; // maps block names to block numbers
-var $openBlocksTab;
- // During parsing, this table contains the block numbers of the open parent blocks (nested outer blocks).
- // Indexed by the block nesting level.
-var $blockInstTab; // block instances table
- // This table contains an entry for each block instance that has been added.
- // Indexed by BlockInstNo.
- // Fields:
- // blockNo // block number
- // instanceLevel // instance level of this block
- // InstanceLevel is an instance counter per block.
- // (In contrast to blockInstNo, which is an instance counter over the instances of all blocks)
- // parentInstLevel // instance level of parent block
- // nextBlockInstNo // pointer to next instance of this block or -1
- // Forward chain for instances of same block.
- // blockVarTab // block instance variables
-var $blockInstTabCnt; // no of entries used in BlockInstTab
-
-var $currentNestingLevel; // Current block nesting level during parsing.
-var $templateValid; // true if a valid template is prepared
-var $outputMode; // 0 = to PHP output stream, 1 = to file, 2 = to string
-var $outputFileHandle; // file handle during writing of output file
-var $outputError; // true when an output error occurred
-var $outputString; // string buffer for the generated HTML page
-
-/**#@-*/
-
-//--- constructor ---------------------------------------------------------------------------------------------------
-
-/**
-* Constructs a MiniTemplator object.
-* @access public
-*/
-function __construct() {
- $this->templateValid = false; }
-
-//--- template string handling --------------------------------------------------------------------------------------
-
-/**
-* Reads the template from a file.
-* @param string $fileName name of the file that contains the template.
-* @return boolean true on success, false on error.
-* @access public
-*/
-function readTemplateFromFile ($fileName) {
- if (!$this->readFileIntoString($fileName,$s)) {
- $this->triggerError ("Error while reading template file " . $fileName . ".");
- return false; }
- if (!$this->setTemplateString($s)) return false;
- return true; }
-
-/**
-* Assigns a new template string.
-* @param string $templateString contents of the template file.
-* @return boolean true on success, false on error.
-* @access public
-*/
-function setTemplateString ($templateString) {
- $this->templateValid = false;
- $this->template = $templateString;
- if (!$this->parseTemplate()) return false;
- $this->reset();
- $this->templateValid = true;
- return true; }
-
-/**
-* Loads the template string for a subtemplate (used for the $Include command).
-* @return boolean true on success, false on error.
-* @access private
-*/
-function loadSubtemplate ($subtemplateName, &$s) {
- $subtemplateFileName = $this->combineFileSystemPath($this->subtemplateBasePath,$subtemplateName);
- if (!$this->readFileIntoString($subtemplateFileName,$s)) {
- $this->triggerError ("Error while reading subtemplate file " . $subtemplateFileName . ".");
- return false; }
- return true; }
-
-//--- template parsing ----------------------------------------------------------------------------------------------
-
-/**
-* Parses the template.
-* @return boolean true on success, false on error.
-* @access private
-*/
-function parseTemplate() {
- $this->initParsing();
- $this->beginMainBlock();
- if (!$this->parseTemplateCommands()) return false;
- $this->endMainBlock();
- if (!$this->checkBlockDefinitionsComplete()) return false;
- if (!$this->parseTemplateVariables()) return false;
- $this->associateVariablesWithBlocks();
- return true; }
-
-/**
-* @access private
-*/
-function initParsing() {
- $this->varTab = array();
- $this->varTabCnt = 0;
- $this->varNameToNoMap = array();
- $this->varRefTab = array();
- $this->varRefTabCnt = 0;
- $this->blockTab = array();
- $this->blockTabCnt = 0;
- $this->blockNameToNoMap = array();
- $this->openBlocksTab = array(); }
-
-/**
-* Registers the main block.
-* The main block is an implicitly defined block that covers the whole template.
-* @access private
-*/
-function beginMainBlock() {
- $blockNo = 0;
- $this->registerBlock('@@InternalMainBlock@@', $blockNo);
- $bte =& $this->blockTab[$blockNo];
- $bte['tPosBegin'] = 0;
- $bte['tPosContentsBegin'] = 0;
- $bte['nestingLevel'] = 0;
- $bte['parentBlockNo'] = -1;
- $bte['definitionIsOpen'] = true;
- $this->openBlocksTab[0] = $blockNo;
- $this->currentNestingLevel = 1; }
-
-/**
-* Completes the main block registration.
-* @access private
-*/
-function endMainBlock() {
- $bte =& $this->blockTab[0];
- $bte['tPosContentsEnd'] = strlen($this->template);
- $bte['tPosEnd'] = strlen($this->template);
- $bte['definitionIsOpen'] = false;
- $this->currentNestingLevel -= 1; }
-
-/**
-* Parses commands within the template in the format "<!-- $command parameters -->".
-* @return boolean true on success, false on error.
-* @access private
-*/
-function parseTemplateCommands() {
- $p = 0;
- while (true) {
- $p0 = strpos($this->template,'<!--',$p);
- if ($p0 === false) break;
- $p = strpos($this->template,'-->',$p0);
- if ($p === false) {
- $this->triggerError ("Invalid HTML comment in template at offset $p0.");
- return false; }
- $p += 3;
- $cmdL = substr($this->template,$p0+4,$p-$p0-7);
- if (!$this->processTemplateCommand($cmdL,$p0,$p,$resumeFromStart))
- return false;
- if ($resumeFromStart) $p = $p0; }
- return true; }
-
-/**
-* @return boolean true on success, false on error.
-* @access private
-*/
-function processTemplateCommand ($cmdL, $cmdTPosBegin, $cmdTPosEnd, &$resumeFromStart) {
- $resumeFromStart = false;
- $p = 0;
- $cmd = '';
- if (!$this->parseWord($cmdL,$p,$cmd)) return true;
- $parms = substr($cmdL,$p);
- switch (strtoupper($cmd)) {
- case '$BEGINBLOCK':
- if (!$this->processBeginBlockCmd($parms,$cmdTPosBegin,$cmdTPosEnd))
- return false;
- break;
- case '$ENDBLOCK':
- if (!$this->processEndBlockCmd($parms,$cmdTPosBegin,$cmdTPosEnd))
- return false;
- break;
- case '$INCLUDE':
- if (!$this->processincludeCmd($parms,$cmdTPosBegin,$cmdTPosEnd))
- return false;
- $resumeFromStart = true;
- break;
- default:
- if ($cmd{0} == '$' && !(strlen($cmd) >= 2 && $cmd{1} == '{')) {
- $this->triggerError ("Unknown command \"$cmd\" in template at offset $cmdTPosBegin.");
- return false; }}
- return true; }
-
-/**
-* Processes the $BeginBlock command.
-* @return boolean true on success, false on error.
-* @access private
-*/
-function processBeginBlockCmd ($parms, $cmdTPosBegin, $cmdTPosEnd) {
- $p = 0;
- if (!$this->parseWord($parms,$p,$blockName)) {
- $this->triggerError ("Missing block name in \$BeginBlock command in template at offset $cmdTPosBegin.");
- return false; }
- if (trim(substr($parms,$p)) != '') {
- $this->triggerError ("Extra parameter in \$BeginBlock command in template at offset $cmdTPosBegin.");
- return false; }
- $this->registerBlock ($blockName, $blockNo);
- $btr =& $this->blockTab[$blockNo];
- $btr['tPosBegin'] = $cmdTPosBegin;
- $btr['tPosContentsBegin'] = $cmdTPosEnd;
- $btr['nestingLevel'] = $this->currentNestingLevel;
- $btr['parentBlockNo'] = $this->openBlocksTab[$this->currentNestingLevel-1];
- $this->openBlocksTab[$this->currentNestingLevel] = $blockNo;
- $this->currentNestingLevel += 1;
- if ($this->currentNestingLevel > $this->maxNestingLevel) {
- $this->triggerError ("Block nesting overflow in template at offset $cmdTPosBegin.");
- return false; }
- return true; }
-
-/**
-* Processes the $EndBlock command.
-* @return boolean true on success, false on error.
-* @access private
-*/
-function processEndBlockCmd ($parms, $cmdTPosBegin, $cmdTPosEnd) {
- $p = 0;
- if (!$this->parseWord($parms,$p,$blockName)) {
- $this->triggerError ("Missing block name in \$EndBlock command in template at offset $cmdTPosBegin.");
- return false; }
- if (trim(substr($parms,$p)) != '') {
- $this->triggerError ("Extra parameter in \$EndBlock command in template at offset $cmdTPosBegin.");
- return false; }
- if (!$this->lookupBlockName($blockName,$blockNo)) {
- $this->triggerError ("Undefined block name \"$blockName\" in \$EndBlock command in template at offset $cmdTPosBegin.");
- return false; }
- $this->currentNestingLevel -= 1;
- $btr =& $this->blockTab[$blockNo];
- if (!$btr['definitionIsOpen']) {
- $this->triggerError ("Multiple \$EndBlock command for block \"$blockName\" in template at offset $cmdTPosBegin.");
- return false; }
- if ($btr['nestingLevel'] != $this->currentNestingLevel) {
- $this->triggerError ("Block nesting level mismatch at \$EndBlock command for block \"$blockName\" in template at offset $cmdTPosBegin.");
- return false; }
- $btr['tPosContentsEnd'] = $cmdTPosBegin;
- $btr['tPosEnd'] = $cmdTPosEnd;
- $btr['definitionIsOpen'] = false;
- return true; }
-
-/**
-* @access private
-*/
-function registerBlock($blockName, &$blockNo) {
- $blockNo = $this->blockTabCnt++;
- $btr =& $this->blockTab[$blockNo];
- $btr = array();
- $btr['blockName'] = $blockName;
- if (!$this->lookupBlockName($blockName,$btr['nextWithSameName']))
- $btr['nextWithSameName'] = -1;
- $btr['definitionIsOpen'] = true;
- $btr['instances'] = 0;
- $btr['firstBlockInstNo'] = -1;
- $btr['lastBlockInstNo'] = -1;
- $btr['blockVarCnt'] = 0;
- $btr['firstVarRefNo'] = -1;
- $btr['blockVarNoToVarNoMap'] = array();
- $this->blockNameToNoMap[strtoupper($blockName)] = $blockNo; }
-
-/**
-* Checks that all block definitions are closed.
-* @return boolean true on success, false on error.
-* @access private
-*/
-function checkBlockDefinitionsComplete() {
- for ($blockNo=0; $blockNo < $this->blockTabCnt; $blockNo++) {
- $btr =& $this->blockTab[$blockNo];
- if ($btr['definitionIsOpen']) {
- $this->triggerError ("Missing \$EndBlock command in template for block " . $btr['blockName'] . ".");
- return false; }}
- if ($this->currentNestingLevel != 0) {
- $this->triggerError ("Block nesting level error at end of template.");
- return false; }
- return true; }
-
-/**
-* Processes the $Include command.
-* @return boolean true on success, false on error.
-* @access private
-*/
-function processIncludeCmd ($parms, $cmdTPosBegin, $cmdTPosEnd) {
- $p = 0;
- if (!$this->parseWordOrQuotedString($parms,$p,$subtemplateName)) {
- $this->triggerError ("Missing or invalid subtemplate name in \$Include command in template at offset $cmdTPosBegin.");
- return false; }
- if (trim(substr($parms,$p)) != '') {
- $this->triggerError ("Extra parameter in \$include command in template at offset $cmdTPosBegin.");
- return false; }
- return $this->insertSubtemplate($subtemplateName,$cmdTPosBegin,$cmdTPosEnd); }
-
-/**
-* Processes the $Include command.
-* @return boolean true on success, false on error.
-* @access private
-*/
-function insertSubtemplate ($subtemplateName, $tPos1, $tPos2) {
- if (strlen($this->template) > $this->maxInclTemplateSize) {
- $this->triggerError ("Subtemplate include aborted because the internal template string is longer than $this->maxInclTemplateSize characters.");
- return false; }
- if (!$this->loadSubtemplate($subtemplateName,$subtemplate)) return false;
- // (Copying the template to insert a subtemplate is a bit slow. In a future implementation of MiniTemplator,
- // a table could be used that contains references to the string fragments.)
- $this->template = substr($this->template,0,$tPos1) . $subtemplate . substr($this->template,$tPos2);
- return true; }
-
-/**
-* Parses variable references within the template in the format "${VarName}".
-* @return boolean true on success, false on error.
-* @access private
-*/
-function parseTemplateVariables() {
- $p = 0;
- while (true) {
- $p = strpos($this->template, '${', $p);
- if ($p === false) break;
- $p0 = $p;
- $p = strpos($this->template, '}', $p);
- if ($p === false) {
- $this->triggerError ("Invalid variable reference in template at offset $p0.");
- return false; }
- $p += 1;
- $varName = trim(substr($this->template, $p0+2, $p-$p0-3));
- if (strlen($varName) == 0) {
- $this->triggerError ("Empty variable name in template at offset $p0.");
- return false; }
- $this->registerVariableReference ($varName, $p0, $p); }
- return true; }
-
-/**
-* @access private
-*/
-function registerVariableReference ($varName, $tPosBegin, $tPosEnd) {
- if (!$this->lookupVariableName($varName,$varNo))
- $this->registerVariable($varName,$varNo);
- $varRefNo = $this->varRefTabCnt++;
- $vrtr =& $this->varRefTab[$varRefNo];
- $vrtr = array();
- $vrtr['tPosBegin'] = $tPosBegin;
- $vrtr['tPosEnd'] = $tPosEnd;
- $vrtr['varNo'] = $varNo; }
-
-/**
-* @access private
-*/
-function registerVariable ($varName, &$varNo) {
- $varNo = $this->varTabCnt++;
- $vtr =& $this->varTab[$varNo];
- $vtr = array();
- $vtr['varName'] = $varName;
- $vtr['varValue'] = '';
- $this->varNameToNoMap[strtoupper($varName)] = $varNo; }
-
-/**
-* Associates variable references with blocks.
-* @access private
-*/
-function associateVariablesWithBlocks() {
- $varRefNo = 0;
- $activeBlockNo = 0;
- $nextBlockNo = 1;
- while ($varRefNo < $this->varRefTabCnt) {
- $vrtr =& $this->varRefTab[$varRefNo];
- $varRefTPos = $vrtr['tPosBegin'];
- $varNo = $vrtr['varNo'];
- if ($varRefTPos >= $this->blockTab[$activeBlockNo]['tPosEnd']) {
- $activeBlockNo = $this->blockTab[$activeBlockNo]['parentBlockNo'];
- continue; }
- if ($nextBlockNo < $this->blockTabCnt) {
- if ($varRefTPos >= $this->blockTab[$nextBlockNo]['tPosBegin']) {
- $activeBlockNo = $nextBlockNo;
- $nextBlockNo += 1;
- continue; }}
- $btr =& $this->blockTab[$activeBlockNo];
- if ($varRefTPos < $btr['tPosBegin'])
- $this->programLogicError(1);
- $blockVarNo = $btr['blockVarCnt']++;
- $btr['blockVarNoToVarNoMap'][$blockVarNo] = $varNo;
- if ($btr['firstVarRefNo'] == -1)
- $btr['firstVarRefNo'] = $varRefNo;
- $vrtr['blockNo'] = $activeBlockNo;
- $vrtr['blockVarNo'] = $blockVarNo;
- $varRefNo += 1; }}
-
-//--- build up (template variables and blocks) ----------------------------------------------------------------------
-
-/**
-* Clears all variables and blocks.
-* This method can be used to produce another HTML page with the same
-* template. It is faster than creating another MiniTemplator object,
-* because the template does not have to be parsed again.
-* All variable values are cleared and all added block instances are deleted.
-* @access public
-*/
-function reset() {
- for ($varNo=0; $varNo<$this->varTabCnt; $varNo++)
- $this->varTab[$varNo]['varValue'] = '';
- for ($blockNo=0; $blockNo<$this->blockTabCnt; $blockNo++) {
- $btr =& $this->blockTab[$blockNo];
- $btr['instances'] = 0;
- $btr['firstBlockInstNo'] = -1;
- $btr['lastBlockInstNo'] = -1; }
- $this->blockInstTab = array();
- $this->blockInstTabCnt = 0; }
-
-/**
-* Sets a template variable.
-* For variables that are used in blocks, the variable value
-* must be set before {@link addBlock} is called.
-* @param string $variableName the name of the variable to be set.
-* @param string $variableValue the new value of the variable.
-* @param boolean $isOptional Specifies whether an error should be
-* generated when the variable does not exist in the template. If
-* $isOptional is false and the variable does not exist, an error is
-* generated.
-* @return boolean true on success, or false on error (e.g. when no
-* variable with the specified name exists in the template and
-* $isOptional is false).
-* @access public
-*/
-function setVariable ($variableName, $variableValue, $isOptional=false) {
- if (!$this->templateValid) {$this->triggerError ("Template not valid."); return false; }
- if (!$this->lookupVariableName($variableName,$varNo)) {
- if ($isOptional) return true;
- $this->triggerError ("Variable \"$variableName\" not defined in template.");
- return false; }
- $this->varTab[$varNo]['varValue'] = $variableValue;
- return true; }
-
-/**
-* Sets a template variable to an escaped string.
-* This method is identical to (@link setVariable), except that
-* the characters &lt;, &gt;, &amp;, ' and " of variableValue are
-* replaced by their corresponding HTML/XML character entity codes.
-* For variables that are used in blocks, the variable value
-* must be set before {@link addBlock} is called.
-* @param string $variableName the name of the variable to be set.
-* @param string $variableValue the new value of the variable. Special HTML/XML characters are escaped.
-* @param boolean $isOptional Specifies whether an error should be
-* generated when the variable does not exist in the template. If
-* $isOptional is false and the variable does not exist, an error is
-* generated.
-* @return boolean true on success, or false on error (e.g. when no
-* variable with the specified name exists in the template and
-* $isOptional is false).
-* @access public
-*/
-function setVariableEsc ($variableName, $variableValue, $isOptional=false) {
- return $this->setVariable($variableName,htmlspecialchars($variableValue,ENT_QUOTES),$isOptional); }
-
-/**
-* Checks whether a variable with the specified name exists within the template.
-* @param string $variableName the name of the variable.
-* @return boolean true if the variable exists, or false when no
-* variable with the specified name exists in the template.
-* @access public
-*/
-function variableExists ($variableName) {
- if (!$this->templateValid) {$this->triggerError ("Template not valid."); return false; }
- return $this->lookupVariableName($variableName,$varNo); }
-
-/**
-* Adds an instance of a template block.
-* If the block contains variables, these variables must be set
-* before the block is added.
-* If the block contains subblocks (nested blocks), the subblocks
-* must be added before this block is added.
-* If multiple blocks exist with the specified name, an instance
-* is added for each block occurence.
-* @param string blockName the name of the block to be added.
-* @return boolean true on success, false on error (e.g. when no
-* block with the specified name exists in the template).
-* @access public
-*/
-function addBlock($blockName) {
- if (!$this->templateValid) {$this->triggerError ("Template not valid."); return false; }
- if (!$this->lookupBlockName($blockName,$blockNo)) {
- $this->triggerError ("Block \"$blockName\" not defined in template.");
- return false; }
- while ($blockNo != -1) {
- $this->addBlockByNo($blockNo);
- $blockNo = $this->blockTab[$blockNo]['nextWithSameName']; }
- return true; }
-
-/**
-* @access private
-*/
-function addBlockByNo ($blockNo) {
- $btr =& $this->blockTab[$blockNo];
- $this->registerBlockInstance ($blockInstNo);
- $bitr =& $this->blockInstTab[$blockInstNo];
- if ($btr['firstBlockInstNo'] == -1)
- $btr['firstBlockInstNo'] = $blockInstNo;
- if ($btr['lastBlockInstNo'] != -1)
- $this->blockInstTab[$btr['lastBlockInstNo']]['nextBlockInstNo'] = $blockInstNo;
- // set forward pointer of chain
- $btr['lastBlockInstNo'] = $blockInstNo;
- $parentBlockNo = $btr['parentBlockNo'];
- $blockVarCnt = $btr['blockVarCnt'];
- $bitr['blockNo'] = $blockNo;
- $bitr['instanceLevel'] = $btr['instances']++;
- if ($parentBlockNo == -1)
- $bitr['parentInstLevel'] = -1;
- else
- $bitr['parentInstLevel'] = $this->blockTab[$parentBlockNo]['instances'];
- $bitr['nextBlockInstNo'] = -1;
- $bitr['blockVarTab'] = array();
- // copy instance variables for this block
- for ($blockVarNo=0; $blockVarNo<$blockVarCnt; $blockVarNo++) {
- $varNo = $btr['blockVarNoToVarNoMap'][$blockVarNo];
- $bitr['blockVarTab'][$blockVarNo] = $this->varTab[$varNo]['varValue']; }}
-
-/**
-* @access private
-*/
-function registerBlockInstance (&$blockInstNo) {
- $blockInstNo = $this->blockInstTabCnt++; }
-
-/**
-* Checks whether a block with the specified name exists within the template.
-* @param string $blockName the name of the block.
-* @return boolean true if the block exists, or false when no
-* block with the specified name exists in the template.
-* @access public
-*/
-function blockExists ($blockName) {
- if (!$this->templateValid) {$this->triggerError ("Template not valid."); return false; }
- return $this->lookupBlockName($blockName,$blockNo); }
-
-//--- output generation ---------------------------------------------------------------------------------------------
-
-/**
-* Generates the HTML page and writes it to the PHP output stream.
-* @return boolean true on success, false on error.
-* @access public
-*/
-function generateOutput () {
- $this->outputMode = 0;
- if (!$this->generateOutputPage()) return false;
- return true; }
-
-/**
-* Generates the HTML page and writes it to a file.
-* @param string $fileName name of the output file.
-* @return boolean true on success, false on error.
-* @access public
-*/
-function generateOutputToFile ($fileName) {
- $fh = fopen($fileName,"wb");
- if ($fh === false) return false;
- $this->outputMode = 1;
- $this->outputFileHandle = $fh;
- $ok = $this->generateOutputPage();
- fclose ($fh);
- return $ok; }
-
-/**
-* Generates the HTML page and writes it to a string.
-* @param string $outputString variable that receives
-* the contents of the generated HTML page.
-* @return boolean true on success, false on error.
-* @access public
-*/
-function generateOutputToString (&$outputString) {
- $outputString = "Error";
- $this->outputMode = 2;
- $this->outputString = "";
- if (!$this->generateOutputPage()) return false;
- $outputString = $this->outputString;
- return true; }
-
-/**
-* @access private
-* @return boolean true on success, false on error.
-*/
-function generateOutputPage() {
- if (!$this->templateValid) {$this->triggerError ("Template not valid."); return false; }
- if ($this->blockTab[0]['instances'] == 0)
- $this->addBlockByNo (0); // add main block
- for ($blockNo=0; $blockNo < $this->blockTabCnt; $blockNo++) {
- $btr =& $this->blockTab[$blockNo];
- $btr['currBlockInstNo'] = $btr['firstBlockInstNo']; }
- $this->outputError = false;
- $this->writeBlockInstances (0, -1);
- if ($this->outputError) return false;
- return true; }
-
-/**
-* Writes all instances of a block that are contained within a specific
-* parent block instance.
-* Called recursively.
-* @access private
-*/
-function writeBlockInstances ($blockNo, $parentInstLevel) {
- $btr =& $this->blockTab[$blockNo];
- while (!$this->outputError) {
- $blockInstNo = $btr['currBlockInstNo'];
- if ($blockInstNo == -1) break;
- $bitr =& $this->blockInstTab[$blockInstNo];
- if ($bitr['parentInstLevel'] < $parentInstLevel)
- $this->programLogicError (2);
- if ($bitr['parentInstLevel'] > $parentInstLevel) break;
- $this->writeBlockInstance ($blockInstNo);
- $btr['currBlockInstNo'] = $bitr['nextBlockInstNo']; }}
-
-/**
-* @access private
-*/
-function writeBlockInstance($blockInstNo) {
- $bitr =& $this->blockInstTab[$blockInstNo];
- $blockNo = $bitr['blockNo'];
- $btr =& $this->blockTab[$blockNo];
- $tPos = $btr['tPosContentsBegin'];
- $subBlockNo = $blockNo + 1;
- $varRefNo = $btr['firstVarRefNo'];
- while (!$this->outputError) {
- $tPos2 = $btr['tPosContentsEnd'];
- $kind = 0; // assume end-of-block
- if ($varRefNo != -1 && $varRefNo < $this->varRefTabCnt) { // check for variable reference
- $vrtr =& $this->varRefTab[$varRefNo];
- if ($vrtr['tPosBegin'] < $tPos) {
- $varRefNo += 1;
- continue; }
- if ($vrtr['tPosBegin'] < $tPos2) {
- $tPos2 = $vrtr['tPosBegin'];
- $kind = 1; }}
- if ($subBlockNo < $this->blockTabCnt) { // check for subblock
- $subBtr =& $this->blockTab[$subBlockNo];
- if ($subBtr['tPosBegin'] < $tPos) {
- $subBlockNo += 1;
- continue; }
- if ($subBtr['tPosBegin'] < $tPos2) {
- $tPos2 = $subBtr['tPosBegin'];
- $kind = 2; }}
- if ($tPos2 > $tPos)
- $this->writeString (substr($this->template,$tPos,$tPos2-$tPos));
- switch ($kind) {
- case 0: // end of block
- return;
- case 1: // variable
- $vrtr =& $this->varRefTab[$varRefNo];
- if ($vrtr['blockNo'] != $blockNo)
- $this->programLogicError (4);
- $variableValue = $bitr['blockVarTab'][$vrtr['blockVarNo']];
- $this->writeString ($variableValue);
- $tPos = $vrtr['tPosEnd'];
- $varRefNo += 1;
- break;
- case 2: // sub block
- $subBtr =& $this->blockTab[$subBlockNo];
- if ($subBtr['parentBlockNo'] != $blockNo)
- $this->programLogicError (3);
- $this->writeBlockInstances ($subBlockNo, $bitr['instanceLevel']); // recursive call
- $tPos = $subBtr['tPosEnd'];
- $subBlockNo += 1;
- break; }}}
-
-/**
-* @access private
-*/
-function writeString ($s) {
- if ($this->outputError) return;
- switch ($this->outputMode) {
- case 0: // output to PHP output stream
- if (!print($s))
- $this->outputError = true;
- break;
- case 1: // output to file
- $rc = fwrite($this->outputFileHandle, $s);
- if ($rc === false) $this->outputError = true;
- break;
- case 2: // output to string
- $this->outputString .= $s;
- break; }}
-
-//--- name lookup routines ------------------------------------------------------------------------------------------
-
-/**
-* Maps variable name to variable number.
-* @return boolean true on success, false if the variable is not found.
-* @access private
-*/
-function lookupVariableName ($varName, &$varNo) {
- $x =& $this->varNameToNoMap[strtoupper($varName)];
- if (!isset($x)) return false;
- $varNo = $x;
- return true; }
-
-/**
-* Maps block name to block number.
-* If there are multiple blocks with the same name, the block number of the last
-* registered block with that name is returned.
-* @return boolean true on success, false when the block is not found.
-* @access private
-*/
-function lookupBlockName ($blockName, &$blockNo) {
- $x =& $this->blockNameToNoMap[strtoupper($blockName)];
- if (!isset($x)) return false;
- $blockNo = $x;
- return true; }
-
-//--- general utility routines -----------------------------------------------------------------------------------------
-
-/**
-* Reads a file into a string.
-* @return boolean true on success, false on error.
-* @access private
-*/
-function readFileIntoString ($fileName, &$s) {
- if (function_exists('version_compare') && version_compare(phpversion(),"4.3.0",">=")) {
- $s = file_get_contents($fileName);
- if ($s === false) return false;
- return true; }
- $fh = fopen($fileName,"rb");
- if ($fh === false) return false;
- $fileSize = filesize($fileName);
- if ($fileSize === false) {fclose ($fh); return false; }
- $s = fread($fh,$fileSize);
- fclose ($fh);
- if (strlen($s) != $fileSize) return false;
- return true; }
-
-/**
-* @access private
-* @return boolean true on success, false when the end of the string is reached.
-*/
-function parseWord ($s, &$p, &$w) {
- $sLen = strlen($s);
- while ($p < $sLen && ord($s{$p}) <= 32) $p++;
- if ($p >= $sLen) return false;
- $p0 = $p;
- while ($p < $sLen && ord($s{$p}) > 32) $p++;
- $w = substr($s, $p0, $p - $p0);
- return true; }
-
-/**
-* @access private
-* @return boolean true on success, false on error.
-*/
-function parseQuotedString ($s, &$p, &$w) {
- $sLen = strlen($s);
- while ($p < $sLen && ord($s{$p}) <= 32) $p++;
- if ($p >= $sLen) return false;
- if (substr($s,$p,1) != '"') return false;
- $p++; $p0 = $p;
- while ($p < $sLen && $s{$p} != '"') $p++;
- if ($p >= $sLen) return false;
- $w = substr($s, $p0, $p - $p0);
- $p++;
- return true; }
-
-/**
-* @access private
-* @return boolean true on success, false on error.
-*/
-function parseWordOrQuotedString ($s, &$p, &$w) {
- $sLen = strlen($s);
- while ($p < $sLen && ord($s{$p}) <= 32) $p++;
- if ($p >= $sLen) return false;
- if (substr($s,$p,1) == '"')
- return $this->parseQuotedString($s,$p,$w);
- else
- return $this->parseWord($s,$p,$w); }
-
-/**
-* Combine two file system paths.
-* @access private
-*/
-function combineFileSystemPath ($path1, $path2) {
- if ($path1 == '' || $path2 == '') return $path2;
- $s = $path1;
- if (substr($s,-1) != '\\' && substr($s,-1) != '/') $s = $s . "/";
- if (substr($path2,0,1) == '\\' || substr($path2,0,1) == '/')
- $s = $s . substr($path2,1);
- else
- $s = $s . $path2;
- return $s; }
-
-/**
-* @access private
-*/
-function triggerError ($msg) {
- trigger_error ("MiniTemplator error: $msg", E_USER_ERROR); }
-
-/**
-* @access private
-*/
-function programLogicError ($errorId) {
- die ("MiniTemplator: Program logic error $errorId.\n"); }
-
-}
-?>
+<?php
+/**
+* File MiniTemplator.class.php
+* @package MiniTemplator
+*/
+
+/**
+* A compact template engine for HTML files.
+*
+* Requires PHP 4.0.4 or newer.
+*
+* <pre>
+* Template syntax:
+*
+* Variables:
+* ${VariableName}
+*
+* Blocks:
+* &lt;!-- $BeginBlock BlockName --&gt;
+* ... block content ...
+* &lt;!-- $EndBlock BlockName --&gt;
+*
+* Include a subtemplate:
+* &lt;!-- $Include RelativeFileName --&gt;
+* </pre>
+*
+* <pre>
+* General remarks:
+* - Variable names and block names are case-insensitive.
+* - The same variable may be used multiple times within a template.
+* - Blocks can be nested.
+* - Multiple blocks with the same name may occur within a template.
+* </pre>
+*
+* <pre>
+* Public methods:
+* readTemplateFromFile - Reads the template from a file.
+* setTemplateString - Assigns a new template string.
+* setVariable - Sets a template variable.
+* setVariableEsc - Sets a template variable to an escaped string value.
+* variableExists - Checks whether a template variable exists.
+* addBlock - Adds an instance of a template block.
+* blockExists - Checks whether a block exists.
+* reset - Clears all variables and blocks.
+* generateOutput - Generates the HTML page and writes it to the PHP output stream.
+* generateOutputToFile - Generates the HTML page and writes it to a file.
+* generateOutputToString - Generates the HTML page and writes it to a string.
+* </pre>
+*
+* Home page: {@link http://www.source-code.biz/MiniTemplator}<br>
+* License: This module is released under the GNU/LGPL license ({@link http://www.gnu.org/licenses/lgpl.html}).<br>
+* Copyright 2003: Christian d'Heureuse, Inventec Informatik AG, Switzerland. All rights reserved.<br>
+* This product is provided "as is" without warranty of any kind.<br>
+*
+* Version history:<br>
+* 2001-10-24 Christian d'Heureuse (chdh): VBasic version created.<br>
+* 2002-01-26 Markus Angst: ported to PHP4.<br>
+* 2003-04-07 chdh: changes to adjust to Java version.<br>
+* 2003-07-08 chdh: Method variableExists added.
+* Method setVariable changed to trigger an error when the variable does not exist.<br>
+* 2004-04-07 chdh: Parameter isOptional added to method setVariable.
+* Licensing changed from GPL to LGPL.<br>
+* 2004-04-18 chdh: Method blockExists added.<br>
+* 2004-10-28 chdh:<br>
+* Method setVariableEsc added.<br>
+* Multiple blocks with the same name may now occur within a template.<br>
+* No error ("unknown command") is generated any more, if a HTML comment starts with "${".<br>
+* 2004-11-06 chdh:<br>
+* "$Include" command implemented.<br>
+* 2004-11-20 chdh:<br>
+* "$Include" command changed so that the command text is not copied to the output file.<br>
+*/
+
+class MiniTemplator {
+
+//--- public member variables ---------------------------------------------------------------------------------------
+
+/**
+* Base path for relative file names of subtemplates (for the $Include command).
+* This path is prepended to the subtemplate file names. It must be set before
+* readTemplateFromFile or setTemplateString.
+* @access public
+*/
+var $subtemplateBasePath;
+
+//--- private member variables --------------------------------------------------------------------------------------
+
+/**#@+
+* @access private
+*/
+
+var $maxNestingLevel = 50; // maximum number of block nestings
+var $maxInclTemplateSize = 1000000; // maximum length of template string when including subtemplates
+var $template; // Template file data
+var $varTab; // variables table, array index is variable no
+ // Fields:
+ // varName // variable name
+ // varValue // variable value
+var $varTabCnt; // no of entries used in VarTab
+var $varNameToNoMap; // maps variable names to variable numbers
+var $varRefTab; // variable references table
+ // Contains an entry for each variable reference in the template. Ordered by TemplatePos.
+ // Fields:
+ // varNo // variable no
+ // tPosBegin // template position of begin of variable reference
+ // tPosEnd // template position of end of variable reference
+ // blockNo // block no of the (innermost) block that contains this variable reference
+ // blockVarNo // block variable no. Index into BlockInstTab.BlockVarTab
+var $varRefTabCnt; // no of entries used in VarRefTab
+var $blockTab; // Blocks table, array index is block no
+ // Contains an entry for each block in the template. Ordered by TPosBegin.
+ // Fields:
+ // blockName // block name
+ // nextWithSameName; // block no of next block with same name or -1 (blocks are backward linked in relation to template position)
+ // tPosBegin // template position of begin of block
+ // tPosContentsBegin // template pos of begin of block contents
+ // tPosContentsEnd // template pos of end of block contents
+ // tPosEnd // template position of end of block
+ // nestingLevel // block nesting level
+ // parentBlockNo // block no of parent block
+ // definitionIsOpen // true while $BeginBlock processed but no $EndBlock
+ // instances // number of instances of this block
+ // firstBlockInstNo // block instance no of first instance of this block or -1
+ // lastBlockInstNo // block instance no of last instance of this block or -1
+ // currBlockInstNo // current block instance no, used during generation of output file
+ // blockVarCnt // no of variables in block
+ // blockVarNoToVarNoMap // maps block variable numbers to variable numbers
+ // firstVarRefNo // variable reference no of first variable of this block or -1
+var $blockTabCnt; // no of entries used in BlockTab
+var $blockNameToNoMap; // maps block names to block numbers
+var $openBlocksTab;
+ // During parsing, this table contains the block numbers of the open parent blocks (nested outer blocks).
+ // Indexed by the block nesting level.
+var $blockInstTab; // block instances table
+ // This table contains an entry for each block instance that has been added.
+ // Indexed by BlockInstNo.
+ // Fields:
+ // blockNo // block number
+ // instanceLevel // instance level of this block
+ // InstanceLevel is an instance counter per block.
+ // (In contrast to blockInstNo, which is an instance counter over the instances of all blocks)
+ // parentInstLevel // instance level of parent block
+ // nextBlockInstNo // pointer to next instance of this block or -1
+ // Forward chain for instances of same block.
+ // blockVarTab // block instance variables
+var $blockInstTabCnt; // no of entries used in BlockInstTab
+
+var $currentNestingLevel; // Current block nesting level during parsing.
+var $templateValid; // true if a valid template is prepared
+var $outputMode; // 0 = to PHP output stream, 1 = to file, 2 = to string
+var $outputFileHandle; // file handle during writing of output file
+var $outputError; // true when an output error occurred
+var $outputString; // string buffer for the generated HTML page
+
+/**#@-*/
+
+//--- constructor ---------------------------------------------------------------------------------------------------
+
+/**
+* Constructs a MiniTemplator object.
+* @access public
+*/
+function __construct() {
+ $this->templateValid = false; }
+
+//--- template string handling --------------------------------------------------------------------------------------
+
+/**
+* Reads the template from a file.
+* @param string $fileName name of the file that contains the template.
+* @return boolean true on success, false on error.
+* @access public
+*/
+function readTemplateFromFile ($fileName) {
+ if (!$this->readFileIntoString($fileName,$s)) {
+ $this->triggerError ("Error while reading template file " . $fileName . ".");
+ return false; }
+ if (!$this->setTemplateString($s)) return false;
+ return true; }
+
+/**
+* Assigns a new template string.
+* @param string $templateString contents of the template file.
+* @return boolean true on success, false on error.
+* @access public
+*/
+function setTemplateString ($templateString) {
+ $this->templateValid = false;
+ $this->template = $templateString;
+ if (!$this->parseTemplate()) return false;
+ $this->reset();
+ $this->templateValid = true;
+ return true; }
+
+/**
+* Loads the template string for a subtemplate (used for the $Include command).
+* @return boolean true on success, false on error.
+* @access private
+*/
+function loadSubtemplate ($subtemplateName, &$s) {
+ $subtemplateFileName = $this->combineFileSystemPath($this->subtemplateBasePath,$subtemplateName);
+ if (!$this->readFileIntoString($subtemplateFileName,$s)) {
+ $this->triggerError ("Error while reading subtemplate file " . $subtemplateFileName . ".");
+ return false; }
+ return true; }
+
+//--- template parsing ----------------------------------------------------------------------------------------------
+
+/**
+* Parses the template.
+* @return boolean true on success, false on error.
+* @access private
+*/
+function parseTemplate() {
+ $this->initParsing();
+ $this->beginMainBlock();
+ if (!$this->parseTemplateCommands()) return false;
+ $this->endMainBlock();
+ if (!$this->checkBlockDefinitionsComplete()) return false;
+ if (!$this->parseTemplateVariables()) return false;
+ $this->associateVariablesWithBlocks();
+ return true; }
+
+/**
+* @access private
+*/
+function initParsing() {
+ $this->varTab = array();
+ $this->varTabCnt = 0;
+ $this->varNameToNoMap = array();
+ $this->varRefTab = array();
+ $this->varRefTabCnt = 0;
+ $this->blockTab = array();
+ $this->blockTabCnt = 0;
+ $this->blockNameToNoMap = array();
+ $this->openBlocksTab = array(); }
+
+/**
+* Registers the main block.
+* The main block is an implicitly defined block that covers the whole template.
+* @access private
+*/
+function beginMainBlock() {
+ $blockNo = 0;
+ $this->registerBlock('@@InternalMainBlock@@', $blockNo);
+ $bte =& $this->blockTab[$blockNo];
+ $bte['tPosBegin'] = 0;
+ $bte['tPosContentsBegin'] = 0;
+ $bte['nestingLevel'] = 0;
+ $bte['parentBlockNo'] = -1;
+ $bte['definitionIsOpen'] = true;
+ $this->openBlocksTab[0] = $blockNo;
+ $this->currentNestingLevel = 1; }
+
+/**
+* Completes the main block registration.
+* @access private
+*/
+function endMainBlock() {
+ $bte =& $this->blockTab[0];
+ $bte['tPosContentsEnd'] = strlen($this->template);
+ $bte['tPosEnd'] = strlen($this->template);
+ $bte['definitionIsOpen'] = false;
+ $this->currentNestingLevel -= 1; }
+
+/**
+* Parses commands within the template in the format "<!-- $command parameters -->".
+* @return boolean true on success, false on error.
+* @access private
+*/
+function parseTemplateCommands() {
+ $p = 0;
+ while (true) {
+ $p0 = strpos($this->template,'<!--',$p);
+ if ($p0 === false) break;
+ $p = strpos($this->template,'-->',$p0);
+ if ($p === false) {
+ $this->triggerError ("Invalid HTML comment in template at offset $p0.");
+ return false; }
+ $p += 3;
+ $cmdL = substr($this->template,$p0+4,$p-$p0-7);
+ if (!$this->processTemplateCommand($cmdL,$p0,$p,$resumeFromStart))
+ return false;
+ if ($resumeFromStart) $p = $p0; }
+ return true; }
+
+/**
+* @return boolean true on success, false on error.
+* @access private
+*/
+function processTemplateCommand ($cmdL, $cmdTPosBegin, $cmdTPosEnd, &$resumeFromStart) {
+ $resumeFromStart = false;
+ $p = 0;
+ $cmd = '';
+ if (!$this->parseWord($cmdL,$p,$cmd)) return true;
+ $parms = substr($cmdL,$p);
+ switch (strtoupper($cmd)) {
+ case '$BEGINBLOCK':
+ if (!$this->processBeginBlockCmd($parms,$cmdTPosBegin,$cmdTPosEnd))
+ return false;
+ break;
+ case '$ENDBLOCK':
+ if (!$this->processEndBlockCmd($parms,$cmdTPosBegin,$cmdTPosEnd))
+ return false;
+ break;
+ case '$INCLUDE':
+ if (!$this->processincludeCmd($parms,$cmdTPosBegin,$cmdTPosEnd))
+ return false;
+ $resumeFromStart = true;
+ break;
+ default:
+ if ($cmd[0] == '$' && !(strlen($cmd) >= 2 && $cmd[1] == '{')) {
+ $this->triggerError ("Unknown command \"$cmd\" in template at offset $cmdTPosBegin.");
+ return false; }}
+ return true; }
+
+/**
+* Processes the $BeginBlock command.
+* @return boolean true on success, false on error.
+* @access private
+*/
+function processBeginBlockCmd ($parms, $cmdTPosBegin, $cmdTPosEnd) {
+ $p = 0;
+ if (!$this->parseWord($parms,$p,$blockName)) {
+ $this->triggerError ("Missing block name in \$BeginBlock command in template at offset $cmdTPosBegin.");
+ return false; }
+ if (trim(substr($parms,$p)) != '') {
+ $this->triggerError ("Extra parameter in \$BeginBlock command in template at offset $cmdTPosBegin.");
+ return false; }
+ $this->registerBlock ($blockName, $blockNo);
+ $btr =& $this->blockTab[$blockNo];
+ $btr['tPosBegin'] = $cmdTPosBegin;
+ $btr['tPosContentsBegin'] = $cmdTPosEnd;
+ $btr['nestingLevel'] = $this->currentNestingLevel;
+ $btr['parentBlockNo'] = $this->openBlocksTab[$this->currentNestingLevel-1];
+ $this->openBlocksTab[$this->currentNestingLevel] = $blockNo;
+ $this->currentNestingLevel += 1;
+ if ($this->currentNestingLevel > $this->maxNestingLevel) {
+ $this->triggerError ("Block nesting overflow in template at offset $cmdTPosBegin.");
+ return false; }
+ return true; }
+
+/**
+* Processes the $EndBlock command.
+* @return boolean true on success, false on error.
+* @access private
+*/
+function processEndBlockCmd ($parms, $cmdTPosBegin, $cmdTPosEnd) {
+ $p = 0;
+ if (!$this->parseWord($parms,$p,$blockName)) {
+ $this->triggerError ("Missing block name in \$EndBlock command in template at offset $cmdTPosBegin.");
+ return false; }
+ if (trim(substr($parms,$p)) != '') {
+ $this->triggerError ("Extra parameter in \$EndBlock command in template at offset $cmdTPosBegin.");
+ return false; }
+ if (!$this->lookupBlockName($blockName,$blockNo)) {
+ $this->triggerError ("Undefined block name \"$blockName\" in \$EndBlock command in template at offset $cmdTPosBegin.");
+ return false; }
+ $this->currentNestingLevel -= 1;
+ $btr =& $this->blockTab[$blockNo];
+ if (!$btr['definitionIsOpen']) {
+ $this->triggerError ("Multiple \$EndBlock command for block \"$blockName\" in template at offset $cmdTPosBegin.");
+ return false; }
+ if ($btr['nestingLevel'] != $this->currentNestingLevel) {
+ $this->triggerError ("Block nesting level mismatch at \$EndBlock command for block \"$blockName\" in template at offset $cmdTPosBegin.");
+ return false; }
+ $btr['tPosContentsEnd'] = $cmdTPosBegin;
+ $btr['tPosEnd'] = $cmdTPosEnd;
+ $btr['definitionIsOpen'] = false;
+ return true; }
+
+/**
+* @access private
+*/
+function registerBlock($blockName, &$blockNo) {
+ $blockNo = $this->blockTabCnt++;
+ $btr =& $this->blockTab[$blockNo];
+ $btr = array();
+ $btr['blockName'] = $blockName;
+ if (!$this->lookupBlockName($blockName,$btr['nextWithSameName']))
+ $btr['nextWithSameName'] = -1;
+ $btr['definitionIsOpen'] = true;
+ $btr['instances'] = 0;
+ $btr['firstBlockInstNo'] = -1;
+ $btr['lastBlockInstNo'] = -1;
+ $btr['blockVarCnt'] = 0;
+ $btr['firstVarRefNo'] = -1;
+ $btr['blockVarNoToVarNoMap'] = array();
+ $this->blockNameToNoMap[strtoupper($blockName)] = $blockNo; }
+
+/**
+* Checks that all block definitions are closed.
+* @return boolean true on success, false on error.
+* @access private
+*/
+function checkBlockDefinitionsComplete() {
+ for ($blockNo=0; $blockNo < $this->blockTabCnt; $blockNo++) {
+ $btr =& $this->blockTab[$blockNo];
+ if ($btr['definitionIsOpen']) {
+ $this->triggerError ("Missing \$EndBlock command in template for block " . $btr['blockName'] . ".");
+ return false; }}
+ if ($this->currentNestingLevel != 0) {
+ $this->triggerError ("Block nesting level error at end of template.");
+ return false; }
+ return true; }
+
+/**
+* Processes the $Include command.
+* @return boolean true on success, false on error.
+* @access private
+*/
+function processIncludeCmd ($parms, $cmdTPosBegin, $cmdTPosEnd) {
+ $p = 0;
+ if (!$this->parseWordOrQuotedString($parms,$p,$subtemplateName)) {
+ $this->triggerError ("Missing or invalid subtemplate name in \$Include command in template at offset $cmdTPosBegin.");
+ return false; }
+ if (trim(substr($parms,$p)) != '') {
+ $this->triggerError ("Extra parameter in \$include command in template at offset $cmdTPosBegin.");
+ return false; }
+ return $this->insertSubtemplate($subtemplateName,$cmdTPosBegin,$cmdTPosEnd); }
+
+/**
+* Processes the $Include command.
+* @return boolean true on success, false on error.
+* @access private
+*/
+function insertSubtemplate ($subtemplateName, $tPos1, $tPos2) {
+ if (strlen($this->template) > $this->maxInclTemplateSize) {
+ $this->triggerError ("Subtemplate include aborted because the internal template string is longer than $this->maxInclTemplateSize characters.");
+ return false; }
+ if (!$this->loadSubtemplate($subtemplateName,$subtemplate)) return false;
+ // (Copying the template to insert a subtemplate is a bit slow. In a future implementation of MiniTemplator,
+ // a table could be used that contains references to the string fragments.)
+ $this->template = substr($this->template,0,$tPos1) . $subtemplate . substr($this->template,$tPos2);
+ return true; }
+
+/**
+* Parses variable references within the template in the format "${VarName}".
+* @return boolean true on success, false on error.
+* @access private
+*/
+function parseTemplateVariables() {
+ $p = 0;
+ while (true) {
+ $p = strpos($this->template, '${', $p);
+ if ($p === false) break;
+ $p0 = $p;
+ $p = strpos($this->template, '}', $p);
+ if ($p === false) {
+ $this->triggerError ("Invalid variable reference in template at offset $p0.");
+ return false; }
+ $p += 1;
+ $varName = trim(substr($this->template, $p0+2, $p-$p0-3));
+ if (strlen($varName) == 0) {
+ $this->triggerError ("Empty variable name in template at offset $p0.");
+ return false; }
+ $this->registerVariableReference ($varName, $p0, $p); }
+ return true; }
+
+/**
+* @access private
+*/
+function registerVariableReference ($varName, $tPosBegin, $tPosEnd) {
+ if (!$this->lookupVariableName($varName,$varNo))
+ $this->registerVariable($varName,$varNo);
+ $varRefNo = $this->varRefTabCnt++;
+ $vrtr =& $this->varRefTab[$varRefNo];
+ $vrtr = array();
+ $vrtr['tPosBegin'] = $tPosBegin;
+ $vrtr['tPosEnd'] = $tPosEnd;
+ $vrtr['varNo'] = $varNo; }
+
+/**
+* @access private
+*/
+function registerVariable ($varName, &$varNo) {
+ $varNo = $this->varTabCnt++;
+ $vtr =& $this->varTab[$varNo];
+ $vtr = array();
+ $vtr['varName'] = $varName;
+ $vtr['varValue'] = '';
+ $this->varNameToNoMap[strtoupper($varName)] = $varNo; }
+
+/**
+* Associates variable references with blocks.
+* @access private
+*/
+function associateVariablesWithBlocks() {
+ $varRefNo = 0;
+ $activeBlockNo = 0;
+ $nextBlockNo = 1;
+ while ($varRefNo < $this->varRefTabCnt) {
+ $vrtr =& $this->varRefTab[$varRefNo];
+ $varRefTPos = $vrtr['tPosBegin'];
+ $varNo = $vrtr['varNo'];
+ if ($varRefTPos >= $this->blockTab[$activeBlockNo]['tPosEnd']) {
+ $activeBlockNo = $this->blockTab[$activeBlockNo]['parentBlockNo'];
+ continue; }
+ if ($nextBlockNo < $this->blockTabCnt) {
+ if ($varRefTPos >= $this->blockTab[$nextBlockNo]['tPosBegin']) {
+ $activeBlockNo = $nextBlockNo;
+ $nextBlockNo += 1;
+ continue; }}
+ $btr =& $this->blockTab[$activeBlockNo];
+ if ($varRefTPos < $btr['tPosBegin'])
+ $this->programLogicError(1);
+ $blockVarNo = $btr['blockVarCnt']++;
+ $btr['blockVarNoToVarNoMap'][$blockVarNo] = $varNo;
+ if ($btr['firstVarRefNo'] == -1)
+ $btr['firstVarRefNo'] = $varRefNo;
+ $vrtr['blockNo'] = $activeBlockNo;
+ $vrtr['blockVarNo'] = $blockVarNo;
+ $varRefNo += 1; }}
+
+//--- build up (template variables and blocks) ----------------------------------------------------------------------
+
+/**
+* Clears all variables and blocks.
+* This method can be used to produce another HTML page with the same
+* template. It is faster than creating another MiniTemplator object,
+* because the template does not have to be parsed again.
+* All variable values are cleared and all added block instances are deleted.
+* @access public
+*/
+function reset() {
+ for ($varNo=0; $varNo<$this->varTabCnt; $varNo++)
+ $this->varTab[$varNo]['varValue'] = '';
+ for ($blockNo=0; $blockNo<$this->blockTabCnt; $blockNo++) {
+ $btr =& $this->blockTab[$blockNo];
+ $btr['instances'] = 0;
+ $btr['firstBlockInstNo'] = -1;
+ $btr['lastBlockInstNo'] = -1; }
+ $this->blockInstTab = array();
+ $this->blockInstTabCnt = 0; }
+
+/**
+* Sets a template variable.
+* For variables that are used in blocks, the variable value
+* must be set before {@link addBlock} is called.
+* @param string $variableName the name of the variable to be set.
+* @param string $variableValue the new value of the variable.
+* @param boolean $isOptional Specifies whether an error should be
+* generated when the variable does not exist in the template. If
+* $isOptional is false and the variable does not exist, an error is
+* generated.
+* @return boolean true on success, or false on error (e.g. when no
+* variable with the specified name exists in the template and
+* $isOptional is false).
+* @access public
+*/
+function setVariable ($variableName, $variableValue, $isOptional=false) {
+ if (!$this->templateValid) {$this->triggerError ("Template not valid."); return false; }
+ if (!$this->lookupVariableName($variableName,$varNo)) {
+ if ($isOptional) return true;
+ $this->triggerError ("Variable \"$variableName\" not defined in template.");
+ return false; }
+ $this->varTab[$varNo]['varValue'] = $variableValue;
+ return true; }
+
+/**
+* Sets a template variable to an escaped string.
+* This method is identical to (@link setVariable), except that
+* the characters &lt;, &gt;, &amp;, ' and " of variableValue are
+* replaced by their corresponding HTML/XML character entity codes.
+* For variables that are used in blocks, the variable value
+* must be set before {@link addBlock} is called.
+* @param string $variableName the name of the variable to be set.
+* @param string $variableValue the new value of the variable. Special HTML/XML characters are escaped.
+* @param boolean $isOptional Specifies whether an error should be
+* generated when the variable does not exist in the template. If
+* $isOptional is false and the variable does not exist, an error is
+* generated.
+* @return boolean true on success, or false on error (e.g. when no
+* variable with the specified name exists in the template and
+* $isOptional is false).
+* @access public
+*/
+function setVariableEsc ($variableName, $variableValue, $isOptional=false) {
+ return $this->setVariable($variableName,htmlspecialchars($variableValue,ENT_QUOTES),$isOptional); }
+
+/**
+* Checks whether a variable with the specified name exists within the template.
+* @param string $variableName the name of the variable.
+* @return boolean true if the variable exists, or false when no
+* variable with the specified name exists in the template.
+* @access public
+*/
+function variableExists ($variableName) {
+ if (!$this->templateValid) {$this->triggerError ("Template not valid."); return false; }
+ return $this->lookupVariableName($variableName,$varNo); }
+
+/**
+* Adds an instance of a template block.
+* If the block contains variables, these variables must be set
+* before the block is added.
+* If the block contains subblocks (nested blocks), the subblocks
+* must be added before this block is added.
+* If multiple blocks exist with the specified name, an instance
+* is added for each block occurence.
+* @param string blockName the name of the block to be added.
+* @return boolean true on success, false on error (e.g. when no
+* block with the specified name exists in the template).
+* @access public
+*/
+function addBlock($blockName) {
+ if (!$this->templateValid) {$this->triggerError ("Template not valid."); return false; }
+ if (!$this->lookupBlockName($blockName,$blockNo)) {
+ $this->triggerError ("Block \"$blockName\" not defined in template.");
+ return false; }
+ while ($blockNo != -1) {
+ $this->addBlockByNo($blockNo);
+ $blockNo = $this->blockTab[$blockNo]['nextWithSameName']; }
+ return true; }
+
+/**
+* @access private
+*/
+function addBlockByNo ($blockNo) {
+ $btr =& $this->blockTab[$blockNo];
+ $this->registerBlockInstance ($blockInstNo);
+ $bitr =& $this->blockInstTab[$blockInstNo];
+ if ($btr['firstBlockInstNo'] == -1)
+ $btr['firstBlockInstNo'] = $blockInstNo;
+ if ($btr['lastBlockInstNo'] != -1)
+ $this->blockInstTab[$btr['lastBlockInstNo']]['nextBlockInstNo'] = $blockInstNo;
+ // set forward pointer of chain
+ $btr['lastBlockInstNo'] = $blockInstNo;
+ $parentBlockNo = $btr['parentBlockNo'];
+ $blockVarCnt = $btr['blockVarCnt'];
+ $bitr['blockNo'] = $blockNo;
+ $bitr['instanceLevel'] = $btr['instances']++;
+ if ($parentBlockNo == -1)
+ $bitr['parentInstLevel'] = -1;
+ else
+ $bitr['parentInstLevel'] = $this->blockTab[$parentBlockNo]['instances'];
+ $bitr['nextBlockInstNo'] = -1;
+ $bitr['blockVarTab'] = array();
+ // copy instance variables for this block
+ for ($blockVarNo=0; $blockVarNo<$blockVarCnt; $blockVarNo++) {
+ $varNo = $btr['blockVarNoToVarNoMap'][$blockVarNo];
+ $bitr['blockVarTab'][$blockVarNo] = $this->varTab[$varNo]['varValue']; }}
+
+/**
+* @access private
+*/
+function registerBlockInstance (&$blockInstNo) {
+ $blockInstNo = $this->blockInstTabCnt++; }
+
+/**
+* Checks whether a block with the specified name exists within the template.
+* @param string $blockName the name of the block.
+* @return boolean true if the block exists, or false when no
+* block with the specified name exists in the template.
+* @access public
+*/
+function blockExists ($blockName) {
+ if (!$this->templateValid) {$this->triggerError ("Template not valid."); return false; }
+ return $this->lookupBlockName($blockName,$blockNo); }
+
+//--- output generation ---------------------------------------------------------------------------------------------
+
+/**
+* Generates the HTML page and writes it to the PHP output stream.
+* @return boolean true on success, false on error.
+* @access public
+*/
+function generateOutput () {
+ $this->outputMode = 0;
+ if (!$this->generateOutputPage()) return false;
+ return true; }
+
+/**
+* Generates the HTML page and writes it to a file.
+* @param string $fileName name of the output file.
+* @return boolean true on success, false on error.
+* @access public
+*/
+function generateOutputToFile ($fileName) {
+ $fh = fopen($fileName,"wb");
+ if ($fh === false) return false;
+ $this->outputMode = 1;
+ $this->outputFileHandle = $fh;
+ $ok = $this->generateOutputPage();
+ fclose ($fh);
+ return $ok; }
+
+/**
+* Generates the HTML page and writes it to a string.
+* @param string $outputString variable that receives
+* the contents of the generated HTML page.
+* @return boolean true on success, false on error.
+* @access public
+*/
+function generateOutputToString (&$outputString) {
+ $outputString = "Error";
+ $this->outputMode = 2;
+ $this->outputString = "";
+ if (!$this->generateOutputPage()) return false;
+ $outputString = $this->outputString;
+ return true; }
+
+/**
+* @access private
+* @return boolean true on success, false on error.
+*/
+function generateOutputPage() {
+ if (!$this->templateValid) {$this->triggerError ("Template not valid."); return false; }
+ if ($this->blockTab[0]['instances'] == 0)
+ $this->addBlockByNo (0); // add main block
+ for ($blockNo=0; $blockNo < $this->blockTabCnt; $blockNo++) {
+ $btr =& $this->blockTab[$blockNo];
+ $btr['currBlockInstNo'] = $btr['firstBlockInstNo']; }
+ $this->outputError = false;
+ $this->writeBlockInstances (0, -1);
+ if ($this->outputError) return false;
+ return true; }
+
+/**
+* Writes all instances of a block that are contained within a specific
+* parent block instance.
+* Called recursively.
+* @access private
+*/
+function writeBlockInstances ($blockNo, $parentInstLevel) {
+ $btr =& $this->blockTab[$blockNo];
+ while (!$this->outputError) {
+ $blockInstNo = $btr['currBlockInstNo'];
+ if ($blockInstNo == -1) break;
+ $bitr =& $this->blockInstTab[$blockInstNo];
+ if ($bitr['parentInstLevel'] < $parentInstLevel)
+ $this->programLogicError (2);
+ if ($bitr['parentInstLevel'] > $parentInstLevel) break;
+ $this->writeBlockInstance ($blockInstNo);
+ $btr['currBlockInstNo'] = $bitr['nextBlockInstNo']; }}
+
+/**
+* @access private
+*/
+function writeBlockInstance($blockInstNo) {
+ $bitr =& $this->blockInstTab[$blockInstNo];
+ $blockNo = $bitr['blockNo'];
+ $btr =& $this->blockTab[$blockNo];
+ $tPos = $btr['tPosContentsBegin'];
+ $subBlockNo = $blockNo + 1;
+ $varRefNo = $btr['firstVarRefNo'];
+ while (!$this->outputError) {
+ $tPos2 = $btr['tPosContentsEnd'];
+ $kind = 0; // assume end-of-block
+ if ($varRefNo != -1 && $varRefNo < $this->varRefTabCnt) { // check for variable reference
+ $vrtr =& $this->varRefTab[$varRefNo];
+ if ($vrtr['tPosBegin'] < $tPos) {
+ $varRefNo += 1;
+ continue; }
+ if ($vrtr['tPosBegin'] < $tPos2) {
+ $tPos2 = $vrtr['tPosBegin'];
+ $kind = 1; }}
+ if ($subBlockNo < $this->blockTabCnt) { // check for subblock
+ $subBtr =& $this->blockTab[$subBlockNo];
+ if ($subBtr['tPosBegin'] < $tPos) {
+ $subBlockNo += 1;
+ continue; }
+ if ($subBtr['tPosBegin'] < $tPos2) {
+ $tPos2 = $subBtr['tPosBegin'];
+ $kind = 2; }}
+ if ($tPos2 > $tPos)
+ $this->writeString (substr($this->template,$tPos,$tPos2-$tPos));
+ switch ($kind) {
+ case 0: // end of block
+ return;
+ case 1: // variable
+ $vrtr =& $this->varRefTab[$varRefNo];
+ if ($vrtr['blockNo'] != $blockNo)
+ $this->programLogicError (4);
+ $variableValue = $bitr['blockVarTab'][$vrtr['blockVarNo']];
+ $this->writeString ($variableValue);
+ $tPos = $vrtr['tPosEnd'];
+ $varRefNo += 1;
+ break;
+ case 2: // sub block
+ $subBtr =& $this->blockTab[$subBlockNo];
+ if ($subBtr['parentBlockNo'] != $blockNo)
+ $this->programLogicError (3);
+ $this->writeBlockInstances ($subBlockNo, $bitr['instanceLevel']); // recursive call
+ $tPos = $subBtr['tPosEnd'];
+ $subBlockNo += 1;
+ break; }}}
+
+/**
+* @access private
+*/
+function writeString ($s) {
+ if ($this->outputError) return;
+ switch ($this->outputMode) {
+ case 0: // output to PHP output stream
+ print $s;
+ break;
+ case 1: // output to file
+ $rc = fwrite($this->outputFileHandle, $s);
+ if ($rc === false) $this->outputError = true;
+ break;
+ case 2: // output to string
+ $this->outputString .= $s;
+ break; }}
+
+//--- name lookup routines ------------------------------------------------------------------------------------------
+
+/**
+* Maps variable name to variable number.
+* @return boolean true on success, false if the variable is not found.
+* @access private
+*/
+function lookupVariableName ($varName, &$varNo) {
+ $x =& $this->varNameToNoMap[strtoupper($varName)];
+ if (!isset($x)) return false;
+ $varNo = $x;
+ return true; }
+
+/**
+* Maps block name to block number.
+* If there are multiple blocks with the same name, the block number of the last
+* registered block with that name is returned.
+* @return boolean true on success, false when the block is not found.
+* @access private
+*/
+function lookupBlockName ($blockName, &$blockNo) {
+ $x =& $this->blockNameToNoMap[strtoupper($blockName)];
+ if (!isset($x)) return false;
+ $blockNo = $x;
+ return true; }
+
+//--- general utility routines -----------------------------------------------------------------------------------------
+
+/**
+* Reads a file into a string.
+* @return boolean true on success, false on error.
+* @access private
+*/
+function readFileIntoString ($fileName, &$s) {
+ if (function_exists('version_compare') && version_compare(phpversion(),"4.3.0",">=")) {
+ $s = file_get_contents($fileName);
+ if ($s === false) return false;
+ return true; }
+ $fh = fopen($fileName,"rb");
+ if ($fh === false) return false;
+ $fileSize = filesize($fileName);
+ if ($fileSize === false) {fclose ($fh); return false; }
+ $s = fread($fh,$fileSize);
+ fclose ($fh);
+ if (strlen($s) != $fileSize) return false;
+ return true; }
+
+/**
+* @access private
+* @return boolean true on success, false when the end of the string is reached.
+*/
+function parseWord ($s, &$p, &$w) {
+ $sLen = strlen($s);
+ while ($p < $sLen && ord($s[$p]) <= 32) $p++;
+ if ($p >= $sLen) return false;
+ $p0 = $p;
+ while ($p < $sLen && ord($s[$p]) > 32) $p++;
+ $w = substr($s, $p0, $p - $p0);
+ return true; }
+
+/**
+* @access private
+* @return boolean true on success, false on error.
+*/
+function parseQuotedString ($s, &$p, &$w) {
+ $sLen = strlen($s);
+ while ($p < $sLen && ord($s[$p]) <= 32) $p++;
+ if ($p >= $sLen) return false;
+ if (substr($s,$p,1) != '"') return false;
+ $p++; $p0 = $p;
+ while ($p < $sLen && $s[$p] != '"') $p++;
+ if ($p >= $sLen) return false;
+ $w = substr($s, $p0, $p - $p0);
+ $p++;
+ return true; }
+
+/**
+* @access private
+* @return boolean true on success, false on error.
+*/
+function parseWordOrQuotedString ($s, &$p, &$w) {
+ $sLen = strlen($s);
+ while ($p < $sLen && ord($s[$p]) <= 32) $p++;
+ if ($p >= $sLen) return false;
+ if (substr($s,$p,1) == '"')
+ return $this->parseQuotedString($s,$p,$w);
+ else
+ return $this->parseWord($s,$p,$w); }
+
+/**
+* Combine two file system paths.
+* @access private
+*/
+function combineFileSystemPath ($path1, $path2) {
+ if ($path1 == '' || $path2 == '') return $path2;
+ $s = $path1;
+ if (substr($s,-1) != '\\' && substr($s,-1) != '/') $s = $s . "/";
+ if (substr($path2,0,1) == '\\' || substr($path2,0,1) == '/')
+ $s = $s . substr($path2,1);
+ else
+ $s = $s . $path2;
+ return $s; }
+
+/**
+* @access private
+*/
+function triggerError ($msg) {
+ trigger_error ("MiniTemplator error: $msg", E_USER_ERROR); }
+
+/**
+* @access private
+*/
+function programLogicError ($errorId) {
+ die ("MiniTemplator: Program logic error $errorId.\n"); }
+
+}
+?>
diff --git a/plugins/af_comics/filters/af_comics_gocomics.php b/plugins/af_comics/filters/af_comics_gocomics.php
index 791dc07d3..2cb49b9bc 100644
--- a/plugins/af_comics/filters/af_comics_gocomics.php
+++ b/plugins/af_comics/filters/af_comics_gocomics.php
@@ -31,13 +31,11 @@ class Af_Comics_Gocomics extends Af_ComicFilter {
$body = fetch_file_contents(array('url' => $article_link, 'type' => 'text/html', 'followlocation' => false));
- require_once 'lib/MiniTemplator.class.php';
-
$feed_title = htmlspecialchars($comic[1]);
$site_url = htmlspecialchars($site_url);
$article_link = htmlspecialchars($article_link);
- $tpl = new MiniTemplator();
+ $tpl = new Templator();
$tpl->readTemplateFromFile('templates/generated_feed.txt');
diff --git a/plugins/af_comics/filters/af_comics_gocomics_farside.php b/plugins/af_comics/filters/af_comics_gocomics_farside.php
index 783907e17..71c5e0059 100644
--- a/plugins/af_comics/filters/af_comics_gocomics_farside.php
+++ b/plugins/af_comics/filters/af_comics_gocomics_farside.php
@@ -25,11 +25,10 @@ class Af_Comics_Gocomics_FarSide extends Af_ComicFilter {
public function on_fetch($url) {
if (preg_match("#^https?://www\.thefarside\.com#", $url)) {
- require_once 'lib/MiniTemplator.class.php';
$article_link = htmlspecialchars("https://www.thefarside.com" . date('/Y/m/d'));
- $tpl = new MiniTemplator();
+ $tpl = new Templator();
$tpl->readTemplateFromFile('templates/generated_feed.txt');
diff --git a/plugins/af_readability/init.js b/plugins/af_readability/init.js
index 644dff9fe..3155475cc 100644
--- a/plugins/af_readability/init.js
+++ b/plugins/af_readability/init.js
@@ -9,7 +9,7 @@ Plugins.Af_Readability = {
content.innerHTML = content.getAttribute(self.orig_attr_name);
content.removeAttribute(self.orig_attr_name);
- if (App.isCombinedMode()) Article.cdmScrollToId(id);
+ if (App.isCombinedMode()) Article.cdmMoveToId(id);
return;
}
@@ -23,7 +23,7 @@ Plugins.Af_Readability = {
content.innerHTML = reply.content;
Notify.close();
- if (App.isCombinedMode()) Article.cdmScrollToId(id);
+ if (App.isCombinedMode()) Article.cdmMoveToId(id);
} else {
Notify.error("Unable to fetch full text for this article");
diff --git a/plugins/auth_internal/init.php b/plugins/auth_internal/init.php
index 8dbc37fb3..ad32d29b9 100644
--- a/plugins/auth_internal/init.php
+++ b/plugins/auth_internal/init.php
@@ -235,11 +235,9 @@ class Auth_Internal extends Plugin implements IAuthModule {
if ($row = $sth->fetch()) {
$mailer = new Mailer();
- require_once "lib/MiniTemplator.class.php";
+ $tpl = new Templator();
- $tpl = new MiniTemplator;
-
- $tpl->readTemplateFromFile("templates/password_change_template.txt");
+ $tpl->readTemplateFromFile("password_change_template.txt");
$tpl->setVariable('LOGIN', $row["login"]);
$tpl->setVariable('TTRSS_HOST', SELF_URL_PATH);
diff --git a/plugins/hotkeys_force_top/init.js b/plugins/hotkeys_force_top/init.js
new file mode 100644
index 000000000..8d6280fc9
--- /dev/null
+++ b/plugins/hotkeys_force_top/init.js
@@ -0,0 +1,6 @@
+require(['dojo/_base/kernel', 'dojo/ready'], function (dojo, ready) {
+ ready(function () {
+ Headlines.default_force_to_top = true;
+ });
+});
+
diff --git a/plugins/hotkeys_force_top/init.php b/plugins/hotkeys_force_top/init.php
new file mode 100644
index 000000000..faddc9148
--- /dev/null
+++ b/plugins/hotkeys_force_top/init.php
@@ -0,0 +1,24 @@
+<?php
+class Hotkeys_Force_Top extends Plugin {
+ private $host;
+
+ function about() {
+ return array(1.0,
+ "Force open article to the top",
+ "itsamenathan");
+ }
+
+ function init($host) {
+ $this->host = $host;
+
+ }
+
+ function get_js() {
+ return file_get_contents(__DIR__ . "/init.js");
+ }
+
+ function api_version() {
+ return 2;
+ }
+
+}
diff --git a/plugins/hotkeys_noscroll/init.php b/plugins/hotkeys_noscroll/init.php
index 2038997f5..b31ee92ae 100644
--- a/plugins/hotkeys_noscroll/init.php
+++ b/plugins/hotkeys_noscroll/init.php
@@ -4,7 +4,7 @@ class Hotkeys_Noscroll extends Plugin {
function about() {
return array(1.0,
- "n/p hotkeys move between articles without scrolling",
+ "n/p (and up/down) hotkeys move between articles without scrolling",
"fox");
}
diff --git a/plugins/swap_jk/init.php b/plugins/hotkeys_swap_jk/init.php
index d85149ef3..b1e3dbe04 100644
--- a/plugins/swap_jk/init.php
+++ b/plugins/hotkeys_swap_jk/init.php
@@ -1,5 +1,5 @@
<?php
-class Swap_JK extends Plugin {
+class Hotkeys_Swap_JK extends Plugin {
private $host;
@@ -27,4 +27,4 @@ class Swap_JK extends Plugin {
return 2;
}
-} \ No newline at end of file
+}
diff --git a/plugins/mail/init.php b/plugins/mail/init.php
index e85053566..40d147fc9 100644
--- a/plugins/mail/init.php
+++ b/plugins/mail/init.php
@@ -92,18 +92,20 @@ class Mail extends Plugin {
if ($row = $sth->fetch()) {
$user_email = htmlspecialchars($row['email']);
$user_name = htmlspecialchars($row['full_name']);
+ } else {
+ $user_name = "";
+ $user_email = "";
}
- if (!$user_name) $user_name = $_SESSION['name'];
+ if (!$user_name)
+ $user_name = $_SESSION['name'];
print_hidden("from_email", "$user_email");
print_hidden("from_name", "$user_name");
- require_once "lib/MiniTemplator.class.php";
-
- $tpl = new MiniTemplator;
+ $tpl = new Templator();
- $tpl->readTemplateFromFile("templates/email_article_template.txt");
+ $tpl->readTemplateFromFile("email_article_template.txt");
$tpl->setVariable('USER_NAME', $_SESSION["name"], true);
$tpl->setVariable('USER_EMAIL', $user_email, true);
@@ -116,6 +118,8 @@ class Mail extends Plugin {
if (count($ids) > 1) {
$subject = __("[Forwarded]") . " " . __("Multiple articles");
+ } else {
+ $subject = "";
}
while ($line = $sth->fetch()) {
diff --git a/plugins/mailto/init.php b/plugins/mailto/init.php
index 421d5fd59..390984b71 100644
--- a/plugins/mailto/init.php
+++ b/plugins/mailto/init.php
@@ -29,11 +29,9 @@ class MailTo extends Plugin {
$ids = explode(",", $_REQUEST['param']);
$ids_qmarks = arr_qmarks($ids);
- require_once "lib/MiniTemplator.class.php";
+ $tpl = new Templator();
- $tpl = new MiniTemplator;
-
- $tpl->readTemplateFromFile("templates/email_article_template.txt");
+ $tpl->readTemplateFromFile("email_article_template.txt");
$tpl->setVariable('USER_NAME', $_SESSION["name"], true);
//$tpl->setVariable('USER_EMAIL', $user_email, true);
diff --git a/plugins/shorten_expanded/init.js b/plugins/shorten_expanded/init.js
index 6371bd1c6..587fcea42 100644
--- a/plugins/shorten_expanded/init.js
+++ b/plugins/shorten_expanded/init.js
@@ -42,8 +42,6 @@ require(['dojo/_base/kernel', 'dojo/ready'], function (dojo, ready) {
${__("Click to expand article")}</button>`;
dojo.parser.parse(c_inner);
-
- Headlines.unpackVisible();
}
}
}, 150);
diff --git a/prefs.php b/prefs.php
index 22921b23f..12976ad8f 100644
--- a/prefs.php
+++ b/prefs.php
@@ -31,7 +31,7 @@
<title>Tiny Tiny RSS : <?php echo __("Preferences") ?></title>
<meta name="viewport" content="initial-scale=1,width=device-width" />
- <?php if ($_SESSION["uid"]) {
+ <?php if ($_SESSION["uid"] && !isset($_REQUEST["ignore-theme"])) {
$theme = get_pref("USER_CSS_THEME", false, false);
if ($theme && theme_exists("$theme")) {
echo stylesheet_tag(get_theme_path($theme), 'theme_css');
diff --git a/templates.local/index.html b/templates.local/index.html
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/templates.local/index.html
diff --git a/templates/generated_feed.txt b/templates/generated_feed.txt
index 5e35f9be1..617162652 100644
--- a/templates/generated_feed.txt
+++ b/templates/generated_feed.txt
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
-<?xml-stylesheet type="text/xsl" href="atom-to-html.xsl"?>
<!-- $BeginBlock feed -->
<feed xmlns="http://www.w3.org/2005/Atom">
<title>${FEED_TITLE}</title>
diff --git a/themes/compact.css b/themes/compact.css
index 00d6e22c6..2d4d878e6 100644
--- a/themes/compact.css
+++ b/themes/compact.css
@@ -70,12 +70,19 @@ body.ttrss_main div.post div.content video {
max-width: 98%;
height: auto;
}
-body.ttrss_main div.post div.content p {
- hyphens: auto;
+body.ttrss_main div.post div.content div.embed-responsive {
+ overflow: hidden;
+ padding-bottom: 56.25%;
+ position: relative;
}
-body.ttrss_main div.post div.content iframe {
- min-width: 50%;
- max-width: 98%;
+body.ttrss_main div.post div.content div.embed-responsive iframe {
+ border: 0;
+ bottom: 0;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
}
body.ttrss_main .inline-player {
display: flex;
@@ -661,13 +668,6 @@ body.ttrss_main #headlines-frame div.feed-title a {
body.ttrss_main #headlines-frame div.feed-title a:hover {
color: #257aa7;
}
-body.ttrss_main #headlines-frame.smooth-scroll {
- scroll-behavior: smooth;
-}
-body.ttrss_main #headlines-frame.forbid-smooth-scroll,
-body.ttrss_main #content-insert.forbid-smooth-scroll {
- scroll-behavior: auto;
-}
body.ttrss_main #toolbar-frame_splitter {
display: none;
}
@@ -754,7 +754,6 @@ body.ttrss_main #content-insert {
line-height: 1.5;
overflow: auto;
-webkit-overflow-scrolling: touch;
- scroll-behavior: smooth;
}
body.ttrss_main img.feed-icon,
body.ttrss_main img.icon {
@@ -865,6 +864,22 @@ body.ttrss_main #feedEditDlg img.feedIcon {
height: auto;
width: auto;
}
+body.ttrss_main .dijitTooltipContents {
+ background: #1c5c7d;
+ color: #f5f5f5;
+}
+body.ttrss_main .dijitTooltipRight .dijitTooltipConnector {
+ border-right-color: #1c5c7d;
+}
+body.ttrss_main .dijitTooltipLeft .dijitTooltipConnector {
+ border-left-color: #1c5c7d;
+}
+body.ttrss_main .dijitTooltipBelow .dijitTooltipConnector {
+ border-bottom-color: #1c5c7d;
+}
+body.ttrss_main .dijitTooltipAbove .dijitTooltipConnector {
+ border-top-color: #1c5c7d;
+}
body.ttrss_main .dijitDialog h1:first-of-type,
body.ttrss_main .dijitDialog h2:first-of-type,
body.ttrss_main .dijitDialog h3:first-of-type,
@@ -877,10 +892,10 @@ body.ttrss_main[view-mode="marked"] #feeds-holder #feedTree .dijitTreeRow.Has_Ma
body.ttrss_main[view-mode="marked"] #feeds-holder #feedTree .dijitTreeRow.Has_Marked .counterNode.marked {
display: inline-block;
}
-body.ttrss_main[view-mode="marked"][hide-read-feeds="true"][hide-read-shows-special="true"] #feeds-holder #feedTree .dijitTreeRow:not(.dijitTreeRowSelected):not(.AlwaysVisible):not(.Special):not(.Has_Marked) {
+body.ttrss_main[view-mode="marked"][hide-read-feeds="true"][hide-read-shows-special="true"] #feeds-holder #feedTree .dijitTreeRow:not(.AlwaysVisible):not(.Special):not(.Has_Marked) {
display: none;
}
-body.ttrss_main[view-mode="marked"][hide-read-feeds="true"][hide-read-shows-special="false"] #feeds-holder #feedTree .dijitTreeRow:not(.dijitTreeRowSelected):not(.AlwaysVisible):not(.Has_Marked) {
+body.ttrss_main[view-mode="marked"][hide-read-feeds="true"][hide-read-shows-special="false"] #feeds-holder #feedTree .dijitTreeRow:not(.AlwaysVisible):not(.Has_Marked) {
display: none;
}
body.ttrss_main:not([view-mode="marked"]) #feeds-holder #feedTree .dijitTreeRow.Unread .counterNode.unread {
@@ -889,10 +904,10 @@ body.ttrss_main:not([view-mode="marked"]) #feeds-holder #feedTree .dijitTreeRow.
body.ttrss_main:not([view-mode="marked"]) #feeds-holder #feedTree .dijitTreeRow.Has_Aux:not(.Unread) .counterNode.aux {
display: inline-block;
}
-body.ttrss_main:not([view-mode="marked"])[hide-read-feeds="true"][hide-read-shows-special="true"] #feeds-holder #feedTree .dijitTreeRow:not(.dijitTreeRowSelected):not(.Unread):not(.AlwaysVisible):not(.Special) {
+body.ttrss_main:not([view-mode="marked"])[hide-read-feeds="true"][hide-read-shows-special="true"] #feeds-holder #feedTree .dijitTreeRow:not(.Unread):not(.AlwaysVisible):not(.Special) {
display: none;
}
-body.ttrss_main:not([view-mode="marked"])[hide-read-feeds="true"][hide-read-shows-special="false"] #feeds-holder #feedTree .dijitTreeRow:not(.dijitTreeRowSelected):not(.Unread):not(.AlwaysVisible) {
+body.ttrss_main:not([view-mode="marked"])[hide-read-feeds="true"][hide-read-shows-special="false"] #feeds-holder #feedTree .dijitTreeRow:not(.Unread):not(.AlwaysVisible) {
display: none;
}
body.ttrss_main #toolbar-headlines i.icon-syndicate {
@@ -917,12 +932,10 @@ body.ttrss_main i.icon-no-feed {
body.ttrss_main .dijitTreeRow.UpdatesDisabled .dijitTreeLabel {
opacity: 0.5;
}
-body.ttrss_main #floatingTitle.marked i.marked-pic,
body.ttrss_main .cdm.marked .left i.marked-pic,
body.ttrss_main .hl.marked .left i.marked-pic {
color: #ffc069;
}
-body.ttrss_main #floatingTitle.published i.pub-pic,
body.ttrss_main .cdm.published .left i.pub-pic,
body.ttrss_main .hl.published .left i.pub-pic {
color: #ff7c4b;
@@ -1116,6 +1129,11 @@ video::-webkit-media-controls-overlay-play-button {
.cdm i.material-icons {
color: #777;
}
+.cdm .header {
+ position: sticky;
+ top: 0;
+ z-index: 3;
+}
.cdm .header,
.cdm .footer {
display: flex;
@@ -1128,6 +1146,9 @@ video::-webkit-media-controls-overlay-play-button {
margin: 0px 4px;
vertical-align: middle;
}
+.cdm .header-sticky-guard {
+ height: 0;
+}
.cdm .header {
align-items: center;
}
@@ -1207,9 +1228,6 @@ video::-webkit-media-controls-overlay-play-button {
margin-top: 0px;
margin-bottom: 0px;
}
-div.cdm.expanded div.header {
- background: transparent ! important;
-}
div.cdm.expanded div.header a.title {
font-size: 16px;
color: #999;
@@ -1267,15 +1285,19 @@ div.cdm.vgrlf .feed {
font-style: italic;
font-size: 11px;
}
-.cdm div.content-inner p {
- /*max-width : 650px;*/
- -webkit-hyphens: auto;
- -moz-hyphens: auto;
- hyphens: auto;
+.cdm div.content-inner div.embed-responsive {
+ overflow: hidden;
+ padding-bottom: 56.25%;
+ position: relative;
}
-.cdm div.content-inner iframe {
- min-width: 50%;
- max-width: 98%;
+.cdm div.content-inner div.embed-responsive iframe {
+ border: 0;
+ bottom: 0;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
}
.cdm div.header span.author {
white-space: nowrap;
@@ -1288,115 +1310,6 @@ div.cdm.vgrlf .feed {
display: inline-block;
padding: 1px 4px 1px 4px;
}
-#main:not(.expandable) div#floatingTitle .collapse {
- display: none;
-}
-div#floatingTitle {
- position: absolute;
- z-index: 5;
- top: 0px;
- right: 0px;
- left: 0px;
- border: 0px solid #ddd;
- border-bottom-width: 1px;
- background: white;
- color: #555;
- display: flex;
- flex-direction: row;
- flex-wrap: nowrap;
- box-shadow: 0px 1px 1px -1px rgba(0, 0, 0, 0.1);
- align-items: center;
-}
-div#floatingTitle > * {
- white-space: nowrap;
- padding: 4px;
-}
-div#floatingTitle .left,
-div#floatingTitle .right {
- display: flex;
- align-items: center;
-}
-div#floatingTitle .left i.material-icons,
-div#floatingTitle .right i.material-icons {
- margin-left: 2px;
- font-size: 21px;
- padding: 2px;
- user-select: none;
-}
-div#floatingTitle .left i.icon-anchor,
-div#floatingTitle .right i.icon-anchor {
- margin-left: 0px;
- margin-right: 1px;
- padding: 0px;
- color: #ccc;
- cursor: pointer;
-}
-div#floatingTitle .excerpt {
- display: none;
-}
-div#floatingTitle .collapse i.material-icons {
- color: #257aa7;
- cursor: pointer;
-}
-div#floatingTitle span.author {
- color: #555;
- font-size: 11px;
- font-weight: normal;
-}
-div#floatingTitle a.title {
- font-size: 16px;
- color: #999;
- transition: color 0.2s, background 0.2s;
- font-weight: 600;
- text-rendering: optimizelegibility;
- font-family: "Segoe WP Semibold", "Segoe UI Semibold", "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif;
-}
-div#floatingTitle div.feed {
- padding-right: 10px;
- color: #555;
- font-weight: normal;
- font-style: italic;
- font-size: 11px;
- white-space: nowrap;
-}
-div#floatingTitle div.feed a {
- border-radius: 4px;
- display: inline-block;
- padding: 1px 4px 1px 4px;
-}
-div#floatingTitle span.updated {
- padding-right: 10px;
- white-space: nowrap;
- color: #555;
- font-size: 11px;
-}
-div#floatingTitle div.feed a {
- color: #555;
-}
-div#floatingTitle span.titleWrap {
- width: 100%;
- white-space: normal;
-}
-div#floatingTitle .feed-title > * {
- display: table-cell;
- vertical-align: middle;
-}
-div#floatingTitle .feed-title a.title {
- width: 100%;
-}
-div#floatingTitle .feed-title a.catchup {
- text-align: right;
- color: #555;
- padding-right: 10px;
- font-size: 11px;
- white-space: nowrap;
-}
-div#floatingTitle .feed-title a.catchup:hover {
- color: #257aa7;
-}
-div#floatingTitle.Unread a.title {
- color: black;
-}
.cdm.expandable {
background-color: #f5f5f5;
border: 0px solid #ddd;
@@ -1469,6 +1382,15 @@ div.cdm.expandable:not(.active) .content,
div.cdm.expandable:not(.active) .collapse {
display: none;
}
+div.cdm.expandable.active .header[stuck],
+div.cdm.expanded .header[stuck] {
+ box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.1);
+ border: 0 solid #ddd;
+ border-bottom-width: 1px;
+ background: white ! important;
+ opacity: 0.9;
+ backdrop-filter: blur(6px);
+}
body.ttrss_prefs {
background-color: #f5f5f5;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
@@ -1594,12 +1516,12 @@ body.ttrss_prefs .phpinfo td.v {
font-family: monospace;
word-break: break-all;
}
-body.ttrss_prefs #filterNewRuleDlg .invalid,
-body.ttrss_main #filterNewRuleDlg .invalid {
+body.ttrss_prefs #filterNewRuleDlg .dijitValidationTextAreaError,
+body.ttrss_main #filterNewRuleDlg .dijitValidationTextAreaError {
background: #ffc0c0;
}
-body.ttrss_prefs #filterNewRuleDlg .valid,
-body.ttrss_main #filterNewRuleDlg .valid {
+body.ttrss_prefs #filterNewRuleDlg .dijitValidationTextArea:not(.dijitValidationTextAreaError),
+body.ttrss_main #filterNewRuleDlg .dijitValidationTextArea:not(.dijitValidationTextAreaError) {
background: #c0ffc0;
}
body.ttrss_prefs fieldset,
@@ -1906,11 +1828,6 @@ body.ttrss_zoom div.post div.header .row {
align-items: center;
justify-content: space-between;
}
-body.ttrss_zoom div.post p {
- -webkit-hyphens: auto;
- -moz-hyphens: auto;
- hyphens: auto;
-}
body.ttrss_zoom div.post div.content {
font-size: 15px;
line-height: 1.5;
@@ -1962,7 +1879,6 @@ body.ttrss_main.ttrss_index.flat div[id*=RROW] i.material-icons {
}
body.ttrss_main.ttrss_index.flat .hl,
body.ttrss_main.ttrss_index.flat .post .header .title,
-body.ttrss_main.ttrss_index.flat #floatingTitle a.title,
body.ttrss_main.ttrss_index.flat .cdm .title {
font-size: 13px ! important;
}
diff --git a/themes/compact.css.map b/themes/compact.css.map
index 717d60fbf..c249b8e83 100644
--- a/themes/compact.css.map
+++ b/themes/compact.css.map
@@ -1 +1 @@
-{"version":3,"sources":["C:/Users/fox/Projects/tt-rss/css/default.less","C:/Users/fox/Projects/tt-rss/css/defines.less","C:/Users/fox/Projects/tt-rss/css/tt-rss.less","C:/Users/fox/Projects/tt-rss/css/cdm.less","C:/Users/fox/Projects/tt-rss/css/prefs.less","C:/Users/fox/Projects/tt-rss/css/utility.less","C:/Users/fox/Projects/tt-rss/css/dijit_basic.less","C:/Users/fox/Projects/tt-rss/css/dijit_light.less","C:/Users/fox/Projects/tt-rss/css/zoom.less","compact.less"],"names":[],"mappings":"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","file":"compact.css"} \ No newline at end of file
+{"version":3,"sources":["light/light_base.less","light/defines.less","light/tt-rss.less","light/cdm.less","light/prefs.less","light/utility.less","light/dijit_basic.less","light/dijit_light.less","light/zoom.less","compact_base.less"],"names":[],"mappings":"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","file":"compact.css"} \ No newline at end of file
diff --git a/themes/compact.less b/themes/compact.less
index 3da095c54..2159d46a6 100644
--- a/themes/compact.less
+++ b/themes/compact.less
@@ -1,33 +1,2 @@
-@import "../css/default.less";
-
-/* rules specific to compact.css */
-
-body.ttrss_main.ttrss_index.flat {
-
- #feedTree.dijitTree .dijitTreeLabel {
- font-size : 13px ! important;
- }
-
- .dijitMenu .dijitMenuItemLabel,
- .content-inner,
- #content-insert,
- .cdm .content,
- .post .content {
- font-size : 12px ! important;
- }
-
- div[id*=RROW] {
- i.material-icons {
- font-size: 18px;
- }
- }
-
- .hl,
- .post .header .title,
- #floatingTitle a.title,
- .cdm .title {
- font-size : 13px ! important;
- }
-
-
-}
+@import "light/light_base.less";
+@import "compact_base.less";
diff --git a/themes/compact_base.less b/themes/compact_base.less
new file mode 100644
index 000000000..b3b48802b
--- /dev/null
+++ b/themes/compact_base.less
@@ -0,0 +1,30 @@
+/* rules specific to compact.css */
+
+body.ttrss_main.ttrss_index.flat {
+
+ #feedTree.dijitTree .dijitTreeLabel {
+ font-size : 13px ! important;
+ }
+
+ .dijitMenu .dijitMenuItemLabel,
+ .content-inner,
+ #content-insert,
+ .cdm .content,
+ .post .content {
+ font-size : 12px ! important;
+ }
+
+ div[id*=RROW] {
+ i.material-icons {
+ font-size: 18px;
+ }
+ }
+
+ .hl,
+ .post .header .title,
+ .cdm .title {
+ font-size : 13px ! important;
+ }
+
+
+}
diff --git a/themes/compact_night.css b/themes/compact_night.css
new file mode 100644
index 000000000..1f05335db
--- /dev/null
+++ b/themes/compact_night.css
@@ -0,0 +1,2120 @@
+@import "../lib/flat-ttrss/flat_combined_dark.css";
+body.ttrss_main,
+body.ttrss_prefs,
+#main {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ border: 0;
+ padding: 0;
+ margin: 0;
+}
+body.ttrss_main {
+ background: #333;
+ color: #ccc;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 14px;
+ overflow: hidden;
+}
+body.ttrss_main :focus {
+ outline: none;
+}
+body.ttrss_main div.post {
+ padding: 0px;
+ font-size: 13px;
+}
+body.ttrss_main div.post div.header {
+ padding: 5px;
+ color: #909090;
+ border: 0px solid #222;
+ border-bottom-width: 1px;
+ background: #222;
+}
+body.ttrss_main div.post div.header .left,
+body.ttrss_main div.post div.header .right {
+ display: flex;
+}
+body.ttrss_main div.post div.header .row {
+ display: flex;
+ margin-bottom: 4px;
+ flex-wrap: nowrap;
+ align-items: center;
+ justify-content: space-between;
+}
+body.ttrss_main div.post div.header .comments {
+ flex-grow: 2;
+}
+body.ttrss_main div.post div.header .date {
+ white-space: nowrap;
+}
+body.ttrss_main div.post div.header img,
+body.ttrss_main div.post div.header i.material-icons {
+ margin: 0px 4px;
+ vertical-align: middle;
+ color: #777;
+}
+body.ttrss_main div.post div.header .title {
+ flex-grow: 2;
+ font-size: 15px;
+ font-weight: 600;
+ text-rendering: optimizelegibility;
+ font-family: "Segoe WP Semibold", "Segoe UI Semibold", "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif;
+}
+body.ttrss_main div.post div.content {
+ padding: 10px;
+ font-size: 16px;
+}
+body.ttrss_main div.post div.content img,
+body.ttrss_main div.post div.content video {
+ border-width: 0px;
+ max-width: 98%;
+ height: auto;
+}
+body.ttrss_main div.post div.content div.embed-responsive {
+ overflow: hidden;
+ padding-bottom: 56.25%;
+ position: relative;
+}
+body.ttrss_main div.post div.content div.embed-responsive iframe {
+ border: 0;
+ bottom: 0;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+body.ttrss_main .inline-player {
+ display: flex;
+ align-items: center;
+}
+body.ttrss_main .inline-player audio {
+ margin-right: 8px;
+}
+body.ttrss_main .article-note {
+ background-color: #fff7d5;
+ margin: 5px;
+ border: 1px solid #e7d796;
+ color: #9a8c59;
+ display: flex;
+ align-items: center;
+}
+body.ttrss_main .article-note > * {
+ padding: 5px;
+}
+body.ttrss_main .article-note.editable {
+ cursor: pointer;
+}
+body.ttrss_main h1 {
+ font-size: 18px;
+ font-weight: 600;
+ text-rendering: optimizelegibility;
+}
+body.ttrss_main h2 {
+ font-size: 16px;
+ font-weight: 600;
+ text-rendering: optimizelegibility;
+}
+body.ttrss_main h3 {
+ font-size: 16px;
+ font-weight: 600;
+ text-rendering: optimizelegibility;
+}
+body.ttrss_main h4 {
+ font-size: 14px;
+ font-weight: 600;
+ text-rendering: optimizelegibility;
+}
+body.ttrss_main a {
+ color: #b87d2c;
+ text-decoration: none;
+}
+body.ttrss_main a:hover {
+ color: #664518;
+ text-decoration: underline;
+}
+body.ttrss_main #notify.visible {
+ opacity: 100;
+}
+body.ttrss_main #notify {
+ bottom: 20px;
+ right: 20px;
+ min-width: 200px;
+ max-width: 350px;
+ border-width: 1px;
+ border-style: solid;
+ position: fixed;
+ font-size: 14px;
+ z-index: 99;
+ display: flex;
+ opacity: 0;
+ align-items: center;
+ padding: 10px;
+ transition: opacity 0.2s linear;
+ box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
+}
+body.ttrss_main #notify img {
+ vertical-align: middle;
+}
+body.ttrss_main #notify .msg {
+ flex-grow: 2;
+ padding: 0 10px;
+ line-height: 20px;
+}
+body.ttrss_main #notify .icon-close {
+ cursor: pointer;
+}
+body.ttrss_main .notify {
+ border-color: #d7c47a;
+ background-color: #fff7d5;
+}
+body.ttrss_main .notify.notify_progress {
+ border-color: #d7c47a;
+ background-color: #fff7d5;
+}
+body.ttrss_main .notify.notify_info {
+ border-color: #b87d2c;
+ background-color: #faf3e9;
+}
+body.ttrss_main .notify.notify_info i.icon-notify {
+ color: #b87d2c;
+}
+body.ttrss_main .notify.notify_error {
+ background-color: #c00;
+ border-color: #900;
+ color: white;
+}
+body.ttrss_main .notify.notify_error i.icon-notify,
+body.ttrss_main .notify.notify_error i.icon-close {
+ color: white;
+}
+body.ttrss_main .action-chooser .action-button .dijitButtonText {
+ vertical-align: unset;
+}
+body.ttrss_main .action-chooser .action-button .dijitArrowButtonInner {
+ display: none;
+}
+body.ttrss_main .hl {
+ border: 0px solid #222;
+ border-bottom-width: 1px;
+ transition: color 0.2s, background 0.2s;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ background: #222;
+ align-items: center;
+ user-select: none;
+}
+body.ttrss_main .hl > * {
+ white-space: nowrap;
+ padding: 4px;
+}
+body.ttrss_main .hl img {
+ vertical-align: middle;
+}
+body.ttrss_main .hl .left,
+body.ttrss_main .hl .right {
+ display: flex;
+ align-items: center;
+}
+body.ttrss_main .hl .left i.material-icons,
+body.ttrss_main .hl .right i.material-icons {
+ margin-left: 2px;
+ padding: 2px;
+ transition: color 0.2s linear;
+ user-select: none;
+ font-size: 21px;
+}
+body.ttrss_main .hl .right i.material-icons {
+ color: #777;
+}
+body.ttrss_main .hl div.title {
+ cursor: pointer;
+ flex-grow: 2;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+body.ttrss_main .hl span.author {
+ white-space: nowrap;
+ color: #ccc;
+ font-size: 11px;
+ font-weight: normal;
+}
+body.ttrss_main .hl div.right {
+ text-align: right;
+}
+body.ttrss_main .hl span.feed a {
+ border-radius: 4px;
+ display: inline-block;
+ padding: 1px 4px;
+ font-size: 11px;
+ font-style: italic;
+ font-weight: normal;
+ color: #ccc;
+}
+body.ttrss_main .hl span.feed a:hover {
+ color: #b87d2c;
+}
+body.ttrss_main .hl span.updated {
+ color: #ccc;
+ text-align: right;
+ font-size: 11px;
+ padding-left: 10px;
+}
+body.ttrss_main .hl span.updated div {
+ display: inline-block;
+}
+body.ttrss_main .hl div.left input {
+ margin: 0px 4px;
+}
+body.ttrss_main .hl div.left img,
+body.ttrss_main .hl div.right img {
+ margin: 0px 4px;
+}
+body.ttrss_main .hl div.title a {
+ font-weight: 600;
+ text-rendering: optimizelegibility;
+ font-family: "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif;
+ color: #555;
+}
+body.ttrss_main .hl a.title.high,
+body.ttrss_main .hl span.hl-content.high .preview {
+ color: #00aa00;
+}
+body.ttrss_main .hl.vgrlf .feed {
+ display: none;
+}
+body.ttrss_main .hl.Unread {
+ background: white;
+}
+body.ttrss_main .hl.Unread div.title a {
+ color: black;
+}
+body.ttrss_main .hl.active div.title a {
+ color: #b87d2c;
+ /* text-shadow : 1px 1px 2px #fff; */
+}
+body.ttrss_main .hl.active {
+ background: #b87d2c ! important;
+}
+body.ttrss_main .hl.active,
+body.ttrss_main .hl.Selected {
+ color: white;
+ background: #9c7948;
+}
+body.ttrss_main .hl.active a,
+body.ttrss_main .hl.Selected a,
+body.ttrss_main .hl.active .feed a,
+body.ttrss_main .hl.Selected .feed a,
+body.ttrss_main .hl.active .hl-content a.title,
+body.ttrss_main .hl.Selected .hl-content a.title,
+body.ttrss_main .hl.active span,
+body.ttrss_main .hl.Selected span {
+ color: white;
+}
+body.ttrss_main .hl.Grayed {
+ color: #909090;
+}
+body.ttrss_main #content-insert blockquote,
+body.ttrss_main #headlines-frame blockquote,
+body.ttrss_main .dijitContentPane blockquote {
+ margin: 5px 0px 5px 0px;
+ color: #ccc;
+ padding-left: 10px;
+ border: 0px solid #ccc;
+ border-left-width: 4px;
+}
+body.ttrss_main #content-insert code,
+body.ttrss_main #headlines-frame code,
+body.ttrss_main .dijitContentPane code {
+ color: #009900;
+ font-family: monospace;
+}
+body.ttrss_main #content-insert pre,
+body.ttrss_main #headlines-frame pre,
+body.ttrss_main .dijitContentPane pre {
+ margin: 5px 0px 5px 0px;
+ padding: 10px;
+ color: #ccc;
+ font-family: monospace;
+ font-size: 12px;
+ border: 0px solid #ccc;
+ background: #222;
+ display: block;
+ max-width: 98%;
+ overflow: auto;
+}
+body.ttrss_main div.prefHelp {
+ color: #ccc;
+ padding: 5px;
+}
+body.ttrss_main span.preview {
+ color: #999;
+ font-weight: normal;
+ font-size: 12px;
+ padding-left: 4px;
+}
+body.ttrss_main .label {
+ display: inline-block;
+ vertical-align: middle;
+ background-color: #fff7d5;
+ font-size: 9px;
+ color: #ccc;
+ font-weight: normal;
+ margin-left: 2px;
+ padding: 2px 4px;
+ white-space: nowrap;
+}
+body.ttrss_main i.marked-pic,
+body.ttrss_main i.pub-pic {
+ cursor: pointer;
+ color: #ccc;
+}
+body.ttrss_main div.errorExplained {
+ border: 1px solid #222;
+ margin: 5px 0px 5px 0px;
+ padding: 5px;
+}
+body.ttrss_main ul.browseFeedList {
+ height: 300px;
+ width: 100%;
+ overflow: auto;
+ border-width: 0px 1px 1px 1px;
+ border-color: #222;
+ border-style: solid;
+ margin: 0px 0px 5px 0px;
+ background-color: white;
+ list-style-type: none;
+ padding: 0px;
+}
+body.ttrss_main ul.browseFeedList li {
+ display: flex;
+ align-items: center;
+}
+body.ttrss_main ul.browseFeedList li > * {
+ margin: 2px;
+}
+body.ttrss_main .browseFeedList span.subscribers {
+ color: #808080;
+}
+body.ttrss_main ul.compact {
+ list-style-type: none;
+ margin: 0px;
+ padding: 0px;
+}
+body.ttrss_main ul.compact li {
+ margin: 0px;
+ padding: 0px;
+}
+body.ttrss_main .noborder {
+ border-width: 0px;
+}
+body.ttrss_main #overlay {
+ background: #333;
+ left: 0;
+ top: 0;
+ height: 100%;
+ width: 100%;
+ z-index: 100;
+ position: absolute;
+}
+body.ttrss_main #overlay_inner {
+ font-weight: bold;
+ margin: 1em;
+}
+body.ttrss_main div.loadingPrompt {
+ padding: 1em;
+ text-align: center;
+ font-weight: bold;
+}
+body.ttrss_main div.whiteBox {
+ margin-left: 1px;
+ text-align: center;
+ padding: 1em 1em 0px 1em;
+ font-size: 11px;
+ border: 0px solid #222;
+ border-bottom-width: 1px;
+}
+body.ttrss_main div#headlines-frame.wide .title {
+ overflow: visible;
+ white-space: normal;
+}
+body.ttrss_main div#headlines-frame.wide .hl .feed {
+ display: none;
+}
+body.ttrss_main .dijitDialog header,
+body.ttrss_main .dijitDialog .dlgSec,
+body.ttrss_main .dijitDialog .dlgSecHoriz {
+ font-size: 16px;
+ font-weight: 600;
+ color: #ccc;
+ font-family: "Segoe WP Semibold", "Segoe UI Semibold", "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif;
+}
+body.ttrss_main .dijitDialog section,
+body.ttrss_main .dijitDialog .dlgSecCont {
+ margin: 10px 20px;
+}
+body.ttrss_main .dijitDialog header.horizontal + section,
+body.ttrss_main .dijitDialog .dlgSecHoriz + .dlgSecCont {
+ margin: 10px 0;
+}
+body.ttrss_main .dijitDialog section.narrow {
+ margin: 0;
+}
+body.ttrss_main .dijitDialog section fieldset > label,
+body.ttrss_main .dijitDialog div.dlgSecCont fieldset > label,
+body.ttrss_main .dijitDialog div.dlgSecSimple fieldset > label {
+ font-weight: bold;
+ margin-right: 10px;
+ display: inline-block;
+ min-width: 140px;
+ text-align: right;
+}
+body.ttrss_main .dijitDialog section fieldset > label.checkbox,
+body.ttrss_main .dijitDialog div.dlgSecCont fieldset > label.checkbox,
+body.ttrss_main .dijitDialog div.dlgSecSimple fieldset > label.checkbox {
+ font-weight: normal;
+ display: inline;
+}
+body.ttrss_main .dijitDialog section fieldset > label.inline,
+body.ttrss_main .dijitDialog div.dlgSecCont fieldset > label.inline,
+body.ttrss_main .dijitDialog div.dlgSecSimple fieldset > label.inline {
+ display: inline;
+}
+body.ttrss_main .dijitDialog section fieldset,
+body.ttrss_main .dijitDialog div.dlgSecCont fieldset,
+body.ttrss_main .dijitDialog div.dlgSecSimple fieldset {
+ border-width: 0px;
+ padding: 5px 0px;
+}
+body.ttrss_main .dijitDialog section fieldset.narrow,
+body.ttrss_main .dijitDialog div.dlgSecCont fieldset.narrow,
+body.ttrss_main .dijitDialog div.dlgSecSimple fieldset.narrow {
+ padding: 2px 0px;
+}
+body.ttrss_main .dijitDialog section fieldset.align-right,
+body.ttrss_main .dijitDialog div.dlgSecCont fieldset.align-right,
+body.ttrss_main .dijitDialog div.dlgSecSimple fieldset.align-right {
+ text-align: right;
+}
+body.ttrss_main .dijitDialog footer,
+body.ttrss_main .dijitDialog .dlgButtons {
+ margin-top: 5px;
+ text-align: right;
+}
+body.ttrss_main .dijitDialog footer.text-center {
+ text-align: center;
+}
+body.ttrss_main i.icon-label {
+ color: #fff7d5;
+}
+body.ttrss_main div#cmdline {
+ position: absolute;
+ left: 5px;
+ bottom: 5px;
+ font-size: 11px;
+ color: #ccc;
+ font-weight: bold;
+ background-color: #333;
+ border: 1px solid #b87d2c;
+ padding: 3px 5px 3px 5px;
+ z-index: 5;
+}
+body.ttrss_main #feed_browser_spinner {
+ vertical-align: middle;
+ height: 18px;
+ width: 18px;
+}
+body.ttrss_main #exceptionDlg .dijitDialogTitleBar {
+ background: red;
+ color: white;
+}
+body.ttrss_main #exceptionDlg .dijitDialogPaneContent {
+ background: #fcc;
+}
+body.ttrss_main #exceptionDlg .error-contents .message {
+ color: red;
+}
+body.ttrss_main #exceptionDlg .error-contents textarea {
+ width: 99%;
+ height: 200px;
+}
+body.ttrss_main #exceptionDlg .error-contents .dlgButtons {
+ text-align: center;
+}
+body.ttrss_main #content-wrap {
+ padding: 0px;
+ border-width: 0px;
+ margin: 0px;
+}
+body.ttrss_main #feeds-holder {
+ padding: 0px;
+ border: 0px solid #222;
+ overflow: hidden;
+ background: #222;
+ box-shadow: inset -1px 0px 2px -1px rgba(0, 0, 0, 0.1);
+ -webkit-overflow-scrolling: touch;
+}
+body.ttrss_main #feeds-holder #feedTree {
+ height: 100%;
+ overflow-x: hidden;
+ text-rendering: optimizelegibility;
+ font-family: "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif;
+}
+body.ttrss_main #feeds-holder #feedTree .counterNode.aux,
+body.ttrss_main #feeds-holder #feedTree .counterNode.marked {
+ background: #222;
+ color: #e6e6e6;
+ border-color: #080808;
+}
+body.ttrss_main #feeds-holder #feedTree .counterNode.marked {
+ border-color: #b87d2c;
+ background: #ffffff;
+}
+body.ttrss_main #feeds-holder #feedTree .counterNode {
+ font-weight: bold;
+ display: none;
+ font-size: 9px;
+ text-align: center;
+ border: 1px solid #cd8b31;
+ color: white;
+ background: #cd8b31;
+ border-radius: 4px;
+ vertical-align: middle;
+ float: right;
+ position: relative;
+ line-height: 14px;
+ margin-right: 8px;
+ margin-top: 2px;
+ min-width: 23px;
+ height: 14px;
+}
+body.ttrss_main #feeds-holder #feedTree .dijitTreeNode .loadingExpando {
+ left: -3px;
+ height: 22px;
+ position: relative;
+ top: -3px;
+}
+body.ttrss_main #feeds-holder #feedTree .dijitTreeRow .dijitTreeLabel.Unread {
+ font-weight: bold;
+}
+body.ttrss_main #feeds-holder #feedTree .dijitTreeRow.Error .dijitTreeLabel {
+ color: red;
+}
+body.ttrss_main #feeds-holder #feedTree .dijitTreeNode .dijitTreeRow {
+ border: 1px solid transparent;
+}
+body.ttrss_main #feeds-holder #feedTree .dijitTreeNode .dijitTreeRowSelected {
+ box-shadow: -1px 0px 2px -1px rgba(0, 0, 0, 0.1);
+ border-color: #222 transparent;
+ background: #333;
+ color: #333;
+}
+body.ttrss_main #feeds-holder #feedTree .dijitIcon.feed-icon {
+ margin-right: 2px;
+}
+body.ttrss_main #feeds-holder #feedTree i.icon.icon-inbox {
+ color: #555;
+}
+body.ttrss_main #feeds-holder #feedTree i.icon.icon-archive {
+ color: #c77b2e;
+}
+body.ttrss_main #feeds-holder #feedTree i.icon.icon-star {
+ position: relative;
+ color: #ffc069;
+ font-size: 21px;
+ left: -2px;
+}
+body.ttrss_main #feeds-holder #feedTree i.icon.icon-rss_feed {
+ color: #ff7c4b;
+}
+body.ttrss_main #feeds-holder #feedTree i.icon.icon-whatshot {
+ color: #69C671;
+}
+body.ttrss_main #feeds-holder #feedTree i.icon.icon-restore {
+ position: relative;
+ top: -1px;
+ font-weight: bold;
+ color: #b87d2c;
+}
+body.ttrss_main #headlines-wrap-inner {
+ padding: 0px;
+ margin: 0px;
+ border-width: 0px;
+}
+body.ttrss_main #headlines-frame[is-vfeed="0"] .header .feed {
+ display: none;
+}
+body.ttrss_main #headlines-frame {
+ padding: 0px;
+ border: 0px #222;
+ margin-top: 0px;
+ -webkit-overflow-scrolling: touch;
+ -webkit-transform: translateZ(0);
+ -webkit-backface-visibility: hidden;
+}
+body.ttrss_main #headlines-frame div.feed-title {
+ border: 0px solid #b87d2c;
+ border-bottom-width: 1px;
+ padding: 5px 8px;
+}
+body.ttrss_main #headlines-frame div.feed-title a.title {
+ color: #ccc;
+ font-weight: bold;
+}
+body.ttrss_main #headlines-frame div.feed-title a {
+ color: #ccc;
+}
+body.ttrss_main #headlines-frame div.feed-title a:hover {
+ color: #b87d2c;
+}
+body.ttrss_main #toolbar-frame_splitter {
+ display: none;
+}
+body.ttrss_main #toolbar-frame {
+ padding: 0px;
+ margin: 0px;
+ border-width: 0px;
+ white-space: nowrap;
+ font-size: 12px;
+}
+body.ttrss_main #toolbar-frame #toolbar {
+ background: white;
+ border: 0px solid #222;
+ border-bottom-width: 1px;
+ padding-left: 4px;
+ height: 32px;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ color: #ccc;
+ font-size: 12px;
+ align-items: center;
+}
+body.ttrss_main #toolbar-frame #toolbar .dijitSelect,
+body.ttrss_main #toolbar-frame #toolbar .dijitDropDownButton .dijitButtonNode,
+body.ttrss_main #toolbar-frame #toolbar .dijitComboButton .dijitButtonNode {
+ border: 0px;
+}
+body.ttrss_main #toolbar-frame #toolbar i.net-alert,
+body.ttrss_main #toolbar-frame #toolbar .left i.icon-error {
+ color: red;
+}
+body.ttrss_main #toolbar-frame #toolbar i.log-alert {
+ color: #ddba1c;
+}
+body.ttrss_main #toolbar-frame #toolbar #toolbar-headlines {
+ padding-right: 4px;
+ flex-grow: 2;
+ display: flex;
+}
+body.ttrss_main #toolbar-frame #toolbar #toolbar-headlines .left {
+ flex-grow: 2;
+ display: flex;
+ align-items: center;
+}
+body.ttrss_main #toolbar-frame #toolbar #toolbar-headlines .left img {
+ vertical-align: middle;
+ margin-right: 8px;
+}
+body.ttrss_main #toolbar-frame #toolbar #toolbar-headlines .right {
+ display: flex;
+ align-items: center;
+}
+body.ttrss_main #toolbar-frame #toolbar #updates-available {
+ color: #69C671;
+ padding-right: 4px;
+}
+body.ttrss_main #toolbar-frame #toolbar #selected_prompt {
+ font-style: italic;
+ text-align: right;
+ margin-right: 4px;
+ color: #b87d2c;
+}
+@media (max-width: 992px) {
+ body.ttrss_main #toolbar-frame #toolbar #selected_prompt {
+ display: none;
+ }
+}
+body.ttrss_main #header {
+ border-width: 0px;
+ text-align: right;
+ color: #ccc;
+ padding: 5px 5px 0px 0px;
+ margin: 0px;
+ position: absolute;
+ right: 0px;
+ top: 0px;
+ z-index: 5;
+}
+body.ttrss_main #content-insert {
+ padding: 0px;
+ border-color: #222;
+ border-width: 0px;
+ line-height: 1.5;
+ overflow: auto;
+ -webkit-overflow-scrolling: touch;
+}
+body.ttrss_main img.feed-icon,
+body.ttrss_main img.icon {
+ width: 16px;
+ height: 16px;
+ line-height: 16px;
+ vertical-align: middle;
+ display: inline-block;
+}
+body.ttrss_main .player {
+ display: inline-block;
+ color: #ccc;
+ font-size: 11px;
+ font-family: sans-serif;
+ border: 1px solid #ccc;
+ padding: 0px 4px 0px 4px;
+ margin: 0px 2px 0px 2px;
+ width: 50px;
+ text-align: center;
+ background: #333;
+}
+body.ttrss_main .player.playing {
+ color: #00c000;
+ border-color: #00c000;
+}
+body.ttrss_main .player:hover {
+ background: #222;
+ cursor: pointer;
+}
+body.ttrss_main #headlines-frame.auto_catchup #headlines-spacer {
+ height: 100%;
+}
+body.ttrss_main #headlines-spacer {
+ margin-left: 1px;
+ text-align: center;
+ color: #ccc;
+ font-size: 11px;
+ font-style: italic;
+}
+body.ttrss_main #headlines-spacer a,
+body.ttrss_main #headlines-spacer span {
+ color: #ccc;
+ padding: 10px;
+ display: block;
+}
+body.ttrss_main #headlines-spacer a:hover {
+ color: #b87d2c;
+}
+body.ttrss_main ul#filterDlg_Matches,
+body.ttrss_main ul#filterDlg_Actions {
+ max-height: 100px;
+ overflow: auto;
+ list-style-type: none;
+ border-style: solid;
+ border-color: #222;
+ border-width: 1px 1px 1px 1px;
+ background-color: #333;
+ margin: 0px 0px 5px 0px;
+ padding: 4px;
+ min-height: 16px;
+}
+body.ttrss_main ul#filterDlg_Matches li,
+body.ttrss_main ul#filterDlg_Actions li {
+ cursor: pointer;
+}
+body.ttrss_main ul#filterDlg_Matches li .dijitCheckBox,
+body.ttrss_main ul#filterDlg_Actions li .dijitCheckBox {
+ margin-right: 4px;
+}
+body.ttrss_main ul.hotkeys-help li {
+ display: flex;
+}
+body.ttrss_main ul.hotkeys-help li.desc {
+ flex-grow: 2;
+}
+body.ttrss_main ul.hotkeys-help .hk {
+ color: #b87d2c;
+ width: 100px;
+}
+body.ttrss_main ul.hotkeys-help h3 {
+ margin: 8px 0px;
+}
+body.ttrss_main select.attachments {
+ display: block;
+ margin-top: 10px;
+ max-width: 120px;
+}
+body.ttrss_main #filterDlg_feeds select {
+ height: 150px;
+ width: 410px;
+}
+body.ttrss_main span.highlight {
+ background-color: #ffff00;
+ color: #cc90cc;
+}
+body.ttrss_main #headlines-frame .dijitCheckBox {
+ margin-right: 4px;
+}
+body.ttrss_main #editTagsDlg {
+ overflow: visible;
+}
+body.ttrss_main #feedEditDlg img.feedIcon {
+ border: 1px solid #ccc;
+ padding: 5px;
+ margin: 5px;
+ max-width: 20px;
+ max-height: 20px;
+ height: auto;
+ width: auto;
+}
+body.ttrss_main .dijitTooltipContents {
+ background: #d29745;
+ color: #222;
+}
+body.ttrss_main .dijitTooltipRight .dijitTooltipConnector {
+ border-right-color: #d29745;
+}
+body.ttrss_main .dijitTooltipLeft .dijitTooltipConnector {
+ border-left-color: #d29745;
+}
+body.ttrss_main .dijitTooltipBelow .dijitTooltipConnector {
+ border-bottom-color: #d29745;
+}
+body.ttrss_main .dijitTooltipAbove .dijitTooltipConnector {
+ border-top-color: #d29745;
+}
+body.ttrss_main .dijitDialog h1:first-of-type,
+body.ttrss_main .dijitDialog h2:first-of-type,
+body.ttrss_main .dijitDialog h3:first-of-type,
+body.ttrss_main .dijitDialog h4:first-of-type {
+ margin-top: 0px;
+}
+body.ttrss_main[view-mode="marked"] #feeds-holder #feedTree .dijitTreeRow.Has_Marked .dijitTreeLabel {
+ color: #b87d2c;
+}
+body.ttrss_main[view-mode="marked"] #feeds-holder #feedTree .dijitTreeRow.Has_Marked .counterNode.marked {
+ display: inline-block;
+}
+body.ttrss_main[view-mode="marked"][hide-read-feeds="true"][hide-read-shows-special="true"] #feeds-holder #feedTree .dijitTreeRow:not(.AlwaysVisible):not(.Special):not(.Has_Marked) {
+ display: none;
+}
+body.ttrss_main[view-mode="marked"][hide-read-feeds="true"][hide-read-shows-special="false"] #feeds-holder #feedTree .dijitTreeRow:not(.AlwaysVisible):not(.Has_Marked) {
+ display: none;
+}
+body.ttrss_main:not([view-mode="marked"]) #feeds-holder #feedTree .dijitTreeRow.Unread .counterNode.unread {
+ display: inline-block;
+}
+body.ttrss_main:not([view-mode="marked"]) #feeds-holder #feedTree .dijitTreeRow.Has_Aux:not(.Unread) .counterNode.aux {
+ display: inline-block;
+}
+body.ttrss_main:not([view-mode="marked"])[hide-read-feeds="true"][hide-read-shows-special="true"] #feeds-holder #feedTree .dijitTreeRow:not(.Unread):not(.AlwaysVisible):not(.Special) {
+ display: none;
+}
+body.ttrss_main:not([view-mode="marked"])[hide-read-feeds="true"][hide-read-shows-special="false"] #feeds-holder #feedTree .dijitTreeRow:not(.Unread):not(.AlwaysVisible) {
+ display: none;
+}
+body.ttrss_main #toolbar-headlines i.icon-syndicate {
+ color: #ff7c4b;
+ margin-right: 8px;
+ border: 1px solid #ff7c4b;
+ border-radius: 4px;
+}
+body.ttrss_main #toolbar-headlines #feed_current_unread {
+ margin-left: 8px;
+ font-weight: bold;
+ text-align: center;
+ border: 1px solid #cd8b31;
+ color: white;
+ background: #cd8b31;
+ border-radius: 4px;
+ min-width: 23px;
+}
+body.ttrss_main i.icon-no-feed {
+ opacity: 0.2;
+}
+body.ttrss_main .dijitTreeRow.UpdatesDisabled .dijitTreeLabel {
+ opacity: 0.5;
+}
+body.ttrss_main .cdm.marked .left i.marked-pic,
+body.ttrss_main .hl.marked .left i.marked-pic {
+ color: #ffc069;
+}
+body.ttrss_main .cdm.published .left i.pub-pic,
+body.ttrss_main .hl.published .left i.pub-pic {
+ color: #ff7c4b;
+}
+body.ttrss_main .score-high i.icon-score {
+ color: #69C671;
+}
+body.ttrss_main .score-low i.icon-score {
+ color: #500;
+}
+body.ttrss_main .score-neutral i.icon-score {
+ opacity: 0.5;
+}
+body.ttrss_main i.icon-score {
+ cursor: pointer;
+}
+body.ttrss_main .panel {
+ border: 1px solid #222;
+ background: #222;
+ padding: 4px;
+}
+body.ttrss_main .dijitDialog .panel {
+ background: #333;
+}
+body.ttrss_main .panel-scrollable {
+ overflow: auto;
+ height: 200px;
+}
+body.ttrss_main ul.list li {
+ padding: 2px;
+}
+body.ttrss_main ul.list {
+ padding: 4px;
+}
+body.ttrss_main ul.list-unstyled {
+ list-style-type: none;
+}
+body.ttrss_main .text-center {
+ text-align: center;
+}
+body.ttrss_main #prefFilterTestResultList .preview {
+ margin: 8px;
+}
+body.ttrss_main #prefFilterTestResultList .title {
+ font-weight: bold;
+}
+body.ttrss_main #prefFilterTestResultList .feed {
+ color: #b87d2c;
+}
+body.ttrss_main .alert,
+body.ttrss_utility .alert {
+ padding: 8px 35px 8px 14px;
+ margin-bottom: 10px;
+ /* text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); */
+ background-color: #fcf8e3;
+ border: 1px solid #fbeed5;
+ border-radius: 4px;
+}
+body.ttrss_main .alert .close,
+body.ttrss_utility .alert .close {
+ position: relative;
+ top: -2px;
+ right: -21px;
+ line-height: 20px;
+ cursor: pointer;
+}
+body.ttrss_main .pull-right,
+body.ttrss_utility .pull-right {
+ float: right;
+}
+body.ttrss_main .pull-left,
+body.ttrss_utility .pull-left {
+ float: left;
+}
+body.ttrss_main .text-error,
+body.ttrss_utility .text-error {
+ color: #b94a48;
+}
+body.ttrss_main .text-info,
+body.ttrss_utility .text-info {
+ color: #3a87ad;
+}
+body.ttrss_main .text-success,
+body.ttrss_utility .text-success {
+ color: #468847;
+}
+body.ttrss_main .text-warning,
+body.ttrss_utility .text-warning {
+ color: #a47e3c;
+}
+body.ttrss_main .alert,
+body.ttrss_utility .alert,
+body.ttrss_main .alert h4,
+body.ttrss_utility .alert h4 {
+ color: #c09853;
+}
+body.ttrss_main .alert h4,
+body.ttrss_utility .alert h4 {
+ margin: 0;
+}
+body.ttrss_main .alert-success,
+body.ttrss_utility .alert-success {
+ color: #468847;
+ background-color: #dff0d8;
+ border-color: #d6e9c6;
+}
+body.ttrss_main .alert-success h4,
+body.ttrss_utility .alert-success h4 {
+ color: #468847;
+}
+body.ttrss_main .alert-danger,
+body.ttrss_utility .alert-danger,
+body.ttrss_main .alert-error,
+body.ttrss_utility .alert-error {
+ color: #b94a48;
+ background-color: #f2dede;
+ border-color: #eed3d7;
+}
+body.ttrss_main .alert-danger h4,
+body.ttrss_utility .alert-danger h4,
+body.ttrss_main .alert-error h4,
+body.ttrss_utility .alert-error h4 {
+ color: #b94a48;
+}
+body.ttrss_main .alert-info,
+body.ttrss_utility .alert-info {
+ color: #3a87ad;
+ background-color: #d9edf7;
+ border-color: #bce8f1;
+}
+body.ttrss_main .alert-info h4,
+body.ttrss_utility .alert-info h4 {
+ color: #3a87ad;
+}
+body.ttrss_main hr,
+body.ttrss_utility hr {
+ border: 0px solid #ccc;
+ border-bottom-width: 1px;
+}
+body.ttrss_main .text-muted,
+body.ttrss_utility .text-muted {
+ color: #ccc;
+}
+body.ttrss_main .small,
+body.ttrss_utility .small {
+ font-size: 11px;
+}
+body.ttrss_main div.autocomplete,
+body.ttrss_utility div.autocomplete {
+ position: absolute;
+ width: 250px;
+ background-color: #333;
+ border: 1px solid #222;
+ margin: 0px;
+ padding: 0px;
+}
+body.ttrss_main div.autocomplete ul,
+body.ttrss_utility div.autocomplete ul {
+ list-style-type: none;
+ margin: 0px;
+ padding: 0px;
+}
+body.ttrss_main div.autocomplete ul li.selected,
+body.ttrss_utility div.autocomplete ul li.selected {
+ background-color: #1a1a1a;
+}
+body.ttrss_main div.autocomplete ul li,
+body.ttrss_utility div.autocomplete ul li {
+ list-style-type: none;
+ display: block;
+ margin: 0;
+ padding: 2px;
+ cursor: pointer;
+}
+::selection {
+ background: #b87d2c;
+ color: #333;
+}
+::-webkit-scrollbar {
+ width: 4px;
+}
+::-webkit-scrollbar-thumb {
+ background-color: #b87d2c;
+}
+::-webkit-scrollbar-track {
+ background-color: #eee;
+}
+video::-webkit-media-controls-overlay-play-button {
+ display: none;
+}
+.cdm i.material-icons {
+ color: #777;
+}
+.cdm .header {
+ position: sticky;
+ top: 0;
+ z-index: 3;
+}
+.cdm .header,
+.cdm .footer {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+}
+.cdm .header img,
+.cdm .footer img,
+.cdm .footer i.material-icons {
+ margin: 0px 4px;
+ vertical-align: middle;
+}
+.cdm .header-sticky-guard {
+ height: 0;
+}
+.cdm .header {
+ align-items: center;
+}
+.cdm .header > * {
+ padding: 4px;
+ white-space: nowrap;
+}
+.cdm .header .left,
+.cdm .header .right {
+ display: flex;
+ align-items: center;
+}
+.cdm .header .left i.material-icons,
+.cdm .header .right i.material-icons {
+ margin-left: 2px;
+ padding: 2px;
+ transition: color 0.2s linear;
+ user-select: none;
+ font-size: 21px;
+}
+.cdm .header .titleWrap {
+ flex-grow: 2;
+}
+.cdm .header span.updated {
+ color: #ccc;
+ font-weight: normal;
+ font-size: 11px;
+ white-space: nowrap;
+}
+.cdm .header input {
+ margin: 0px 4px;
+}
+.cdm .footer {
+ height: 30px;
+ padding-left: 5px;
+ font-weight: normal;
+ color: #ccc;
+ clear: both;
+ align-items: center;
+}
+.cdm .footer .left {
+ flex-grow: 2;
+}
+.cdm .intermediate {
+ margin-top: 10px;
+ margin-left: 10px;
+}
+.cdm .content-inner {
+ margin: 10px;
+ line-height: 1.5;
+ font-size: 16px;
+}
+.cdm .intermediate img,
+.cdm .intermediate video,
+.cdm .content-inner img,
+.cdm .content-inner video {
+ border-width: 0px;
+ max-width: 98%;
+ height: auto;
+}
+.cdm.expanded {
+ /*margin-top : 4px;
+ margin-bottom : 4px;*/
+}
+.cdm.expanded .collapse,
+.cdm.expanded .excerpt {
+ display: none;
+}
+.cdm.expanded .titleWrap {
+ white-space: normal;
+}
+.cdm.expanded .footer {
+ border: 0px solid #222;
+ border-bottom-width: 1px;
+}
+.cdm.expanded > hr {
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+div.cdm.expanded div.header a.title {
+ font-size: 16px;
+ color: #999;
+ font-weight: 600;
+ transition: color 0.2s, background 0.2s;
+ text-rendering: optimizelegibility;
+ font-family: "Segoe WP Semibold", "Segoe UI Semibold", "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif;
+}
+div.cdm.expanded.active {
+ background: white;
+}
+div.cdm.expanded.active div.header a.title {
+ color: #b87d2c;
+}
+div.cdm.expanded.Unread div.header a.title {
+ color: black;
+}
+div.cdm.expanded div.content {
+ color: #ccc;
+}
+div.cdm.expanded.Unread div.content {
+ color: black;
+}
+div.cdm.active div.content {
+ color: black;
+}
+div.cdm.vgrlf .feed {
+ display: none;
+}
+.cdm div.feed-title {
+ border: 0px solid #b87d2c;
+ border-bottom-width: 1px;
+ padding: 5px 3px 5px 5px;
+}
+.cdm div.feed-title a.title {
+ color: #ccc;
+ font-weight: bold;
+}
+.cdm div.feed-title a {
+ color: #ccc;
+}
+.cdm div.feed-title a:hover {
+ color: #b87d2c;
+}
+.cdm div.header span.feed {
+ float: right;
+ font-weight: normal;
+ font-style: italic;
+}
+.cdm div.header div.feed,
+.cdm div.header div.feed a {
+ vertical-align: middle;
+ color: #ccc;
+ font-weight: normal;
+ font-style: italic;
+ font-size: 11px;
+}
+.cdm div.content-inner div.embed-responsive {
+ overflow: hidden;
+ padding-bottom: 56.25%;
+ position: relative;
+}
+.cdm div.content-inner div.embed-responsive iframe {
+ border: 0;
+ bottom: 0;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.cdm div.header span.author {
+ white-space: nowrap;
+ color: #ccc;
+ font-size: 11px;
+ font-weight: normal;
+}
+.cdm .feed a {
+ border-radius: 4px;
+ display: inline-block;
+ padding: 1px 4px 1px 4px;
+}
+.cdm.expandable {
+ background-color: #222;
+ border: 0px solid #222;
+ border-bottom-width: 1px;
+}
+.cdm.expandable > hr {
+ display: none;
+}
+.cdm.expandable div.header span.titleWrap {
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+}
+.cdm.expandable .excerpt {
+ white-space: nowrap;
+ font-size: 11px;
+ color: #999;
+ font-weight: normal;
+ cursor: pointer;
+}
+.cdm.expandable:not(.active) {
+ user-select: none;
+}
+.cdm.expandable.Unread {
+ background: white;
+}
+.cdm.expandable.Selected:not(.active) {
+ background: #9c7948;
+}
+.cdm.expandable.Selected:not(.active) a,
+.cdm.expandable.Selected:not(.active) .header a.title,
+.cdm.expandable.Selected:not(.active) span {
+ color: white;
+}
+.cdm.expandable.active {
+ background: white ! important;
+}
+div.cdm.expandable.active div.header span.titleWrap {
+ white-space: normal;
+}
+div.cdm.expandable div.header a.title {
+ font-weight: 600;
+ color: #ccc;
+ font-size: 14px;
+ transition: color 0.2s, background 0.2s;
+ text-rendering: optimizelegibility;
+ font-family: "Segoe WP Semibold", "Segoe UI Semibold", "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif;
+}
+div.cdm.expandable.Unread div.header a.title {
+ color: black;
+}
+div.cdm.expandable.active .collapse i.material-icons {
+ color: #b87d2c;
+ cursor: pointer;
+}
+div.cdm.expandable.active .excerpt {
+ display: none;
+}
+div.cdm.expandable.active div.header a.title {
+ color: #b87d2c;
+ font-size: 16px;
+ font-weight: 600;
+ text-rendering: optimizelegibility;
+ font-family: "Segoe WP Semibold", "Segoe UI Semibold", "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif;
+}
+div.cdm.expandable:not(.active) {
+ cursor: pointer;
+}
+div.cdm.expandable:not(.active) .content,
+div.cdm.expandable:not(.active) .collapse {
+ display: none;
+}
+div.cdm.expandable.active .header[stuck],
+div.cdm.expanded .header[stuck] {
+ box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.1);
+ border: 0 solid #222;
+ border-bottom-width: 1px;
+ background: #333 ! important;
+ opacity: 0.9;
+ backdrop-filter: blur(6px);
+}
+body.ttrss_prefs {
+ background-color: #222;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 14px;
+}
+body.ttrss_prefs h1,
+body.ttrss_prefs h2,
+body.ttrss_prefs h3,
+body.ttrss_prefs h4 {
+ font-family: "Segoe WP Semibold", "Segoe UI Semibold", "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-weight: 600;
+ color: #ccc;
+}
+body.ttrss_prefs .dijitContentPane h1:first-of-type,
+body.ttrss_prefs .dijitContentPane h2:first-of-type,
+body.ttrss_prefs .dijitContentPane h3:first-of-type {
+ margin-top: 0px;
+}
+body.ttrss_prefs #footer,
+body.ttrss_prefs #header {
+ padding: 8px;
+ font-size: 13px;
+}
+body.ttrss_prefs #header {
+ float: right;
+}
+body.ttrss_prefs #footer_splitter {
+ display: none;
+}
+body.ttrss_prefs #footer {
+ background-color: #222;
+ font-size: 13px;
+ border: 0px;
+ text-align: center;
+}
+body.ttrss_prefs #header img {
+ vertical-align: middle;
+ cursor: pointer;
+}
+body.ttrss_prefs .dijitTree#filterTree .dijitTreeIcon,
+body.ttrss_prefs .dijitTree#labelTree .dijitTreeIcon,
+body.ttrss_prefs .dijitTree#filterTree .dijitTreeIcon {
+ display: none;
+}
+body.ttrss_prefs .dijitAccordionTitle i.material-icons {
+ top: -1px;
+ position: relative;
+}
+body.ttrss_prefs .dijitAccordionTitleSelected i.material-icons {
+ color: white;
+}
+body.ttrss_prefs .dijitDialog #pref-profiles-list .dijitInlineEditBoxDisplayMode {
+ padding: 0px;
+}
+body.ttrss_prefs div#feedlistLoading,
+body.ttrss_prefs div#filterlistLoading,
+body.ttrss_prefs div#labellistLoading {
+ text-align: center;
+ padding: 5px;
+ color: #ccc;
+}
+body.ttrss_prefs div#feedlistLoading img,
+body.ttrss_prefs div#filterlistLoading img,
+body.ttrss_prefs div#labellistLoading {
+ margin-right: 5px;
+}
+body.ttrss_prefs #errorButton {
+ color: red;
+}
+body.ttrss_prefs .user-css-editor {
+ height: 300px;
+ width: 575px;
+}
+body.ttrss_prefs fieldset.prefs {
+ min-height: 30px;
+}
+body.ttrss_prefs fieldset.prefs label:first-of-type {
+ min-width: 300px;
+}
+body.ttrss_prefs fieldset.prefs .help-text {
+ display: inline-block;
+ margin-left: 10px;
+}
+body.ttrss_prefs fieldset.plugin label.description {
+ width: 600px;
+ margin-right: 150px;
+ display: inline-block;
+}
+body.ttrss_prefs fieldset.plugin label.description .dijitCheckBox {
+ margin-right: 10px;
+}
+body.ttrss_prefs .prefErrorLog tr td {
+ font-size: 10px;
+}
+body.ttrss_prefs .prefErrorLog tr .errno {
+ font-style: italic;
+ font-weight: bold;
+ white-space: nowrap;
+}
+body.ttrss_prefs .prefErrorLog tr .errstr {
+ word-break: break-all;
+}
+body.ttrss_prefs .prefErrorLog tr .filename,
+body.ttrss_prefs .prefErrorLog tr .login,
+body.ttrss_prefs .prefErrorLog tr .timestamp {
+ color: #ccc;
+}
+body.ttrss_prefs hr {
+ border-color: #222;
+ max-width: 100%;
+}
+body.ttrss_prefs .phpinfo table {
+ border-collapse: collapse;
+}
+body.ttrss_prefs .phpinfo td.e,
+body.ttrss_prefs .phpinfo td.v {
+ border: 1px solid #ccc;
+}
+body.ttrss_prefs .phpinfo td.e {
+ font-weight: bold;
+}
+body.ttrss_prefs .phpinfo td.v {
+ font-family: monospace;
+ word-break: break-all;
+}
+body.ttrss_prefs #filterNewRuleDlg .dijitValidationTextAreaError,
+body.ttrss_main #filterNewRuleDlg .dijitValidationTextAreaError {
+ background: #ffc0c0;
+}
+body.ttrss_prefs #filterNewRuleDlg .dijitValidationTextArea:not(.dijitValidationTextAreaError),
+body.ttrss_main #filterNewRuleDlg .dijitValidationTextArea:not(.dijitValidationTextAreaError) {
+ background: #c0ffc0;
+}
+body.ttrss_prefs fieldset,
+body.ttrss_utility fieldset {
+ border-width: 0px;
+ padding: 5px 0px;
+}
+body.ttrss_prefs fieldset.narrow,
+body.ttrss_utility fieldset.narrow {
+ padding: 2px 0px;
+}
+body.ttrss_prefs fieldset.align-right,
+body.ttrss_utility fieldset.align-right {
+ text-align: right;
+}
+body.ttrss_prefs fieldset > label:first-of-type,
+body.ttrss_utility fieldset > label:first-of-type {
+ min-width: 140px;
+ margin-right: 20px;
+ display: inline-block;
+ text-align: right;
+ font-weight: bold;
+}
+body.ttrss_prefs fieldset > label.checkbox,
+body.ttrss_utility fieldset > label.checkbox {
+ display: inline;
+ font-weight: normal;
+}
+.flat li {
+ padding: 2px;
+}
+.flat #feedTree .dijitTreeContent .dijitInline {
+ vertical-align: baseline;
+}
+.flat .dijitButton i.material-icons {
+ position: relative;
+ top: -1px;
+}
+.flat .tabLabel > i.material-icons {
+ position: relative;
+ top: -1px;
+}
+.flat #filterDlg_Matches span.filterRule {
+ color: green;
+}
+.flat #filterTree .filterRules li.inverse,
+.flat #filterDlg_Matches span.filterRule.inverse {
+ color: red;
+}
+.flat .dijitToolbar {
+ font-size: 13px;
+ padding: 0px;
+}
+.flat .dijitAccordionContainer {
+ box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
+}
+.flat .dijitCheckBox.dijitCheckBoxChecked {
+ background-color: #69C671;
+ border-color: #45b74f;
+}
+.flat .dijitMenu .dijitMenuItem .dijitMenuItemLabel {
+ padding: 4px 8px;
+ font-size: 13px;
+}
+.flat .dijitMenu .dijitMenuItem.dijitDisabled:not(.dijitMenuItemSelected) .dijitMenuItemLabel {
+ color: #d29745;
+}
+.flat .dijitMenu .dijitMenuItem td {
+ padding: 0px;
+}
+.flat .dijitCheckBox {
+ margin: 1px;
+}
+.flat .dijitCheckBox:before {
+ font-family: "flat-icon";
+ content: "\f00c";
+ color: white;
+}
+.flat .dijitTab i.material-icons,
+.flat .dijitAccordionInnerContainer:not(.dijitSelected) i.material-icons {
+ color: #b87d2c;
+}
+.flat .dijitTree .dijitFolderClosed,
+.flat .dijitTree .dijitFolderOpened {
+ display: none;
+}
+.flat .dijitTree .dijitTreeRowSelected .filterRules li {
+ color: white;
+}
+.flat .dijitTree .dijitTreeRowSelected .dijitTreeExpando {
+ color: #b87d2c;
+}
+.flat .dijitTree .dijitTreeNode .dijitTreeRow.dijitTreeRowSelected {
+ color: white;
+}
+.flat .dijitTree .dijitTreeRow .dijitTreeExpando {
+ position: relative;
+ top: -2px;
+}
+.flat .dijitTree .labelParam {
+ float: right;
+ margin-right: 16px;
+}
+.flat .dijitTree .dijitTreeRow.filterDisabled {
+ opacity: 0.5;
+}
+.flat .dijitTree .dijitTreeRow.filterDisabled .filterRules {
+ filter: saturate(0%);
+}
+.flat .dijitTree .feedParam {
+ float: right;
+}
+.flat .dijitTree .filterRules {
+ font-size: 12px;
+ line-height: normal;
+ white-space: normal;
+ margin-left: 28px;
+}
+.flat .dijitTree .filterRules li {
+ color: green;
+}
+.flat .dijitTree .dijitTreeContainer {
+ max-width: 100%;
+}
+.flat .dijitTree .dijitTreeRow {
+ overflow: hidden;
+ -moz-user-select: none;
+ text-overflow: ellipsis;
+}
+.flat label.dijitButton {
+ border: 1px solid #ccc;
+ padding: 6px;
+ border-radius: 4px;
+ cursor: pointer;
+ position: relative;
+ top: 1px;
+}
+.flat label.dijitButton:hover {
+ background-color: #222;
+}
+.flat .dijitTree .dijitTreeNode .dijitTreeRow {
+ padding: 4px 0px 4px;
+ border-width: 1px;
+ color: #ccc;
+}
+@font-face {
+ font-family: 'Material Icons';
+ font-style: normal;
+ font-weight: 400;
+ src: url(../lib/iconfont/MaterialIcons-Regular.eot);
+ /* For IE6-8 */
+ src: local('Material Icons'), local('MaterialIcons-Regular'), url(../lib/iconfont/MaterialIcons-Regular.woff2) format('woff2'), url(../lib/iconfont/MaterialIcons-Regular.woff) format('woff'), url(../lib/iconfont/MaterialIcons-Regular.ttf) format('truetype');
+}
+.material-icons {
+ font-family: 'Material Icons';
+ font-weight: normal;
+ font-style: normal;
+ font-size: 18px;
+ /* Preferred icon size */
+ display: inline-block;
+ line-height: 1;
+ text-transform: none;
+ letter-spacing: normal;
+ word-wrap: normal;
+ white-space: nowrap;
+ direction: ltr;
+ vertical-align: middle;
+ /* Support for all WebKit browsers. */
+ -webkit-font-smoothing: antialiased;
+ /* Support for Safari and Chrome. */
+ text-rendering: optimizeLegibility;
+ /* Support for Firefox. */
+ -moz-osx-font-smoothing: grayscale;
+ /* Support for IE. */
+ font-feature-settings: 'liga';
+}
+body.ttrss_utility.sanity_failed {
+ background: #900;
+}
+body.ttrss_utility {
+ background: #222;
+ color: #ccc;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 14px;
+ margin: 4em;
+}
+body.ttrss_utility .content {
+ background: #333;
+ border: 1px solid #222;
+ padding: 20px;
+ box-shadow: 0px 1px 1px -1px rgba(0, 0, 0, 0.1);
+}
+body.ttrss_utility .content h2:first-of-type {
+ margin-top: 0;
+}
+body.ttrss_utility .content h2,
+body.ttrss_utility .content h3,
+body.ttrss_utility .content h4 {
+ color: #b87d2c;
+ font-family: "Segoe WP Semibold", "Segoe UI Semibold", "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif;
+}
+body.ttrss_utility .content h2 {
+ font-size: 18px;
+}
+body.ttrss_utility .content h3 {
+ font-size: 16px;
+}
+body.ttrss_utility a {
+ color: #b87d2c;
+ text-decoration: none;
+}
+body.ttrss_utility a:hover,
+body.ttrss_utility a:focus {
+ color: #664518;
+ text-decoration: underline;
+}
+body.ttrss_utility h1 {
+ color: gray;
+ font-family: "Segoe WP Semibold", "Segoe UI Semibold", "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 18px;
+ margin: 10px 0 0 0;
+}
+body.ttrss_utility .footer {
+ text-align: center;
+ padding-top: 10px;
+}
+body.ttrss_utility .footer a {
+ color: gray;
+}
+body.ttrss_utility .footer a:hover {
+ color: #b87d2c;
+}
+body.ttrss_utility form {
+ margin: 0;
+}
+body.ttrss_utility.otp .content fieldset > label {
+ display: inline;
+}
+body.ttrss_utility.ttrss_login {
+ margin: 0;
+ padding: 0;
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+body.ttrss_utility.ttrss_login .container {
+ max-width: 600px;
+ margin-left: auto;
+ margin-right: auto;
+}
+body.ttrss_utility.ttrss_login .container .content {
+ padding: 40px;
+}
+body.ttrss_utility.installer,
+body.ttrss_utility.feed_debugger {
+ margin: 2em;
+}
+body.ttrss_utility.share_popup {
+ margin: 0;
+ padding: 0;
+ background: white;
+}
+body.ttrss_utility.share_popup .content {
+ padding: 15px;
+ border-width: 0;
+ box-shadow: none;
+}
+body.ttrss_zoom {
+ max-width: 900px;
+ margin: 2em auto;
+}
+body.ttrss_zoom div.post {
+ border: 1px solid #222;
+ background: #333;
+ box-shadow: 0px 1px 1px -1px rgba(0, 0, 0, 0.1);
+}
+body.ttrss_zoom div.post .attachments {
+ display: none;
+}
+body.ttrss_zoom div.post div.header {
+ padding-bottom: 10px;
+ border: 0px solid #222;
+ border-bottom-width: 1px;
+ background: #333;
+ font-size: 12px;
+ color: #ccc;
+}
+body.ttrss_zoom div.post div.header .row {
+ display: flex;
+ margin-bottom: 4px;
+ flex-wrap: nowrap;
+ align-items: center;
+ justify-content: space-between;
+}
+body.ttrss_zoom div.post div.content {
+ font-size: 15px;
+ line-height: 1.5;
+ border-width: 0;
+ padding: 0;
+}
+body.ttrss_zoom div.post div.content img,
+body.ttrss_zoom div.post div.content video {
+ max-width: 760px;
+ height: auto;
+}
+body.ttrss_zoom div.post div.content blockquote {
+ margin: 5px 0px 5px 0px;
+ color: #ccc;
+ padding-left: 10px;
+ border: 0px solid #222;
+ border-left-width: 4px;
+}
+body.ttrss_zoom div.post div.content code {
+ color: #009900;
+ font-family: monospace;
+ font-size: 12px;
+}
+body.ttrss_zoom div.post div.content pre {
+ margin: 5px 0px 5px 0px;
+ padding: 10px;
+ color: #ccc;
+ font-family: monospace;
+ font-size: 12px;
+ border: 0px solid #ccc;
+ background: #222;
+ display: block;
+ max-width: 98%;
+ overflow: auto;
+}
+body.flat.ttrss_main.ttrss_prefs #main,
+body.flat.ttrss_main.ttrss_prefs #footer {
+ background: #222;
+}
+body.flat.ttrss_main.ttrss_prefs #footer a {
+ color: #fff;
+}
+body.flat.ttrss_main.ttrss_prefs td.filename,
+body.flat.ttrss_main.ttrss_prefs div.prefHelp {
+ color: #999999;
+}
+body.flat.ttrss_main.ttrss_prefs hr {
+ border-color: #666;
+}
+body.flat.ttrss_main {
+ /*
+ .post .content img,
+ .cdm .content-inner img,
+ .post .content video,
+ .cdm .content-inner video {
+ transition : opacity 0.2s linear, filter 0.2s linear;
+ }
+
+ .post .content img:not(:hover),
+ .cdm .content-inner img:not(:hover),
+ .post .content video:not(:hover),
+ .cdm .content-inner video:not(:hover) {
+ opacity : 0.5;
+ filter: grayscale(80%);
+ } */
+}
+body.flat.ttrss_main img[src*='indicator_white.gif'] {
+ filter: invert(1);
+}
+body.flat.ttrss_main a:hover {
+ color: #dcae6e;
+}
+body.flat.ttrss_main #main,
+body.flat.ttrss_main #overlay {
+ color: #ccc;
+ background: #333;
+}
+body.flat.ttrss_main #toolbar-frame #toolbar {
+ background: #222;
+ color: #e6e6e6;
+}
+body.flat.ttrss_main #feeds-holder {
+ background: #222;
+ box-shadow: inset -1px 0px 2px -1px #666;
+}
+body.flat.ttrss_main #feeds-holder #feedTree .counterNode.aux,
+body.flat.ttrss_main #feeds-holder #feedTree .counterNode.marked {
+ background: #222;
+ color: #ccc;
+ border-color: #333;
+}
+body.flat.ttrss_main #feeds-holder #feedTree .counterNode.marked {
+ border-color: #b87d2c;
+}
+body.flat.ttrss_main #feeds-holder #feedTree .dijitTreeRowSelected {
+ background: #333;
+ border-color: #333 transparent;
+ color: #e6e6e6;
+}
+body.flat.ttrss_main #feeds-holder #feedTree .dijitTreeRowSelected .dijitTreeLabel {
+ text-shadow: none;
+}
+body.flat.ttrss_main #feeds-holder #feedTree i.icon.icon-inbox {
+ color: #999999;
+}
+body.flat.ttrss_main #headlines-frame .hl:not(.active):not(.Selected):not(.Unread),
+body.flat.ttrss_main #headlines-frame .cdm.expandable:not(.active):not(.Selected):not(.Unread) {
+ background: #333;
+}
+body.flat.ttrss_main #headlines-frame .hl.Unread:not(.active):not(.Selected),
+body.flat.ttrss_main #headlines-frame .cdm.expandable.Unread:not(.active):not(.Selected) {
+ background: #222;
+}
+body.flat.ttrss_main #headlines-frame .cdm.expanded {
+ background: #333;
+}
+body.flat.ttrss_main #headlines-frame .hl.Unread .title,
+body.flat.ttrss_main #headlines-frame .cdm.Unread .title {
+ color: #e6e6e6;
+}
+body.flat.ttrss_main #headlines-frame .hl.active > *,
+body.flat.ttrss_main #headlines-frame .hl.Selected > *,
+body.flat.ttrss_main #headlines-frame .cdm.expandable.Selected > * {
+ filter: invert(1);
+}
+body.flat.ttrss_main #headlines-frame .hl.active > * img,
+body.flat.ttrss_main #headlines-frame .hl.Selected > * img,
+body.flat.ttrss_main #headlines-frame .cdm.expandable.Selected > * img {
+ filter: invert(1);
+}
+body.flat.ttrss_main #headlines-frame .hl.active .dijitCheckBox,
+body.flat.ttrss_main #headlines-frame .hl.Selected .dijitCheckBox,
+body.flat.ttrss_main #headlines-frame .cdm.expandable.Selected .dijitCheckBox {
+ filter: invert(1);
+}
+body.flat.ttrss_main #headlines-frame .hl.Selected.marked i.marked-pic,
+body.flat.ttrss_main #headlines-frame .cdm.expandable.Selected.marked i.marked-pic,
+body.flat.ttrss_main #headlines-frame .hl.active.marked i.marked-pic {
+ filter: invert(1);
+}
+body.flat.ttrss_main #headlines-frame .hl.Selected.published i.pub-pic,
+body.flat.ttrss_main #headlines-frame .cdm.expandable.Selected.published i.pub-pic,
+body.flat.ttrss_main #headlines-frame .hl.active.published i.pub-pic {
+ filter: invert(1);
+}
+body.flat.ttrss_main #headlines-frame .cdm.expanded.active .title,
+body.flat.ttrss_main #headlines-frame .cdm.expandable.active .title {
+ color: #b87d2c;
+}
+body.flat.ttrss_main #headlines-frame .cdm.expandable.active {
+ background: #222 ! important;
+}
+body.flat.ttrss_main #headlines-frame .hl,
+body.flat.ttrss_main #headlines-frame .cdm {
+ color: #ccc;
+}
+body.flat.ttrss_main #headlines-frame .hl .title,
+body.flat.ttrss_main #headlines-frame .cdm .title {
+ color: #ccc;
+}
+body.flat.ttrss_main #headlines-frame .hl .author,
+body.flat.ttrss_main #headlines-frame .cdm .author {
+ color: #999999;
+}
+body.flat.ttrss_main #headlines-frame .hl .updated,
+body.flat.ttrss_main #headlines-frame .cdm .updated,
+body.flat.ttrss_main #headlines-frame .hl .content,
+body.flat.ttrss_main #headlines-frame .cdm .content {
+ color: #ccc;
+}
+body.flat.ttrss_main #headlines-frame .hl .feed a,
+body.flat.ttrss_main #headlines-frame .cdm .feed a {
+ color: #e6e6e6;
+}
+body.flat.ttrss_main #headlines-frame .cdm .footer {
+ border-color: #222;
+ color: #ccc;
+}
+body.flat.ttrss_main #headlines-frame .left i.material-icons,
+body.flat.ttrss_main #headlines-frame .left .dijitCheckBox {
+ opacity: 0.7;
+}
+body.flat.ttrss_main .dijitToolbar .dijitSelect .dijitButtonContents,
+body.flat.ttrss_main .dijitToolbar .dijitSelect .dijitButtonNode {
+ transition: background-color 0.3s linear;
+}
+body.flat.ttrss_main .dijitToolbar .dijitSelect:not(.dijitHover) .dijitButtonContents,
+body.flat.ttrss_main .dijitToolbar .dijitSelect:not(.dijitHover) .dijitButtonNode {
+ background-color: #222;
+}
+body.flat.ttrss_main .dijitCheckBox:not(.dijitChecked)::before {
+ color: #999999;
+ background: #222;
+}
+body.flat.ttrss_main .text-muted {
+ color: #999999;
+}
+body.flat.ttrss_main .dijitAccordionInnerContainerSelected .dijitAccordionTitle {
+ color: white;
+}
+body.flat.ttrss_main .dijitDialog .dijitDialogPaneContent {
+ background: #222;
+}
+body.flat.ttrss_main .dijitTab:not(.dijitTabChecked) {
+ background: #222;
+}
+body.flat.ttrss_main .dijitTab.dijitTabChecked.dijitTabHover {
+ color: #e6e6e6;
+}
+body.flat.ttrss_main label.dijitButton {
+ border: 1px solid #666;
+}
+body.flat.ttrss_main label.dijitButton:hover {
+ border-color: #2f2f2f;
+ background-color: #333;
+}
+body.flat.ttrss_main textarea {
+ color: #e6e6e6;
+}
+body.flat.ttrss_main code {
+ color: #c90 ! important;
+}
+body.flat.ttrss_main .panel {
+ background-color: #222;
+ border-color: #666;
+}
+body.flat.ttrss_main .dijitDialog .panel {
+ background-color: #333;
+}
+body.flat.ttrss_main #headlines-frame blockquote,
+body.flat.ttrss_main #content-insert blockquote {
+ color: #ccc;
+ border-color: #b87d2c;
+}
+body.flat.ttrss_main pre {
+ color: #ccc;
+ background: #222 ! important;
+}
+body.flat.ttrss_main ul#filterDlg_Matches,
+body.flat.ttrss_main ul#filterDlg_Actions {
+ background: #222;
+ border-color: #666;
+}
+body.flat.ttrss_main .article-note {
+ background: #b87d2c;
+ border-color: #b87d2c;
+ color: #333;
+}
+body.flat.ttrss_main .article-note i.material-icons {
+ color: #333;
+}
+body.flat.ttrss_main ::-webkit-scrollbar {
+ width: 4px;
+}
+body.flat.ttrss_main ::-webkit-scrollbar-thumb {
+ background-color: #666;
+}
+body.flat.ttrss_main ::-webkit-scrollbar-track {
+ background-color: #222;
+}
+body.flat.ttrss_main .alert {
+ background: #222;
+ border-color: #664518;
+ color: #b87d2c;
+}
+body.flat.ttrss_main .alert.alert-info {
+ color: #3a87ad;
+ border-color: #204b61;
+}
+body.flat.ttrss_main .alert.alert-danger {
+ color: #b94a48;
+ border-color: #702c2b;
+}
+body.flat.ttrss_main #filterNewRuleDlg .dijitValidationTextAreaError {
+ background: #503030;
+}
+body.flat.ttrss_main #filterNewRuleDlg .dijitValidationTextArea:not(.dijitValidationTextAreaError) {
+ background: #305030;
+}
+/* rules specific to compact.css */
+body.ttrss_main.ttrss_index.flat #feedTree.dijitTree .dijitTreeLabel {
+ font-size: 13px ! important;
+}
+body.ttrss_main.ttrss_index.flat .dijitMenu .dijitMenuItemLabel,
+body.ttrss_main.ttrss_index.flat .content-inner,
+body.ttrss_main.ttrss_index.flat #content-insert,
+body.ttrss_main.ttrss_index.flat .cdm .content,
+body.ttrss_main.ttrss_index.flat .post .content {
+ font-size: 12px ! important;
+}
+body.ttrss_main.ttrss_index.flat div[id*=RROW] i.material-icons {
+ font-size: 18px;
+}
+body.ttrss_main.ttrss_index.flat .hl,
+body.ttrss_main.ttrss_index.flat .post .header .title,
+body.ttrss_main.ttrss_index.flat .cdm .title {
+ font-size: 13px ! important;
+}
+/*# sourceMappingURL=compact_night.css.map */ \ No newline at end of file
diff --git a/themes/compact_night.css.map b/themes/compact_night.css.map
new file mode 100644
index 000000000..bb9496444
--- /dev/null
+++ b/themes/compact_night.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["night_base.less","light/defines.less","light/tt-rss.less","light/cdm.less","light/prefs.less","light/dijit_basic.less","light/utility.less","light/zoom.less","compact_base.less"],"names":[],"mappings":"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","file":"compact_night.css"} \ No newline at end of file
diff --git a/themes/compact_night.less b/themes/compact_night.less
new file mode 100644
index 000000000..5cefa726d
--- /dev/null
+++ b/themes/compact_night.less
@@ -0,0 +1,2 @@
+@import "night_base.less";
+@import "compact_base.less";
diff --git a/themes/light.css b/themes/light.css
index f8f8b65ce..60db9706c 100644
--- a/themes/light.css
+++ b/themes/light.css
@@ -70,12 +70,19 @@ body.ttrss_main div.post div.content video {
max-width: 98%;
height: auto;
}
-body.ttrss_main div.post div.content p {
- hyphens: auto;
+body.ttrss_main div.post div.content div.embed-responsive {
+ overflow: hidden;
+ padding-bottom: 56.25%;
+ position: relative;
}
-body.ttrss_main div.post div.content iframe {
- min-width: 50%;
- max-width: 98%;
+body.ttrss_main div.post div.content div.embed-responsive iframe {
+ border: 0;
+ bottom: 0;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
}
body.ttrss_main .inline-player {
display: flex;
@@ -661,13 +668,6 @@ body.ttrss_main #headlines-frame div.feed-title a {
body.ttrss_main #headlines-frame div.feed-title a:hover {
color: #257aa7;
}
-body.ttrss_main #headlines-frame.smooth-scroll {
- scroll-behavior: smooth;
-}
-body.ttrss_main #headlines-frame.forbid-smooth-scroll,
-body.ttrss_main #content-insert.forbid-smooth-scroll {
- scroll-behavior: auto;
-}
body.ttrss_main #toolbar-frame_splitter {
display: none;
}
@@ -754,7 +754,6 @@ body.ttrss_main #content-insert {
line-height: 1.5;
overflow: auto;
-webkit-overflow-scrolling: touch;
- scroll-behavior: smooth;
}
body.ttrss_main img.feed-icon,
body.ttrss_main img.icon {
@@ -865,6 +864,22 @@ body.ttrss_main #feedEditDlg img.feedIcon {
height: auto;
width: auto;
}
+body.ttrss_main .dijitTooltipContents {
+ background: #1c5c7d;
+ color: #f5f5f5;
+}
+body.ttrss_main .dijitTooltipRight .dijitTooltipConnector {
+ border-right-color: #1c5c7d;
+}
+body.ttrss_main .dijitTooltipLeft .dijitTooltipConnector {
+ border-left-color: #1c5c7d;
+}
+body.ttrss_main .dijitTooltipBelow .dijitTooltipConnector {
+ border-bottom-color: #1c5c7d;
+}
+body.ttrss_main .dijitTooltipAbove .dijitTooltipConnector {
+ border-top-color: #1c5c7d;
+}
body.ttrss_main .dijitDialog h1:first-of-type,
body.ttrss_main .dijitDialog h2:first-of-type,
body.ttrss_main .dijitDialog h3:first-of-type,
@@ -877,10 +892,10 @@ body.ttrss_main[view-mode="marked"] #feeds-holder #feedTree .dijitTreeRow.Has_Ma
body.ttrss_main[view-mode="marked"] #feeds-holder #feedTree .dijitTreeRow.Has_Marked .counterNode.marked {
display: inline-block;
}
-body.ttrss_main[view-mode="marked"][hide-read-feeds="true"][hide-read-shows-special="true"] #feeds-holder #feedTree .dijitTreeRow:not(.dijitTreeRowSelected):not(.AlwaysVisible):not(.Special):not(.Has_Marked) {
+body.ttrss_main[view-mode="marked"][hide-read-feeds="true"][hide-read-shows-special="true"] #feeds-holder #feedTree .dijitTreeRow:not(.AlwaysVisible):not(.Special):not(.Has_Marked) {
display: none;
}
-body.ttrss_main[view-mode="marked"][hide-read-feeds="true"][hide-read-shows-special="false"] #feeds-holder #feedTree .dijitTreeRow:not(.dijitTreeRowSelected):not(.AlwaysVisible):not(.Has_Marked) {
+body.ttrss_main[view-mode="marked"][hide-read-feeds="true"][hide-read-shows-special="false"] #feeds-holder #feedTree .dijitTreeRow:not(.AlwaysVisible):not(.Has_Marked) {
display: none;
}
body.ttrss_main:not([view-mode="marked"]) #feeds-holder #feedTree .dijitTreeRow.Unread .counterNode.unread {
@@ -889,10 +904,10 @@ body.ttrss_main:not([view-mode="marked"]) #feeds-holder #feedTree .dijitTreeRow.
body.ttrss_main:not([view-mode="marked"]) #feeds-holder #feedTree .dijitTreeRow.Has_Aux:not(.Unread) .counterNode.aux {
display: inline-block;
}
-body.ttrss_main:not([view-mode="marked"])[hide-read-feeds="true"][hide-read-shows-special="true"] #feeds-holder #feedTree .dijitTreeRow:not(.dijitTreeRowSelected):not(.Unread):not(.AlwaysVisible):not(.Special) {
+body.ttrss_main:not([view-mode="marked"])[hide-read-feeds="true"][hide-read-shows-special="true"] #feeds-holder #feedTree .dijitTreeRow:not(.Unread):not(.AlwaysVisible):not(.Special) {
display: none;
}
-body.ttrss_main:not([view-mode="marked"])[hide-read-feeds="true"][hide-read-shows-special="false"] #feeds-holder #feedTree .dijitTreeRow:not(.dijitTreeRowSelected):not(.Unread):not(.AlwaysVisible) {
+body.ttrss_main:not([view-mode="marked"])[hide-read-feeds="true"][hide-read-shows-special="false"] #feeds-holder #feedTree .dijitTreeRow:not(.Unread):not(.AlwaysVisible) {
display: none;
}
body.ttrss_main #toolbar-headlines i.icon-syndicate {
@@ -917,12 +932,10 @@ body.ttrss_main i.icon-no-feed {
body.ttrss_main .dijitTreeRow.UpdatesDisabled .dijitTreeLabel {
opacity: 0.5;
}
-body.ttrss_main #floatingTitle.marked i.marked-pic,
body.ttrss_main .cdm.marked .left i.marked-pic,
body.ttrss_main .hl.marked .left i.marked-pic {
color: #ffc069;
}
-body.ttrss_main #floatingTitle.published i.pub-pic,
body.ttrss_main .cdm.published .left i.pub-pic,
body.ttrss_main .hl.published .left i.pub-pic {
color: #ff7c4b;
@@ -1116,6 +1129,11 @@ video::-webkit-media-controls-overlay-play-button {
.cdm i.material-icons {
color: #777;
}
+.cdm .header {
+ position: sticky;
+ top: 0;
+ z-index: 3;
+}
.cdm .header,
.cdm .footer {
display: flex;
@@ -1128,6 +1146,9 @@ video::-webkit-media-controls-overlay-play-button {
margin: 0px 4px;
vertical-align: middle;
}
+.cdm .header-sticky-guard {
+ height: 0;
+}
.cdm .header {
align-items: center;
}
@@ -1207,9 +1228,6 @@ video::-webkit-media-controls-overlay-play-button {
margin-top: 0px;
margin-bottom: 0px;
}
-div.cdm.expanded div.header {
- background: transparent ! important;
-}
div.cdm.expanded div.header a.title {
font-size: 16px;
color: #999;
@@ -1267,15 +1285,19 @@ div.cdm.vgrlf .feed {
font-style: italic;
font-size: 11px;
}
-.cdm div.content-inner p {
- /*max-width : 650px;*/
- -webkit-hyphens: auto;
- -moz-hyphens: auto;
- hyphens: auto;
+.cdm div.content-inner div.embed-responsive {
+ overflow: hidden;
+ padding-bottom: 56.25%;
+ position: relative;
}
-.cdm div.content-inner iframe {
- min-width: 50%;
- max-width: 98%;
+.cdm div.content-inner div.embed-responsive iframe {
+ border: 0;
+ bottom: 0;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
}
.cdm div.header span.author {
white-space: nowrap;
@@ -1288,115 +1310,6 @@ div.cdm.vgrlf .feed {
display: inline-block;
padding: 1px 4px 1px 4px;
}
-#main:not(.expandable) div#floatingTitle .collapse {
- display: none;
-}
-div#floatingTitle {
- position: absolute;
- z-index: 5;
- top: 0px;
- right: 0px;
- left: 0px;
- border: 0px solid #ddd;
- border-bottom-width: 1px;
- background: white;
- color: #555;
- display: flex;
- flex-direction: row;
- flex-wrap: nowrap;
- box-shadow: 0px 1px 1px -1px rgba(0, 0, 0, 0.1);
- align-items: center;
-}
-div#floatingTitle > * {
- white-space: nowrap;
- padding: 4px;
-}
-div#floatingTitle .left,
-div#floatingTitle .right {
- display: flex;
- align-items: center;
-}
-div#floatingTitle .left i.material-icons,
-div#floatingTitle .right i.material-icons {
- margin-left: 2px;
- font-size: 21px;
- padding: 2px;
- user-select: none;
-}
-div#floatingTitle .left i.icon-anchor,
-div#floatingTitle .right i.icon-anchor {
- margin-left: 0px;
- margin-right: 1px;
- padding: 0px;
- color: #ccc;
- cursor: pointer;
-}
-div#floatingTitle .excerpt {
- display: none;
-}
-div#floatingTitle .collapse i.material-icons {
- color: #257aa7;
- cursor: pointer;
-}
-div#floatingTitle span.author {
- color: #555;
- font-size: 11px;
- font-weight: normal;
-}
-div#floatingTitle a.title {
- font-size: 16px;
- color: #999;
- transition: color 0.2s, background 0.2s;
- font-weight: 600;
- text-rendering: optimizelegibility;
- font-family: "Segoe WP Semibold", "Segoe UI Semibold", "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif;
-}
-div#floatingTitle div.feed {
- padding-right: 10px;
- color: #555;
- font-weight: normal;
- font-style: italic;
- font-size: 11px;
- white-space: nowrap;
-}
-div#floatingTitle div.feed a {
- border-radius: 4px;
- display: inline-block;
- padding: 1px 4px 1px 4px;
-}
-div#floatingTitle span.updated {
- padding-right: 10px;
- white-space: nowrap;
- color: #555;
- font-size: 11px;
-}
-div#floatingTitle div.feed a {
- color: #555;
-}
-div#floatingTitle span.titleWrap {
- width: 100%;
- white-space: normal;
-}
-div#floatingTitle .feed-title > * {
- display: table-cell;
- vertical-align: middle;
-}
-div#floatingTitle .feed-title a.title {
- width: 100%;
-}
-div#floatingTitle .feed-title a.catchup {
- text-align: right;
- color: #555;
- padding-right: 10px;
- font-size: 11px;
- white-space: nowrap;
-}
-div#floatingTitle .feed-title a.catchup:hover {
- color: #257aa7;
-}
-div#floatingTitle.Unread a.title {
- color: black;
-}
.cdm.expandable {
background-color: #f5f5f5;
border: 0px solid #ddd;
@@ -1469,6 +1382,15 @@ div.cdm.expandable:not(.active) .content,
div.cdm.expandable:not(.active) .collapse {
display: none;
}
+div.cdm.expandable.active .header[stuck],
+div.cdm.expanded .header[stuck] {
+ box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.1);
+ border: 0 solid #ddd;
+ border-bottom-width: 1px;
+ background: white ! important;
+ opacity: 0.9;
+ backdrop-filter: blur(6px);
+}
body.ttrss_prefs {
background-color: #f5f5f5;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
@@ -1594,12 +1516,12 @@ body.ttrss_prefs .phpinfo td.v {
font-family: monospace;
word-break: break-all;
}
-body.ttrss_prefs #filterNewRuleDlg .invalid,
-body.ttrss_main #filterNewRuleDlg .invalid {
+body.ttrss_prefs #filterNewRuleDlg .dijitValidationTextAreaError,
+body.ttrss_main #filterNewRuleDlg .dijitValidationTextAreaError {
background: #ffc0c0;
}
-body.ttrss_prefs #filterNewRuleDlg .valid,
-body.ttrss_main #filterNewRuleDlg .valid {
+body.ttrss_prefs #filterNewRuleDlg .dijitValidationTextArea:not(.dijitValidationTextAreaError),
+body.ttrss_main #filterNewRuleDlg .dijitValidationTextArea:not(.dijitValidationTextAreaError) {
background: #c0ffc0;
}
body.ttrss_prefs fieldset,
@@ -1906,11 +1828,6 @@ body.ttrss_zoom div.post div.header .row {
align-items: center;
justify-content: space-between;
}
-body.ttrss_zoom div.post p {
- -webkit-hyphens: auto;
- -moz-hyphens: auto;
- hyphens: auto;
-}
body.ttrss_zoom div.post div.content {
font-size: 15px;
line-height: 1.5;
diff --git a/themes/light.css.map b/themes/light.css.map
index 00664b779..787e0e115 100644
--- a/themes/light.css.map
+++ b/themes/light.css.map
@@ -1 +1 @@
-{"version":3,"sources":["C:/Users/fox/Projects/tt-rss/css/default.less","C:/Users/fox/Projects/tt-rss/css/defines.less","C:/Users/fox/Projects/tt-rss/css/tt-rss.less","C:/Users/fox/Projects/tt-rss/css/cdm.less","C:/Users/fox/Projects/tt-rss/css/prefs.less","C:/Users/fox/Projects/tt-rss/css/utility.less","C:/Users/fox/Projects/tt-rss/css/dijit_basic.less","C:/Users/fox/Projects/tt-rss/css/dijit_light.less","C:/Users/fox/Projects/tt-rss/css/zoom.less"],"names":[],"mappings":"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","file":"light.css"} \ No newline at end of file
+{"version":3,"sources":["light/light_base.less","light/defines.less","light/tt-rss.less","light/cdm.less","light/prefs.less","light/utility.less","light/dijit_basic.less","light/dijit_light.less","light/zoom.less"],"names":[],"mappings":"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","file":"light.css"} \ No newline at end of file
diff --git a/themes/light.less b/themes/light.less
index e0f21f110..2e9b4da6a 100644
--- a/themes/light.less
+++ b/themes/light.less
@@ -1 +1 @@
-@import "../css/default.less";
+@import "light/light_base.less";
diff --git a/css/cdm.less b/themes/light/cdm.less
index 7ac28913e..3a5b602f2 100755..100644
--- a/css/cdm.less
+++ b/themes/light/cdm.less
@@ -3,6 +3,12 @@
color : @color-icon;
}
+ .header {
+ position: sticky;
+ top : 0;
+ z-index: 3;
+ }
+
.header, .footer {
display : flex;
flex-direction : row;
@@ -15,6 +21,10 @@
vertical-align: middle;
}
+ .header-sticky-guard {
+ height : 0;
+ }
+
.header {
align-items : center;
@@ -110,10 +120,6 @@
}
-div.cdm.expanded div.header {
- background : transparent ! important;
-}
-
div.cdm.expanded div.header a.title {
font-size : 16px;
color : #999;
@@ -185,16 +191,20 @@ div.cdm.vgrlf .feed {
font-size: 11px;
}
- div.content-inner p {
- /*max-width : 650px;*/
- -webkit-hyphens: auto;
- -moz-hyphens: auto;
- hyphens: auto;
- }
-
- div.content-inner iframe {
- min-width : 50%;
- max-width : 98%;
+ div.content-inner div.embed-responsive {
+ overflow : hidden;
+ padding-bottom : @embed-responsive-padding;
+ position : relative;
+
+ iframe {
+ border : 0;
+ bottom : 0;
+ height : 100%;
+ left : 0;
+ position : absolute;
+ top : 0;
+ width : 100%;
+ }
}
div.header span.author {
@@ -211,137 +221,6 @@ div.cdm.vgrlf .feed {
}
}
-#main:not(.expandable) div#floatingTitle {
- .collapse {
- display : none;
- }
-}
-
-div#floatingTitle {
- position : absolute;
- z-index : 5;
- top : 0px;
- right : 0px;
- left : 0px;
- border: 0px solid @border-default;
- border-bottom-width: 1px;
- background : white;
- color : @default-text;
- display : flex;
- flex-direction : row;
- flex-wrap : nowrap;
- box-shadow : 0px 1px 1px -1px rgba(0,0,0,0.1);
- align-items: center;
-
- > * {
- white-space : nowrap;
- padding : 4px;
- }
-
- .left, .right {
- display : flex;
- align-items : center;
-
- i.material-icons {
- margin-left : 2px;
- font-size : 21px;
- padding : 2px;
- user-select: none;
- }
-
- i.icon-anchor {
- margin-left : 0px;
- margin-right : 1px; // replaces checkbox which is a bit wider
- padding : 0px;
- color : #ccc;
- cursor : pointer;
- }
- }
-
- .excerpt {
- display : none;
- }
-
- .collapse i.material-icons {
- color : @color-accent;
- cursor : pointer;
- }
-
- span.author {
- color : @default-text;
- font-size : 11px;
- font-weight : normal;
- }
-
- a.title {
- font-size : 16px;
- color : #999;
- transition : color 0.2s, background 0.2s;
- font-weight : 600;
- text-rendering: optimizelegibility;
- font-family : @fonts-ui-bold;
- }
-
- div.feed {
- padding-right : 10px;
- color : @default-text;
- font-weight : normal;
- font-style : italic;
- font-size : 11px;
- white-space : nowrap;
- }
-
- div.feed a {
- border-radius : 4px;
- display : inline-block;
- padding : 1px 4px 1px 4px;
- }
-
- span.updated {
- padding-right : 10px;
- white-space : nowrap;
- color : @default-text;
- font-size : 11px;
- }
-
- div.feed a {
- color : @default-text;
- }
-
- span.titleWrap {
- width : 100%;
- white-space : normal;
- }
-
- .feed-title {
- > * {
- display : table-cell;
- vertical-align : middle;
- }
-
- a.title {
- width : 100%;
- }
-
- a.catchup {
- text-align : right;
- color : @default-text;
- padding-right : 10px;
- font-size : 11px;
- white-space : nowrap;
- }
-
- a.catchup:hover {
- color : @color-link;
- }
-
- }
-}
-
-div#floatingTitle.Unread a.title {
- color : black;
-}
-
.cdm.expandable {
background-color : @color-panel-bg;
border: 0px solid @border-default;
@@ -432,3 +311,17 @@ div.cdm.expandable:not(.active) {
display : none;
}
}
+
+div.cdm {
+ &.expandable.active,
+ &.expanded {
+ .header[stuck] {
+ box-shadow : 0 1px 1px -1px rgba(0,0,0,0.1);
+ border: 0 solid @border-default;
+ border-bottom-width: 1px;
+ background : @default-bg ! important;
+ opacity: 0.9;
+ backdrop-filter: blur(6px);
+ }
+ }
+}
diff --git a/css/defines.less b/themes/light/defines.less
index 1926a06a5..7de7a7686 100644
--- a/css/defines.less
+++ b/themes/light/defines.less
@@ -14,6 +14,10 @@
@border-default : #ddd;
@default-text: #555;
@color-icon: #777;
+@color-tooltip-fg: @color-panel-bg;
+@color-tooltip-bg: darken(@color-accent, 10%);
+
+@embed-responsive-padding: 56.25%; // Use 56.25% for 16:9 aspect ratio, 75% for 4:3.
body.ttrss_main,
body.ttrss_prefs,
diff --git a/css/dijit_basic.less b/themes/light/dijit_basic.less
index a00cc5e59..a00cc5e59 100644
--- a/css/dijit_basic.less
+++ b/themes/light/dijit_basic.less
diff --git a/css/dijit_light.less b/themes/light/dijit_light.less
index 53b098bba..53b098bba 100644
--- a/css/dijit_light.less
+++ b/themes/light/dijit_light.less
diff --git a/css/default.less b/themes/light/light_base.less
index 3e94b6a09..769f23efe 100644
--- a/css/default.less
+++ b/themes/light/light_base.less
@@ -1,4 +1,4 @@
@import "defines.less";
@import "dijit_light.less";
@import "zoom.less";
-@import "../lib/flat-ttrss/flat_combined.css"; \ No newline at end of file
+@import "../lib/flat-ttrss/flat_combined.css";
diff --git a/css/prefs.less b/themes/light/prefs.less
index 7b187e584..92084a9c8 100644
--- a/css/prefs.less
+++ b/themes/light/prefs.less
@@ -155,10 +155,10 @@ body.ttrss_prefs {
body.ttrss_prefs,
body.ttrss_main {
#filterNewRuleDlg {
- .invalid {
+ .dijitValidationTextAreaError {
background : #ffc0c0;
}
- .valid {
+ .dijitValidationTextArea:not(.dijitValidationTextAreaError) {
background : #c0ffc0;
}
}
diff --git a/css/tt-rss.less b/themes/light/tt-rss.less
index 82be48d75..b3fba8cf9 100755..100644
--- a/css/tt-rss.less
+++ b/themes/light/tt-rss.less
@@ -66,13 +66,20 @@ body.ttrss_main {
height: auto;
}
- p {
- hyphens: auto;
- }
+ div.embed-responsive {
+ overflow : hidden;
+ padding-bottom : @embed-responsive-padding;
+ position : relative;
- iframe {
- min-width : 50%;
- max-width : 98%;
+ iframe {
+ border : 0;
+ bottom : 0;
+ height : 100%;
+ left : 0;
+ position : absolute;
+ top : 0;
+ width : 100%;
+ }
}
}
}
@@ -777,15 +784,6 @@ body.ttrss_main {
}
}
- #headlines-frame.smooth-scroll {
- scroll-behavior: smooth;
- }
-
- #headlines-frame.forbid-smooth-scroll,
- #content-insert.forbid-smooth-scroll {
- scroll-behavior : auto;
- }
-
#toolbar-frame_splitter {
display : none;
}
@@ -885,7 +883,6 @@ body.ttrss_main {
line-height: 1.5;
overflow : auto;
-webkit-overflow-scrolling : touch;
- scroll-behavior: smooth;
}
img.feed-icon, img.icon {
@@ -1018,6 +1015,27 @@ body.ttrss_main {
height : auto;
width : auto;
}
+
+ .dijitTooltipContents {
+ background : @color-tooltip-bg;
+ color : @color-tooltip-fg;
+ }
+
+ .dijitTooltipRight .dijitTooltipConnector {
+ border-right-color : @color-tooltip-bg;
+ }
+
+ .dijitTooltipLeft .dijitTooltipConnector {
+ border-left-color : @color-tooltip-bg;
+ }
+
+ .dijitTooltipBelow .dijitTooltipConnector {
+ border-bottom-color : @color-tooltip-bg;
+ }
+
+ .dijitTooltipAbove .dijitTooltipConnector {
+ border-top-color : @color-tooltip-bg;
+ }
}
body.ttrss_main .dijitDialog {
@@ -1039,12 +1057,12 @@ body.ttrss_main[view-mode="marked"] #feeds-holder #feedTree {
}
body.ttrss_main[view-mode="marked"][hide-read-feeds="true"][hide-read-shows-special="true"] #feeds-holder #feedTree
- .dijitTreeRow:not(.dijitTreeRowSelected):not(.AlwaysVisible):not(.Special):not(.Has_Marked) {
+ .dijitTreeRow:not(.AlwaysVisible):not(.Special):not(.Has_Marked) {
display : none;
}
body.ttrss_main[view-mode="marked"][hide-read-feeds="true"][hide-read-shows-special="false"] #feeds-holder #feedTree
- .dijitTreeRow:not(.dijitTreeRowSelected):not(.AlwaysVisible):not(.Has_Marked) {
+ .dijitTreeRow:not(.AlwaysVisible):not(.Has_Marked) {
display : none;
}
@@ -1059,12 +1077,12 @@ body.ttrss_main:not([view-mode="marked"]) #feeds-holder #feedTree {
}
body.ttrss_main:not([view-mode="marked"])[hide-read-feeds="true"][hide-read-shows-special="true"] #feeds-holder #feedTree
- .dijitTreeRow:not(.dijitTreeRowSelected):not(.Unread):not(.AlwaysVisible):not(.Special) {
+ .dijitTreeRow:not(.Unread):not(.AlwaysVisible):not(.Special) {
display : none;
}
body.ttrss_main:not([view-mode="marked"])[hide-read-feeds="true"][hide-read-shows-special="false"] #feeds-holder #feedTree
- .dijitTreeRow:not(.dijitTreeRowSelected):not(.Unread):not(.AlwaysVisible) {
+ .dijitTreeRow:not(.Unread):not(.AlwaysVisible) {
display : none;
}
@@ -1096,13 +1114,11 @@ body.ttrss_main {
opacity : 0.5;
}
- #floatingTitle.marked i.marked-pic,
.cdm.marked .left i.marked-pic,
.hl.marked .left i.marked-pic {
color : @color-marked;
}
- #floatingTitle.published i.pub-pic,
.cdm.published .left i.pub-pic,
.hl.published .left i.pub-pic {
color : @color-published;
diff --git a/css/utility.less b/themes/light/utility.less
index 087c4ced3..087c4ced3 100644
--- a/css/utility.less
+++ b/themes/light/utility.less
diff --git a/css/zoom.less b/themes/light/zoom.less
index ae8de7dba..e06939ac2 100644
--- a/css/zoom.less
+++ b/themes/light/zoom.less
@@ -28,12 +28,6 @@ body.ttrss_zoom {
}
}
- p {
- -webkit-hyphens: auto;
- -moz-hyphens: auto;
- hyphens: auto;
- }
-
div.content {
font-size : 15px;
line-height : 1.5;
diff --git a/themes/night.css b/themes/night.css
index 35cced3cf..973ca3d64 100644
--- a/themes/night.css
+++ b/themes/night.css
@@ -71,12 +71,19 @@ body.ttrss_main div.post div.content video {
max-width: 98%;
height: auto;
}
-body.ttrss_main div.post div.content p {
- hyphens: auto;
+body.ttrss_main div.post div.content div.embed-responsive {
+ overflow: hidden;
+ padding-bottom: 56.25%;
+ position: relative;
}
-body.ttrss_main div.post div.content iframe {
- min-width: 50%;
- max-width: 98%;
+body.ttrss_main div.post div.content div.embed-responsive iframe {
+ border: 0;
+ bottom: 0;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
}
body.ttrss_main .inline-player {
display: flex;
@@ -662,13 +669,6 @@ body.ttrss_main #headlines-frame div.feed-title a {
body.ttrss_main #headlines-frame div.feed-title a:hover {
color: #b87d2c;
}
-body.ttrss_main #headlines-frame.smooth-scroll {
- scroll-behavior: smooth;
-}
-body.ttrss_main #headlines-frame.forbid-smooth-scroll,
-body.ttrss_main #content-insert.forbid-smooth-scroll {
- scroll-behavior: auto;
-}
body.ttrss_main #toolbar-frame_splitter {
display: none;
}
@@ -755,7 +755,6 @@ body.ttrss_main #content-insert {
line-height: 1.5;
overflow: auto;
-webkit-overflow-scrolling: touch;
- scroll-behavior: smooth;
}
body.ttrss_main img.feed-icon,
body.ttrss_main img.icon {
@@ -866,6 +865,22 @@ body.ttrss_main #feedEditDlg img.feedIcon {
height: auto;
width: auto;
}
+body.ttrss_main .dijitTooltipContents {
+ background: #d29745;
+ color: #222;
+}
+body.ttrss_main .dijitTooltipRight .dijitTooltipConnector {
+ border-right-color: #d29745;
+}
+body.ttrss_main .dijitTooltipLeft .dijitTooltipConnector {
+ border-left-color: #d29745;
+}
+body.ttrss_main .dijitTooltipBelow .dijitTooltipConnector {
+ border-bottom-color: #d29745;
+}
+body.ttrss_main .dijitTooltipAbove .dijitTooltipConnector {
+ border-top-color: #d29745;
+}
body.ttrss_main .dijitDialog h1:first-of-type,
body.ttrss_main .dijitDialog h2:first-of-type,
body.ttrss_main .dijitDialog h3:first-of-type,
@@ -878,10 +893,10 @@ body.ttrss_main[view-mode="marked"] #feeds-holder #feedTree .dijitTreeRow.Has_Ma
body.ttrss_main[view-mode="marked"] #feeds-holder #feedTree .dijitTreeRow.Has_Marked .counterNode.marked {
display: inline-block;
}
-body.ttrss_main[view-mode="marked"][hide-read-feeds="true"][hide-read-shows-special="true"] #feeds-holder #feedTree .dijitTreeRow:not(.dijitTreeRowSelected):not(.AlwaysVisible):not(.Special):not(.Has_Marked) {
+body.ttrss_main[view-mode="marked"][hide-read-feeds="true"][hide-read-shows-special="true"] #feeds-holder #feedTree .dijitTreeRow:not(.AlwaysVisible):not(.Special):not(.Has_Marked) {
display: none;
}
-body.ttrss_main[view-mode="marked"][hide-read-feeds="true"][hide-read-shows-special="false"] #feeds-holder #feedTree .dijitTreeRow:not(.dijitTreeRowSelected):not(.AlwaysVisible):not(.Has_Marked) {
+body.ttrss_main[view-mode="marked"][hide-read-feeds="true"][hide-read-shows-special="false"] #feeds-holder #feedTree .dijitTreeRow:not(.AlwaysVisible):not(.Has_Marked) {
display: none;
}
body.ttrss_main:not([view-mode="marked"]) #feeds-holder #feedTree .dijitTreeRow.Unread .counterNode.unread {
@@ -890,10 +905,10 @@ body.ttrss_main:not([view-mode="marked"]) #feeds-holder #feedTree .dijitTreeRow.
body.ttrss_main:not([view-mode="marked"]) #feeds-holder #feedTree .dijitTreeRow.Has_Aux:not(.Unread) .counterNode.aux {
display: inline-block;
}
-body.ttrss_main:not([view-mode="marked"])[hide-read-feeds="true"][hide-read-shows-special="true"] #feeds-holder #feedTree .dijitTreeRow:not(.dijitTreeRowSelected):not(.Unread):not(.AlwaysVisible):not(.Special) {
+body.ttrss_main:not([view-mode="marked"])[hide-read-feeds="true"][hide-read-shows-special="true"] #feeds-holder #feedTree .dijitTreeRow:not(.Unread):not(.AlwaysVisible):not(.Special) {
display: none;
}
-body.ttrss_main:not([view-mode="marked"])[hide-read-feeds="true"][hide-read-shows-special="false"] #feeds-holder #feedTree .dijitTreeRow:not(.dijitTreeRowSelected):not(.Unread):not(.AlwaysVisible) {
+body.ttrss_main:not([view-mode="marked"])[hide-read-feeds="true"][hide-read-shows-special="false"] #feeds-holder #feedTree .dijitTreeRow:not(.Unread):not(.AlwaysVisible) {
display: none;
}
body.ttrss_main #toolbar-headlines i.icon-syndicate {
@@ -918,12 +933,10 @@ body.ttrss_main i.icon-no-feed {
body.ttrss_main .dijitTreeRow.UpdatesDisabled .dijitTreeLabel {
opacity: 0.5;
}
-body.ttrss_main #floatingTitle.marked i.marked-pic,
body.ttrss_main .cdm.marked .left i.marked-pic,
body.ttrss_main .hl.marked .left i.marked-pic {
color: #ffc069;
}
-body.ttrss_main #floatingTitle.published i.pub-pic,
body.ttrss_main .cdm.published .left i.pub-pic,
body.ttrss_main .hl.published .left i.pub-pic {
color: #ff7c4b;
@@ -1117,6 +1130,11 @@ video::-webkit-media-controls-overlay-play-button {
.cdm i.material-icons {
color: #777;
}
+.cdm .header {
+ position: sticky;
+ top: 0;
+ z-index: 3;
+}
.cdm .header,
.cdm .footer {
display: flex;
@@ -1129,6 +1147,9 @@ video::-webkit-media-controls-overlay-play-button {
margin: 0px 4px;
vertical-align: middle;
}
+.cdm .header-sticky-guard {
+ height: 0;
+}
.cdm .header {
align-items: center;
}
@@ -1208,9 +1229,6 @@ video::-webkit-media-controls-overlay-play-button {
margin-top: 0px;
margin-bottom: 0px;
}
-div.cdm.expanded div.header {
- background: transparent ! important;
-}
div.cdm.expanded div.header a.title {
font-size: 16px;
color: #999;
@@ -1268,15 +1286,19 @@ div.cdm.vgrlf .feed {
font-style: italic;
font-size: 11px;
}
-.cdm div.content-inner p {
- /*max-width : 650px;*/
- -webkit-hyphens: auto;
- -moz-hyphens: auto;
- hyphens: auto;
+.cdm div.content-inner div.embed-responsive {
+ overflow: hidden;
+ padding-bottom: 56.25%;
+ position: relative;
}
-.cdm div.content-inner iframe {
- min-width: 50%;
- max-width: 98%;
+.cdm div.content-inner div.embed-responsive iframe {
+ border: 0;
+ bottom: 0;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
}
.cdm div.header span.author {
white-space: nowrap;
@@ -1289,115 +1311,6 @@ div.cdm.vgrlf .feed {
display: inline-block;
padding: 1px 4px 1px 4px;
}
-#main:not(.expandable) div#floatingTitle .collapse {
- display: none;
-}
-div#floatingTitle {
- position: absolute;
- z-index: 5;
- top: 0px;
- right: 0px;
- left: 0px;
- border: 0px solid #222;
- border-bottom-width: 1px;
- background: white;
- color: #ccc;
- display: flex;
- flex-direction: row;
- flex-wrap: nowrap;
- box-shadow: 0px 1px 1px -1px rgba(0, 0, 0, 0.1);
- align-items: center;
-}
-div#floatingTitle > * {
- white-space: nowrap;
- padding: 4px;
-}
-div#floatingTitle .left,
-div#floatingTitle .right {
- display: flex;
- align-items: center;
-}
-div#floatingTitle .left i.material-icons,
-div#floatingTitle .right i.material-icons {
- margin-left: 2px;
- font-size: 21px;
- padding: 2px;
- user-select: none;
-}
-div#floatingTitle .left i.icon-anchor,
-div#floatingTitle .right i.icon-anchor {
- margin-left: 0px;
- margin-right: 1px;
- padding: 0px;
- color: #ccc;
- cursor: pointer;
-}
-div#floatingTitle .excerpt {
- display: none;
-}
-div#floatingTitle .collapse i.material-icons {
- color: #b87d2c;
- cursor: pointer;
-}
-div#floatingTitle span.author {
- color: #ccc;
- font-size: 11px;
- font-weight: normal;
-}
-div#floatingTitle a.title {
- font-size: 16px;
- color: #999;
- transition: color 0.2s, background 0.2s;
- font-weight: 600;
- text-rendering: optimizelegibility;
- font-family: "Segoe WP Semibold", "Segoe UI Semibold", "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif;
-}
-div#floatingTitle div.feed {
- padding-right: 10px;
- color: #ccc;
- font-weight: normal;
- font-style: italic;
- font-size: 11px;
- white-space: nowrap;
-}
-div#floatingTitle div.feed a {
- border-radius: 4px;
- display: inline-block;
- padding: 1px 4px 1px 4px;
-}
-div#floatingTitle span.updated {
- padding-right: 10px;
- white-space: nowrap;
- color: #ccc;
- font-size: 11px;
-}
-div#floatingTitle div.feed a {
- color: #ccc;
-}
-div#floatingTitle span.titleWrap {
- width: 100%;
- white-space: normal;
-}
-div#floatingTitle .feed-title > * {
- display: table-cell;
- vertical-align: middle;
-}
-div#floatingTitle .feed-title a.title {
- width: 100%;
-}
-div#floatingTitle .feed-title a.catchup {
- text-align: right;
- color: #ccc;
- padding-right: 10px;
- font-size: 11px;
- white-space: nowrap;
-}
-div#floatingTitle .feed-title a.catchup:hover {
- color: #b87d2c;
-}
-div#floatingTitle.Unread a.title {
- color: black;
-}
.cdm.expandable {
background-color: #222;
border: 0px solid #222;
@@ -1470,6 +1383,15 @@ div.cdm.expandable:not(.active) .content,
div.cdm.expandable:not(.active) .collapse {
display: none;
}
+div.cdm.expandable.active .header[stuck],
+div.cdm.expanded .header[stuck] {
+ box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.1);
+ border: 0 solid #222;
+ border-bottom-width: 1px;
+ background: #333 ! important;
+ opacity: 0.9;
+ backdrop-filter: blur(6px);
+}
body.ttrss_prefs {
background-color: #222;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
@@ -1595,12 +1517,12 @@ body.ttrss_prefs .phpinfo td.v {
font-family: monospace;
word-break: break-all;
}
-body.ttrss_prefs #filterNewRuleDlg .invalid,
-body.ttrss_main #filterNewRuleDlg .invalid {
+body.ttrss_prefs #filterNewRuleDlg .dijitValidationTextAreaError,
+body.ttrss_main #filterNewRuleDlg .dijitValidationTextAreaError {
background: #ffc0c0;
}
-body.ttrss_prefs #filterNewRuleDlg .valid,
-body.ttrss_main #filterNewRuleDlg .valid {
+body.ttrss_prefs #filterNewRuleDlg .dijitValidationTextArea:not(.dijitValidationTextAreaError),
+body.ttrss_main #filterNewRuleDlg .dijitValidationTextArea:not(.dijitValidationTextAreaError) {
background: #c0ffc0;
}
body.ttrss_prefs fieldset,
@@ -1898,11 +1820,6 @@ body.ttrss_zoom div.post div.header .row {
align-items: center;
justify-content: space-between;
}
-body.ttrss_zoom div.post p {
- -webkit-hyphens: auto;
- -moz-hyphens: auto;
- hyphens: auto;
-}
body.ttrss_zoom div.post div.content {
font-size: 15px;
line-height: 1.5;
@@ -1949,11 +1866,8 @@ body.flat.ttrss_main.ttrss_prefs td.filename,
body.flat.ttrss_main.ttrss_prefs div.prefHelp {
color: #999999;
}
-body.flat.ttrss_main.ttrss_prefs #filterNewRuleDlg .invalid {
- background: #503030;
-}
-body.flat.ttrss_main.ttrss_prefs #filterNewRuleDlg .valid {
- background: #305030;
+body.flat.ttrss_main.ttrss_prefs hr {
+ border-color: #666;
}
body.flat.ttrss_main {
/*
@@ -2011,18 +1925,6 @@ body.flat.ttrss_main #feeds-holder #feedTree .dijitTreeRowSelected .dijitTreeLab
body.flat.ttrss_main #feeds-holder #feedTree i.icon.icon-inbox {
color: #999999;
}
-body.flat.ttrss_main #floatingTitle {
- background-color: #333;
-}
-body.flat.ttrss_main #floatingTitle .feed a {
- color: #e6e6e6;
-}
-body.flat.ttrss_main #floatingTitle i.material-icons {
- opacity: 0.7;
-}
-body.flat.ttrss_main div#floatingTitle.Unread a.title {
- color: #e6e6e6;
-}
body.flat.ttrss_main #headlines-frame .hl:not(.active):not(.Selected):not(.Unread),
body.flat.ttrss_main #headlines-frame .cdm.expandable:not(.active):not(.Selected):not(.Unread) {
background: #333;
@@ -2191,7 +2093,10 @@ body.flat.ttrss_main .alert.alert-danger {
color: #b94a48;
border-color: #702c2b;
}
-body.ttrss_prefs hr {
- border-color: #666;
+body.flat.ttrss_main #filterNewRuleDlg .dijitValidationTextAreaError {
+ background: #503030;
+}
+body.flat.ttrss_main #filterNewRuleDlg .dijitValidationTextArea:not(.dijitValidationTextAreaError) {
+ background: #305030;
}
/*# sourceMappingURL=night.css.map */ \ No newline at end of file
diff --git a/themes/night.css.map b/themes/night.css.map
index 6f8de00c0..915d80bd5 100644
--- a/themes/night.css.map
+++ b/themes/night.css.map
@@ -1 +1 @@
-{"version":3,"sources":["night_base.less","night.less","C:/Users/fox/Projects/tt-rss/css/defines.less","C:/Users/fox/Projects/tt-rss/css/tt-rss.less","C:/Users/fox/Projects/tt-rss/css/cdm.less","C:/Users/fox/Projects/tt-rss/css/prefs.less","C:/Users/fox/Projects/tt-rss/css/dijit_basic.less","C:/Users/fox/Projects/tt-rss/css/utility.less","C:/Users/fox/Projects/tt-rss/css/zoom.less"],"names":[],"mappings":"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","file":"night.css"} \ No newline at end of file
+{"version":3,"sources":["night_base.less","night.less","light/defines.less","light/tt-rss.less","light/cdm.less","light/prefs.less","light/dijit_basic.less","light/utility.less","light/zoom.less"],"names":[],"mappings":"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","file":"night.css"} \ No newline at end of file
diff --git a/themes/night_base.less b/themes/night_base.less
index 7ab1f85b1..0dff7d191 100644
--- a/themes/night_base.less
+++ b/themes/night_base.less
@@ -1,6 +1,6 @@
-@import "../css/defines.less";
-@import "../css/utility.less";
-@import "../css/zoom.less";
+@import "light/defines.less";
+@import "light/utility.less";
+@import "light/zoom.less";
@import "../lib/flat-ttrss/flat_combined_dark.css";
@color-accent: #b87d2c;
@@ -20,6 +20,8 @@
@color-alert-info : #3a87ad;
@color-alert-danger : #b94a48;
+@color-tooltip-bg : lighten(@color-accent, 10%);
+
body.flat.ttrss_main.ttrss_prefs {
#main, #footer {
background: @color-panel-bg;
@@ -34,13 +36,8 @@ body.flat.ttrss_main.ttrss_prefs {
color : @fg-text-muted;
}
- #filterNewRuleDlg {
- .invalid {
- background : #503030;
- }
- .valid {
- background : #305030;
- }
+ hr {
+ border-color : @border-light;
}
}
@@ -94,22 +91,6 @@ body.flat.ttrss_main {
}
}
- #floatingTitle {
- background-color : @default-bg;
-
- .feed a {
- color : @fg-light;
- }
-
- i.material-icons {
- opacity : 0.7;
- }
- }
-
- div#floatingTitle.Unread a.title {
- color : @fg-light;
- }
-
#headlines-frame {
.hl:not(.active):not(.Selected):not(.Unread),
.cdm.expandable:not(.active):not(.Selected):not(.Unread) {
@@ -340,10 +321,12 @@ body.flat.ttrss_main {
border-color : darken(@color-alert-danger, 20%);
}
-}
-
-body.ttrss_prefs {
- hr {
- border-color : @border-light;
+ #filterNewRuleDlg {
+ .dijitValidationTextAreaError {
+ background : #503030;
+ }
+ .dijitValidationTextArea:not(.dijitValidationTextAreaError) {
+ background : #305030;
+ }
}
}
diff --git a/themes/night_blue.css b/themes/night_blue.css
index a2fcf2c54..5f7df1ffa 100644
--- a/themes/night_blue.css
+++ b/themes/night_blue.css
@@ -71,12 +71,19 @@ body.ttrss_main div.post div.content video {
max-width: 98%;
height: auto;
}
-body.ttrss_main div.post div.content p {
- hyphens: auto;
+body.ttrss_main div.post div.content div.embed-responsive {
+ overflow: hidden;
+ padding-bottom: 56.25%;
+ position: relative;
}
-body.ttrss_main div.post div.content iframe {
- min-width: 50%;
- max-width: 98%;
+body.ttrss_main div.post div.content div.embed-responsive iframe {
+ border: 0;
+ bottom: 0;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
}
body.ttrss_main .inline-player {
display: flex;
@@ -662,13 +669,6 @@ body.ttrss_main #headlines-frame div.feed-title a {
body.ttrss_main #headlines-frame div.feed-title a:hover {
color: #257aa7;
}
-body.ttrss_main #headlines-frame.smooth-scroll {
- scroll-behavior: smooth;
-}
-body.ttrss_main #headlines-frame.forbid-smooth-scroll,
-body.ttrss_main #content-insert.forbid-smooth-scroll {
- scroll-behavior: auto;
-}
body.ttrss_main #toolbar-frame_splitter {
display: none;
}
@@ -755,7 +755,6 @@ body.ttrss_main #content-insert {
line-height: 1.5;
overflow: auto;
-webkit-overflow-scrolling: touch;
- scroll-behavior: smooth;
}
body.ttrss_main img.feed-icon,
body.ttrss_main img.icon {
@@ -866,6 +865,22 @@ body.ttrss_main #feedEditDlg img.feedIcon {
height: auto;
width: auto;
}
+body.ttrss_main .dijitTooltipContents {
+ background: #2e99d1;
+ color: #222;
+}
+body.ttrss_main .dijitTooltipRight .dijitTooltipConnector {
+ border-right-color: #2e99d1;
+}
+body.ttrss_main .dijitTooltipLeft .dijitTooltipConnector {
+ border-left-color: #2e99d1;
+}
+body.ttrss_main .dijitTooltipBelow .dijitTooltipConnector {
+ border-bottom-color: #2e99d1;
+}
+body.ttrss_main .dijitTooltipAbove .dijitTooltipConnector {
+ border-top-color: #2e99d1;
+}
body.ttrss_main .dijitDialog h1:first-of-type,
body.ttrss_main .dijitDialog h2:first-of-type,
body.ttrss_main .dijitDialog h3:first-of-type,
@@ -878,10 +893,10 @@ body.ttrss_main[view-mode="marked"] #feeds-holder #feedTree .dijitTreeRow.Has_Ma
body.ttrss_main[view-mode="marked"] #feeds-holder #feedTree .dijitTreeRow.Has_Marked .counterNode.marked {
display: inline-block;
}
-body.ttrss_main[view-mode="marked"][hide-read-feeds="true"][hide-read-shows-special="true"] #feeds-holder #feedTree .dijitTreeRow:not(.dijitTreeRowSelected):not(.AlwaysVisible):not(.Special):not(.Has_Marked) {
+body.ttrss_main[view-mode="marked"][hide-read-feeds="true"][hide-read-shows-special="true"] #feeds-holder #feedTree .dijitTreeRow:not(.AlwaysVisible):not(.Special):not(.Has_Marked) {
display: none;
}
-body.ttrss_main[view-mode="marked"][hide-read-feeds="true"][hide-read-shows-special="false"] #feeds-holder #feedTree .dijitTreeRow:not(.dijitTreeRowSelected):not(.AlwaysVisible):not(.Has_Marked) {
+body.ttrss_main[view-mode="marked"][hide-read-feeds="true"][hide-read-shows-special="false"] #feeds-holder #feedTree .dijitTreeRow:not(.AlwaysVisible):not(.Has_Marked) {
display: none;
}
body.ttrss_main:not([view-mode="marked"]) #feeds-holder #feedTree .dijitTreeRow.Unread .counterNode.unread {
@@ -890,10 +905,10 @@ body.ttrss_main:not([view-mode="marked"]) #feeds-holder #feedTree .dijitTreeRow.
body.ttrss_main:not([view-mode="marked"]) #feeds-holder #feedTree .dijitTreeRow.Has_Aux:not(.Unread) .counterNode.aux {
display: inline-block;
}
-body.ttrss_main:not([view-mode="marked"])[hide-read-feeds="true"][hide-read-shows-special="true"] #feeds-holder #feedTree .dijitTreeRow:not(.dijitTreeRowSelected):not(.Unread):not(.AlwaysVisible):not(.Special) {
+body.ttrss_main:not([view-mode="marked"])[hide-read-feeds="true"][hide-read-shows-special="true"] #feeds-holder #feedTree .dijitTreeRow:not(.Unread):not(.AlwaysVisible):not(.Special) {
display: none;
}
-body.ttrss_main:not([view-mode="marked"])[hide-read-feeds="true"][hide-read-shows-special="false"] #feeds-holder #feedTree .dijitTreeRow:not(.dijitTreeRowSelected):not(.Unread):not(.AlwaysVisible) {
+body.ttrss_main:not([view-mode="marked"])[hide-read-feeds="true"][hide-read-shows-special="false"] #feeds-holder #feedTree .dijitTreeRow:not(.Unread):not(.AlwaysVisible) {
display: none;
}
body.ttrss_main #toolbar-headlines i.icon-syndicate {
@@ -918,12 +933,10 @@ body.ttrss_main i.icon-no-feed {
body.ttrss_main .dijitTreeRow.UpdatesDisabled .dijitTreeLabel {
opacity: 0.5;
}
-body.ttrss_main #floatingTitle.marked i.marked-pic,
body.ttrss_main .cdm.marked .left i.marked-pic,
body.ttrss_main .hl.marked .left i.marked-pic {
color: #ffc069;
}
-body.ttrss_main #floatingTitle.published i.pub-pic,
body.ttrss_main .cdm.published .left i.pub-pic,
body.ttrss_main .hl.published .left i.pub-pic {
color: #ff7c4b;
@@ -1117,6 +1130,11 @@ video::-webkit-media-controls-overlay-play-button {
.cdm i.material-icons {
color: #777;
}
+.cdm .header {
+ position: sticky;
+ top: 0;
+ z-index: 3;
+}
.cdm .header,
.cdm .footer {
display: flex;
@@ -1129,6 +1147,9 @@ video::-webkit-media-controls-overlay-play-button {
margin: 0px 4px;
vertical-align: middle;
}
+.cdm .header-sticky-guard {
+ height: 0;
+}
.cdm .header {
align-items: center;
}
@@ -1208,9 +1229,6 @@ video::-webkit-media-controls-overlay-play-button {
margin-top: 0px;
margin-bottom: 0px;
}
-div.cdm.expanded div.header {
- background: transparent ! important;
-}
div.cdm.expanded div.header a.title {
font-size: 16px;
color: #999;
@@ -1268,15 +1286,19 @@ div.cdm.vgrlf .feed {
font-style: italic;
font-size: 11px;
}
-.cdm div.content-inner p {
- /*max-width : 650px;*/
- -webkit-hyphens: auto;
- -moz-hyphens: auto;
- hyphens: auto;
+.cdm div.content-inner div.embed-responsive {
+ overflow: hidden;
+ padding-bottom: 56.25%;
+ position: relative;
}
-.cdm div.content-inner iframe {
- min-width: 50%;
- max-width: 98%;
+.cdm div.content-inner div.embed-responsive iframe {
+ border: 0;
+ bottom: 0;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
}
.cdm div.header span.author {
white-space: nowrap;
@@ -1289,115 +1311,6 @@ div.cdm.vgrlf .feed {
display: inline-block;
padding: 1px 4px 1px 4px;
}
-#main:not(.expandable) div#floatingTitle .collapse {
- display: none;
-}
-div#floatingTitle {
- position: absolute;
- z-index: 5;
- top: 0px;
- right: 0px;
- left: 0px;
- border: 0px solid #222;
- border-bottom-width: 1px;
- background: white;
- color: #ccc;
- display: flex;
- flex-direction: row;
- flex-wrap: nowrap;
- box-shadow: 0px 1px 1px -1px rgba(0, 0, 0, 0.1);
- align-items: center;
-}
-div#floatingTitle > * {
- white-space: nowrap;
- padding: 4px;
-}
-div#floatingTitle .left,
-div#floatingTitle .right {
- display: flex;
- align-items: center;
-}
-div#floatingTitle .left i.material-icons,
-div#floatingTitle .right i.material-icons {
- margin-left: 2px;
- font-size: 21px;
- padding: 2px;
- user-select: none;
-}
-div#floatingTitle .left i.icon-anchor,
-div#floatingTitle .right i.icon-anchor {
- margin-left: 0px;
- margin-right: 1px;
- padding: 0px;
- color: #ccc;
- cursor: pointer;
-}
-div#floatingTitle .excerpt {
- display: none;
-}
-div#floatingTitle .collapse i.material-icons {
- color: #257aa7;
- cursor: pointer;
-}
-div#floatingTitle span.author {
- color: #ccc;
- font-size: 11px;
- font-weight: normal;
-}
-div#floatingTitle a.title {
- font-size: 16px;
- color: #999;
- transition: color 0.2s, background 0.2s;
- font-weight: 600;
- text-rendering: optimizelegibility;
- font-family: "Segoe WP Semibold", "Segoe UI Semibold", "Segoe UI Web Semibold", "Segoe UI", Ubuntu, "Helvetica Neue", Helvetica, Arial, sans-serif;
-}
-div#floatingTitle div.feed {
- padding-right: 10px;
- color: #ccc;
- font-weight: normal;
- font-style: italic;
- font-size: 11px;
- white-space: nowrap;
-}
-div#floatingTitle div.feed a {
- border-radius: 4px;
- display: inline-block;
- padding: 1px 4px 1px 4px;
-}
-div#floatingTitle span.updated {
- padding-right: 10px;
- white-space: nowrap;
- color: #ccc;
- font-size: 11px;
-}
-div#floatingTitle div.feed a {
- color: #ccc;
-}
-div#floatingTitle span.titleWrap {
- width: 100%;
- white-space: normal;
-}
-div#floatingTitle .feed-title > * {
- display: table-cell;
- vertical-align: middle;
-}
-div#floatingTitle .feed-title a.title {
- width: 100%;
-}
-div#floatingTitle .feed-title a.catchup {
- text-align: right;
- color: #ccc;
- padding-right: 10px;
- font-size: 11px;
- white-space: nowrap;
-}
-div#floatingTitle .feed-title a.catchup:hover {
- color: #257aa7;
-}
-div#floatingTitle.Unread a.title {
- color: black;
-}
.cdm.expandable {
background-color: #222;
border: 0px solid #222;
@@ -1470,6 +1383,15 @@ div.cdm.expandable:not(.active) .content,
div.cdm.expandable:not(.active) .collapse {
display: none;
}
+div.cdm.expandable.active .header[stuck],
+div.cdm.expanded .header[stuck] {
+ box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.1);
+ border: 0 solid #222;
+ border-bottom-width: 1px;
+ background: #333 ! important;
+ opacity: 0.9;
+ backdrop-filter: blur(6px);
+}
body.ttrss_prefs {
background-color: #222;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
@@ -1595,12 +1517,12 @@ body.ttrss_prefs .phpinfo td.v {
font-family: monospace;
word-break: break-all;
}
-body.ttrss_prefs #filterNewRuleDlg .invalid,
-body.ttrss_main #filterNewRuleDlg .invalid {
+body.ttrss_prefs #filterNewRuleDlg .dijitValidationTextAreaError,
+body.ttrss_main #filterNewRuleDlg .dijitValidationTextAreaError {
background: #ffc0c0;
}
-body.ttrss_prefs #filterNewRuleDlg .valid,
-body.ttrss_main #filterNewRuleDlg .valid {
+body.ttrss_prefs #filterNewRuleDlg .dijitValidationTextArea:not(.dijitValidationTextAreaError),
+body.ttrss_main #filterNewRuleDlg .dijitValidationTextArea:not(.dijitValidationTextAreaError) {
background: #c0ffc0;
}
body.ttrss_prefs fieldset,
@@ -1898,11 +1820,6 @@ body.ttrss_zoom div.post div.header .row {
align-items: center;
justify-content: space-between;
}
-body.ttrss_zoom div.post p {
- -webkit-hyphens: auto;
- -moz-hyphens: auto;
- hyphens: auto;
-}
body.ttrss_zoom div.post div.content {
font-size: 15px;
line-height: 1.5;
@@ -1949,11 +1866,8 @@ body.flat.ttrss_main.ttrss_prefs td.filename,
body.flat.ttrss_main.ttrss_prefs div.prefHelp {
color: #999999;
}
-body.flat.ttrss_main.ttrss_prefs #filterNewRuleDlg .invalid {
- background: #503030;
-}
-body.flat.ttrss_main.ttrss_prefs #filterNewRuleDlg .valid {
- background: #305030;
+body.flat.ttrss_main.ttrss_prefs hr {
+ border-color: #666;
}
body.flat.ttrss_main {
/*
@@ -2011,18 +1925,6 @@ body.flat.ttrss_main #feeds-holder #feedTree .dijitTreeRowSelected .dijitTreeLab
body.flat.ttrss_main #feeds-holder #feedTree i.icon.icon-inbox {
color: #999999;
}
-body.flat.ttrss_main #floatingTitle {
- background-color: #333;
-}
-body.flat.ttrss_main #floatingTitle .feed a {
- color: #e6e6e6;
-}
-body.flat.ttrss_main #floatingTitle i.material-icons {
- opacity: 0.7;
-}
-body.flat.ttrss_main div#floatingTitle.Unread a.title {
- color: #e6e6e6;
-}
body.flat.ttrss_main #headlines-frame .hl:not(.active):not(.Selected):not(.Unread),
body.flat.ttrss_main #headlines-frame .cdm.expandable:not(.active):not(.Selected):not(.Unread) {
background: #333;
@@ -2191,7 +2093,10 @@ body.flat.ttrss_main .alert.alert-danger {
color: #b94a48;
border-color: #702c2b;
}
-body.ttrss_prefs hr {
- border-color: #666;
+body.flat.ttrss_main #filterNewRuleDlg .dijitValidationTextAreaError {
+ background: #503030;
+}
+body.flat.ttrss_main #filterNewRuleDlg .dijitValidationTextArea:not(.dijitValidationTextAreaError) {
+ background: #305030;
}
/*# sourceMappingURL=night_blue.css.map */ \ No newline at end of file
diff --git a/themes/night_blue.css.map b/themes/night_blue.css.map
index 93af60643..8364f4d2a 100644
--- a/themes/night_blue.css.map
+++ b/themes/night_blue.css.map
@@ -1 +1 @@
-{"version":3,"sources":["night_base.less","night_blue.less","C:/Users/fox/Projects/tt-rss/css/defines.less","C:/Users/fox/Projects/tt-rss/css/tt-rss.less","C:/Users/fox/Projects/tt-rss/css/cdm.less","C:/Users/fox/Projects/tt-rss/css/prefs.less","C:/Users/fox/Projects/tt-rss/css/dijit_basic.less","C:/Users/fox/Projects/tt-rss/css/utility.less","C:/Users/fox/Projects/tt-rss/css/zoom.less"],"names":[],"mappings":"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","file":"night_blue.css"} \ No newline at end of file
+{"version":3,"sources":["night_base.less","night_blue.less","light/defines.less","light/tt-rss.less","light/cdm.less","light/prefs.less","light/dijit_basic.less","light/utility.less","light/zoom.less"],"names":[],"mappings":"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","file":"night_blue.css"} \ No newline at end of file
diff --git a/update.php b/update.php
index 5b723277f..881db3621 100755
--- a/update.php
+++ b/update.php
@@ -85,6 +85,7 @@
"debug-feed:",
"force-refetch",
"force-rehash",
+ "opml-export:",
"help");
foreach (PluginHost::getInstance()->get_commands() as $command => $data) {
@@ -122,29 +123,30 @@
if (count($options) == 0 || isset($options["help"]) ) {
print "Tiny Tiny RSS data update script.\n\n";
print "Options:\n";
- print " --feeds - update feeds\n";
- print " --daemon - start single-process update daemon\n";
- print " --task N - create lockfile using this task id\n";
- print " --cleanup-tags - perform tags table maintenance\n";
- print " --quiet - don't output messages to stdout\n";
- print " --log FILE - log messages to FILE\n";
- print " --log-level N - log verbosity level\n";
- print " --indexes - recreate missing schema indexes\n";
- print " --update-schema - update database schema\n";
- print " --gen-search-idx - generate basic PostgreSQL fulltext search index\n";
- print " --convert-filters - convert type1 filters to type2\n";
- print " --send-digests - send pending email digests\n";
- print " --force-update - force update of all feeds\n";
- print " --list-plugins - list all available plugins\n";
- print " --debug-feed N - perform debug update of feed N\n";
- print " --force-refetch - debug update: force refetch feed data\n";
- print " --force-rehash - debug update: force rehash articles\n";
- print " --help - show this help\n";
+ print " --feeds - update feeds\n";
+ print " --daemon - start single-process update daemon\n";
+ print " --task N - create lockfile using this task id\n";
+ print " --cleanup-tags - perform tags table maintenance\n";
+ print " --quiet - don't output messages to stdout\n";
+ print " --log FILE - log messages to FILE\n";
+ print " --log-level N - log verbosity level\n";
+ print " --indexes - recreate missing schema indexes\n";
+ print " --update-schema - update database schema\n";
+ print " --gen-search-idx - generate basic PostgreSQL fulltext search index\n";
+ print " --convert-filters - convert type1 filters to type2\n";
+ print " --send-digests - send pending email digests\n";
+ print " --force-update - force update of all feeds\n";
+ print " --list-plugins - list all available plugins\n";
+ print " --debug-feed N - perform debug update of feed N\n";
+ print " --force-refetch - debug update: force refetch feed data\n";
+ print " --force-rehash - debug update: force rehash articles\n";
+ print " --opml-export \"USER FILE\" - export feeds of selected user to OPML\n";
+ print " --help - show this help\n";
print "Plugin options:\n";
foreach (PluginHost::getInstance()->get_commands() as $command => $data) {
$args = $data['arghelp'];
- printf(" --%-19s - %s\n", "$command $args", $data["description"]);
+ printf(" --%-26s - %s\n", "$command $args", $data["description"]);
}
return;
@@ -483,6 +485,26 @@
Digest::send_headlines_digests();
}
+ if (isset($options["opml-export"])) {
+ list ($user, $filename) = explode(" ", $options["opml-export"], 2);
+
+ Debug::log("Exporting feeds of user $user to $filename as OPML...");
+
+ $sth = $pdo->prepare("SELECT id FROM ttrss_users WHERE login = ?");
+ $sth->execute([$user]);
+
+ if ($res = $sth->fetch()) {
+ $opml = new OPML("");
+
+ $rc = $opml->opml_export($filename, $res["id"], false, true, true);
+
+ Debug::log($rc ? "Success." : "Failed.");
+ } else {
+ Debug::log("User not found: $user");
+ }
+
+ }
+
PluginHost::getInstance()->run_commands($options);
if (file_exists(LOCK_DIRECTORY . "/$lock_filename"))