ctx->feeds_params = $zcfs_params;' . "\n" . '$zcfs = new zoneclearFeedServer();' . "\n" . 'dcCore::app()->ctx->feeds = $zcfs->getFeeds($zcfs_params); unset($zcfs_params,$zcfs);' . "\n" . "?>\n" . 'ctx->feeds->fetch()) : ?>' . $c . 'ctx->feeds = null; dcCore::app()->ctx->feeds_params = null; ?>'; } public static function FeedIf($a, $c) { $if = []; $operator = isset($a['operator']) ? self::getOperator($a['operator']) : '&&'; if (isset($a['type'])) { $type = trim($a['type']); $type = !empty($type) ? $type : 'feed'; $if[] = 'dcCore::app()->ctx->feeds->feed_type == "' . addslashes($type) . '"'; } if (isset($a['site_url'])) { $url = trim($a['feed_url']); if (substr($url, 0, 1) == '!') { $url = substr($url, 1); $if[] = 'dcCore::app()->ctx->feeds->feed_url != "' . addslashes($url) . '"'; } else { $if[] = 'dcCore::app()->ctx->feeds->feed_url == "' . addslashes($url) . '"'; } } if (isset($a['feed_url'])) { $url = trim($a['feed_feed']); if (substr($url, 0, 1) == '!') { $url = substr($url, 1); $if[] = 'dcCore::app()->ctx->feeds->feed_feed != "' . addslashes($url) . '"'; } else { $if[] = 'dcCore::app()->ctx->feeds->feed_feed == "' . addslashes($url) . '"'; } } if (isset($a['category'])) { $category = addslashes(trim($a['category'])); if (substr($category, 0, 1) == '!') { $category = substr($category, 1); $if[] = '(dcCore::app()->ctx->feeds->cat_url != "' . $category . '")'; } else { $if[] = '(dcCore::app()->ctx->feeds->cat_url == "' . $category . '")'; } } if (isset($a['first'])) { $sign = (bool) $a['first'] ? '=' : '!'; $if[] = 'dcCore::app()->ctx->feeds->index() ' . $sign . '= 0'; } if (isset($a['odd'])) { $sign = (bool) $a['odd'] ? '=' : '!'; $if[] = '(dcCore::app()->ctx->feeds->index()+1)%2 ' . $sign . ' = 1'; } if (isset($a['has_category'])) { $sign = (bool) $a['has_category'] ? '' : '!'; $if[] = $sign . 'dcCore::app()->ctx->feeds->cat_id'; } if (isset($a['has_description'])) { $sign = (bool) $a['has_description'] ? '' : '!'; $if[] = $sign . 'dcCore::app()->ctx->feeds->feed_desc'; } return empty($if) ? $c : '' . $c . ''; } public static function FeedIfFirst($a) { $ret = $a['return'] ?? 'first'; $ret = html::escapeHTML($ret); return 'ctx->feeds->index() == 0) { ' . "echo '" . addslashes($ret) . "'; } ?>"; } public static function FeedIfOdd($a) { $ret = $a['return'] ?? 'odd'; $ret = html::escapeHTML($ret); return 'ctx->feeds->index()+1)%2 == 1) { ' . "echo '" . addslashes($ret) . "'; } ?>"; } public static function FeedDesc($a) { return self::getValue($a, 'dcCore::app()->ctx->feeds->feed_desc'); } public static function FeedOwner($a) { return self::getValue($a, 'dcCore::app()->ctx->feeds->feed_owner'); } public static function FeedCategory($a) { return self::getValue($a, 'dcCore::app()->ctx->feeds->cat_title'); } public static function FeedCategoryID($a) { return self::getValue($a, 'dcCore::app()->ctx->feeds->cat_id'); } public static function FeedCategoryURL($a) { return self::getValue($a, 'dcCore::app()->blog->url.dcCore::app()->url->getBase(\'category\').\'/\'.html::sanitizeURL(dcCore::app()->ctx->feeds->cat_url)'); } public static function FeedCategoryShortURL($a) { return self::getValue($a, 'dcCore::app()->ctx->feeds->cat_url'); } public static function FeedID($a) { return self::getValue($a, 'dcCore::app()->ctx->feeds->feed_id'); } public static function FeedLang($a) { $f = dcCore::app()->tpl->getFilters($a); return empty($a['full']) ? 'ctx->feeds->feed_lang') . '; ?>' : 'ctx->feeds->feed_lang])) { echo ' . sprintf($f, '$langs[dcCore::app()->ctx->feeds->feed_lang]') . '; } else { echo ' . sprintf($f, 'dcCore::app()->ctx->feeds->feed_lang') . '; } unset($langs); ?>'; } public static function FeedName($a) { return self::getValue($a, 'dcCore::app()->ctx->feeds->feed_name'); } public static function FeedSiteURL($a) { return self::getValue($a, 'dcCore::app()->ctx->feeds->feed_url'); } public static function FeedFeedURL($a) { return self::getValue($a, 'dcCore::app()->ctx->feeds->feed_feed'); } public static function FeedsHeader($a, $c) { return 'ctx->feeds->isStart()) : ?>' . $c . ''; } public static function FeedsFooter($a, $c) { return 'ctx->feeds->isEnd()) : ?>' . $c . ''; } public static function FeedsCount($a) { $none = 'no sources'; $one = 'one source'; $more = '%d sources'; if (isset($a['none'])) { $none = addslashes($a['none']); } if (isset($a['one'])) { $one = addslashes($a['one']); } if (isset($a['more'])) { $more = addslashes($a['more']); } return "ctx->feeds->count(); \n" . "if (\$fcount == 0) {\n" . " printf(__('" . $none . "'),\$fcount);\n" . "} elseif (\$fcount == 1) {\n" . " printf(__('" . $one . "'),\$fcount);\n" . "} else {\n" . " printf(__('" . $more . "'),\$fcount);\n" . '} unset($fcount); ?>'; } public static function FeedsEntriesCount($a) { $none = __('no entries'); $one = __('one entry'); $more = __('%d entries'); if (isset($a['none'])) { $none = addslashes($a['none']); } if (isset($a['one'])) { $one = addslashes($a['one']); } if (isset($a['more'])) { $more = addslashes($a['more']); } return "getFeeds(); \n" . "if (!\$allfeeds->isEmpty()) { \n" . ' while ($allfeeds->fetch()) { ' . " \$fcount += (integer) \$zc->getPostsByFeed(array('feed_id'=>\$allfeeds->feed_id),true)->f(0); " . " } \n" . "} \n" . "if (\$fcount == 0) {\n" . " printf(__('" . $none . "'),\$fcount);\n" . "} elseif (\$fcount == 1) {\n" . " printf(__('" . $one . "'),\$fcount);\n" . "} else {\n" . " printf(__('" . $more . "'),\$fcount);\n" . '} unset($allfeeds,$fcount); ?>'; } public static function FeedEntriesCount($a) { $none = 'no entries'; $one = 'one entry'; $more = '%d entries'; if (isset($a['none'])) { $none = addslashes($a['none']); } if (isset($a['one'])) { $one = addslashes($a['one']); } if (isset($a['more'])) { $more = addslashes($a['more']); } return "getPostsByFeed(array('feed_id'=>dcCore::app()->ctx->feeds->feed_id),true)->f(0); \n" . "if (\$fcount == 0) {\n" . " printf(__('" . $none . "'),\$fcount);\n" . "} elseif (\$fcount == 1) {\n" . " printf(__('" . $one . "'),\$fcount);\n" . "} else {\n" . " printf(__('" . $more . "'),\$fcount);\n" . '} unset($fcount); ?>'; } protected static function getValue($a, $v) { return 'tpl->getFilters($a), $v) . '; ?>'; } protected static function getOperator($op) { switch (strtolower($op)) { case 'or': case '||': return '||'; case 'and': case '&&': default: return '&&'; } } }