1<?php 2 3############################################################################### 4# Gregarius - A PHP based RSS aggregator. 5# Copyright (C) 2003 - 2006 Marco Bonetti 6# 7############################################################################### 8# This program is free software and open source software; you can redistribute 9# it and/or modify it under the terms of the GNU General Public License as 10# published by the Free Software Foundation; either version 2 of the License, 11# or (at your option) any later version. 12# 13# This program is distributed in the hope that it will be useful, but WITHOUT 14# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 15# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 16# more details. 17# 18# You should have received a copy of the GNU General Public License along 19# with this program; if not, write to the Free Software Foundation, Inc., 20# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA or visit 21# http://www.gnu.org/licenses/gpl.html 22# 23############################################################################### 24# E-mail: mbonetti at gmail dot com 25# Web page: http://gregarius.net/ 26# 27############################################################################### 28 29function rss_search_title() { 30 if (isset($GLOBALS['rss'] -> searchFormTitle)) { 31 return $GLOBALS['rss'] -> searchFormTitle; 32 } 33 return ""; 34} 35 36function rss_search_query() { 37 return (isset($GLOBALS['rss'] -> mainObject[0] -> query) ? 38 $GLOBALS['rss'] -> mainObject[0] -> query : ""); 39} 40 41function rss_search_or_checked() { 42 return ((array_key_exists(QUERY_MATCH_MODE,$_REQUEST) && 43 $_REQUEST[QUERY_MATCH_MODE] == QUERY_MATCH_OR)?" checked=\"checked\"":""); 44} 45 46function rss_search_and_checked() { 47 return ((array_key_exists(QUERY_MATCH_MODE,$_REQUEST) && 48 $_REQUEST[QUERY_MATCH_MODE] == QUERY_MATCH_AND || 49 !array_key_exists(QUERY_MATCH_MODE,$_REQUEST))?" checked=\"checked\"":""); 50} 51 52function rss_search_exact_checked() { 53 return ((array_key_exists(QUERY_MATCH_MODE,$_REQUEST) && 54 $_REQUEST[QUERY_MATCH_MODE] == QUERY_MATCH_EXACT)?" checked=\"checked\"":""); 55} 56 57function rss_search_order_date_checked() { 58 return ((array_key_exists(QUERY_ORDER_BY,$_REQUEST) && 59 $_REQUEST[QUERY_ORDER_BY] == QUERY_ORDER_BY_DATE || 60 !array_key_exists(QUERY_ORDER_BY,$_REQUEST)?" checked=\"checked\"":"")); 61} 62 63function rss_search_order_channel_checked() { 64 return ((array_key_exists(QUERY_ORDER_BY,$_REQUEST) && 65 $_REQUEST[QUERY_ORDER_BY] == QUERY_ORDER_BY_CHANNEL)?" checked=\"checked\"":""); 66} 67 68function rss_search_within() { 69 return ((array_key_exists(QUERY_MATCH_TYPE, $_REQUEST) && 70 $_REQUEST[QUERY_MATCH_TYPE] == QUERY_MATCH_WITHIN)?" checked=\"checked\"":""); 71} 72 73function rss_search_state_read_checked() { 74 return ((array_key_exists(QUERY_MATCH_STATE, $_REQUEST) && 75 $_REQUEST[QUERY_MATCH_STATE] == QUERY_MATCH_READ) ?" checked=\"checked\"":""); 76} 77 78function rss_search_state_unread_checked() { 79 return ((array_key_exists(QUERY_MATCH_STATE, $_REQUEST) && 80 $_REQUEST[QUERY_MATCH_STATE] == QUERY_MATCH_UNREAD) ?" checked=\"checked\"":""); 81} 82 83function rss_search_state_both_checked() { 84 return ((array_key_exists(QUERY_MATCH_STATE, $_REQUEST) && 85 $_REQUEST[QUERY_MATCH_STATE] == QUERY_MATCH_BOTH) || 86 !array_key_exists(QUERY_MATCH_STATE, $_REQUEST) ?" checked=\"checked\"":""); 87} 88 89function rss_search_results_per_page_combo($id) { 90 return "<select name=\"$id\" id=\"$id\">\n" 91 ."\t\t\t<option value=\"5\"" 92 .((array_key_exists(QUERY_RESULTS,$_REQUEST) && $_REQUEST[QUERY_RESULTS] == 5?" selected=\"selected\"":"")) 93 .">5</option>\n" 94 95 ."\t\t\t<option value=\"15\"" 96 .(( 97 (array_key_exists(QUERY_RESULTS,$_REQUEST) && $_REQUEST[QUERY_RESULTS] == 15) 98 || !array_key_exists(QUERY_RESULTS,$_REQUEST) 99 )?" selected=\"selected\"":"") 100 .">15</option>\n" 101 102 ."\t\t\t<option value=\"50\"" 103 .((array_key_exists(QUERY_RESULTS,$_REQUEST) && $_REQUEST[QUERY_RESULTS] == 50?" selected=\"selected\"":"")) 104 .">50</option>\n" 105 106 ."\t\t\t<option value=\"".INFINE_RESULTS."\"" 107 .((array_key_exists(QUERY_RESULTS,$_REQUEST) && $_REQUEST[QUERY_RESULTS] == INFINE_RESULTS?" selected=\"selected\"":"")) 108 .">".__('All')."</option>\n" 109 ."\t\t</select>"; 110} 111 112 113function rss_search_channels_combo($id) { 114 $ret = "\t\t<select name=\"$id\" id=\"$id\">\n" 115 ."\t\t\t<option value=\"". ALL_CHANNELS_ID ."\"" 116 .((!array_key_exists(QUERY_CHANNEL,$_REQUEST) || $_REQUEST[QUERY_CHANNEL] == ALL_CHANNELS_ID)?" selected=\"selected\"":"") 117 .">" . __('All') . "</option>\n"; 118 119 $sql = "select " 120 ." c.id, c.title, f.name, f.id " 121 ." from " . getTable("channels") ." c " 122 ." inner join " . getTable("folders"). " f " 123 ." on f.id = c.parent "; 124 125 if (hidePrivate()) { 126 $sql .=" and not(c.mode & " . RSS_MODE_PRIVATE_STATE .") "; 127 } 128 129 130 $sql .=" and not(c.mode & " . RSS_MODE_DELETED_STATE .") "; 131 132 $sql .= " order by " 133 .((getConfig('rss.config.absoluteordering'))?"f.position asc, c.position asc":"f.name asc, c.title asc"); 134 135 $res = rss_query($sql); 136 $prev_parent = -1; 137 while (list ($id_, $title_, $parent_, $parent_id_) = rss_fetch_row($res)) { 138 if ($prev_parent != $parent_id_) { 139 if ($prev_parent > -1) { 140 $ret .="\t\t\t</optgroup>\n"; 141 } 142 if ($parent_ == "") { 143 $parent_ = __('Root'); 144 } 145 $ret .= "\t\t\t<optgroup label=\"$parent_ /\">\n"; 146 $prev_parent = $parent_id_; 147 } 148 149 if (strlen($title_) > 25) { 150 $title_ = substr($title_, 0, 22)."..."; 151 } 152 $ret .= "\t\t\t\t<option value=\"$id_\"". 153 ((array_key_exists(QUERY_CHANNEL, $_REQUEST) && $_REQUEST[QUERY_CHANNEL] == $id_) ? 154 " selected=\"selected\"" : "").">$title_</option>\n"; 155 } 156 157 if ($prev_parent != 0) { 158 $ret .= "\t\t\t</optgroup>\n"; 159 } 160 161 $ret .= "\t\t</select>\n"; 162 163 return $ret; 164} 165 166 167?> 168