PluginProbe
FeedWordPress / 2009.0613
FeedWordPress v2009.0613
trunk 0.8 0.9 0.91 0.95 0.96 0.97 0.98 0.981 0.99 0.991 0.992 0.993 2008.1030 2008.1101 2008.1105 2008.1214 2009.0612 2009.0613 2009.0618 2009.0707 2009.1111 2009.1112 2010.0127 2010.0528 All 65 releases
feedwordpress / syndication-options.php

syndication-options.php in FeedWordPress 2009.0613, at syndication-options.php

244 lines 9.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 require_once(dirname(__FILE__) . '/admin-ui.php');
3
4 function fwp_syndication_options_page () {
5 global $wpdb, $wp_db_version, $fwp_path;
6
7 if (FeedWordPress::needs_upgrade()) :
8 fwp_upgrade_page();
9 return;
10 endif;
11
12 // If this is a POST, validate source and user credentials
13 FeedWordPressCompatibility::validate_http_request(/*action=*/ 'feedwordpress_options', /*capability=*/ 'manage_options');
14
15 if (isset($_POST['create_index'])) :
16 FeedWordPress::create_guid_index();
17 ?>
18 <div class="updated">
19 <p><?php _e('Index created on database table.')?></p>
20 </div>
21 <?php
22 endif;
23
24 if (isset($_POST['submit']) or isset($_POST['create_index'])) :
25 update_option('feedwordpress_cat_id', $_REQUEST['syndication_category']);
26 update_option('feedwordpress_update_logging', $_REQUEST['update_logging']);
27 update_option('feedwordpress_debug', $_POST['feedwordpress_debug']);
28 update_option('feedwordpress_automatic_updates', ($_POST['automatic_updates']=='yes'));
29 update_option('feedwordpress_update_time_limit', ($_POST['update_time_limit']=='yes')?(int) $_POST['time_limit_seconds']:0);
30
31 $freshness_interval = (isset($_POST['freshness_interval']) ? (int) $_POST['freshness_interval'] : 10);
32 update_option('feedworidpress_freshness', $freshness_interval*60);
33
34 if (isset($_REQUEST['hardcode_name']) and ($_REQUEST['hardcode_name'] == 'no')) :
35 update_option('feedwordpress_hardcode_name', 'no');
36 else :
37 update_option('feedwordpress_hardcode_name', 'yes');
38 endif;
39
40 if (isset($_REQUEST['hardcode_description']) and ($_REQUEST['hardcode_description'] == 'no')) :
41 update_option('feedwordpress_hardcode_description', 'no');
42 else :
43 update_option('feedwordpress_hardcode_description', 'yes');
44 endif;
45
46 if (isset($_REQUEST['hardcode_url']) and ($_REQUEST['hardcode_url'] == 'no')) :
47 update_option('feedwordpress_hardcode_url', 'no');
48 else :
49 update_option('feedwordpress_hardcode_url', 'yes');
50 endif;
51 ?>
52 <div class="updated">
53 <p><?php _e('Options saved.')?></p>
54 </div>
55 <?php
56 endif;
57
58 $cat_id = FeedWordPress::link_category_id();
59 $update_logging = get_option('feedwordpress_update_logging');
60 $feedwordpress_debug = (get_option('feedwordpress_debug')=='yes');
61
62 $update_time_limit = (int) get_option('feedwordpress_update_time_limit');
63 $automatic_updates = get_option('feedwordpress_automatic_updates');
64
65 $freshness_interval = get_option('feedwordpress_freshness');
66 if (false === $freshness_interval) :
67 $freshness_interval = FEEDWORDPRESS_FRESHNESS_INTERVAL;
68 endif;
69 $freshness_interval = $freshness_interval / 60; // convert to minutes
70
71 $hardcode_name = get_option('feedwordpress_hardcode_name');
72 $hardcode_description = get_option('feedwordpress_hardcode_description');
73 $hardcode_url = get_option('feedwordpress_hardcode_url');
74
75 if (isset($wp_db_version) and $wp_db_version >= 4772) :
76 $results = get_categories(array(
77 "type" => 'link',
78 "hide_empty" => false,
79 ));
80
81 // Guarantee that the Contributors category will be in the drop-down chooser, even if it is empty.
82 $found_link_category_id = false;
83 foreach ($results as $row) :
84 if ($row->cat_id == $cat_id) : $found_link_category_id = true; endif;
85 endforeach;
86
87 if (!$found_link_category_id) : $results[] = get_category($cat_id); endif;
88 else :
89 $results = $wpdb->get_results("SELECT cat_id, cat_name, auto_toggle FROM $wpdb->linkcategories ORDER BY cat_id");
90 endif;
91
92 $cats = array_map('trim',
93 preg_split(FEEDWORDPRESS_CAT_SEPARATOR_PATTERN, get_option('feedwordpress_syndication_cats'))
94 );
95 $dogs = SyndicatedPost::category_ids($cats, /*unfamiliar=*/ NULL);
96
97 $tags = array_map('trim',
98 preg_split(FEEDWORDPRESS_CAT_SEPARATOR_PATTERN, get_option('feedwordpress_syndication_tags'))
99 );
100
101 if (fwp_test_wp_version(FWP_SCHEMA_27)) :
102 $icon = '<div class="icon32"><img src="'.htmlspecialchars(WP_PLUGIN_URL.'/'.$fwp_path.'/feedwordpress.png').'" alt="" /></div>';
103 else :
104 $icon = '';
105 endif;
106
107 if (fwp_test_wp_version(FWP_SCHEMA_26)) :
108 $options = __('Settings');
109 else :
110 $options = __('Options');
111 endif;
112 ?>
113 <script type="text/javascript">
114 function contextual_appearance (item, appear, disappear, value, checkbox) {
115 var rollup=document.getElementById(item);
116 var newuser=document.getElementById(appear);
117 var sitewide=document.getElementById(disappear);
118 if (rollup) {
119 if ((checkbox && rollup.checked) || (!checkbox && value==rollup.value)) {
120 if (newuser) newuser.style.display='block';
121 if (sitewide) sitewide.style.display='none';
122 } else {
123 if (newuser) newuser.style.display='none';
124 if (sitewide) sitewide.style.display='block';
125 }
126 }
127 }
128 </script>
129
130 <div class="wrap">
131 <?php print $icon; ?>
132 <h2>Syndication <?php print $options; ?></h2>
133 <div id="poststuff">
134 <form action="" method="post">
135 <?php
136 FeedWordPressCompatibility::stamp_nonce('feedwordpress_options');
137 fwp_linkedit_single_submit();
138 ?>
139 <div id="post-body">
140 <?php fwp_option_box_opener('Syndicated Feeds', 'syndicatedfeedsdiv'); ?>
141 <table class="editform" width="100%" cellspacing="2" cellpadding="5">
142 <tr>
143 <th width="33%" scope="row">Syndicated Link category:</th>
144 <td width="67%"><?php
145 echo "\n<select name=\"syndication_category\" size=\"1\">";
146 foreach ($results as $row) :
147 if (!isset($row->cat_id)) : $row->cat_id = $row->cat_ID; endif;
148
149 echo "\n\t<option value=\"$row->cat_id\"";
150 if ($row->cat_id == $cat_id) :
151 echo " selected='selected'";
152 endif;
153 echo ">$row->cat_id: ".wp_specialchars($row->cat_name);
154 if ('Y' == $row->auto_toggle) :
155 echo ' (auto toggle)';
156 endif;
157 echo "</option>\n";
158 endforeach;
159 echo "\n</select>\n";
160 ?></td>
161 </tr>
162
163 <tr style="vertical-align: top">
164 <th width="33%" scope="row">Check for updates:</th>
165 <td width="67%"><select name="automatic_updates" size="1">
166 <option value="yes"<?php echo ($automatic_updates)?' selected="selected"':''; ?>>automatically</option>
167 <option value="no"<?php echo (!$automatic_updates)?' selected="selected"':''; ?>>only when I request</option>
168 </select>
169 </td>
170 </tr>
171
172 <tr style="vertical-align: top">
173 <th width="33%" scope="row"><?php print __('Time limit on updates'); ?>:</th>
174 <td width="67%"><select id="time-limit" name="update_time_limit" size="1" onchange="contextual_appearance('time-limit', 'time-limit-box', null, 'yes');">
175 <option value="no"<?php echo ($update_time_limit>0)?'':' selected="selected"'; ?>>no time limit on updates</option>
176 <option value="yes"<?php echo ($update_time_limit>0)?' selected="selected"':''; ?>>limit updates to no more than...</option>
177 </select>
178 <span id="time-limit-box"><label><input type="text" name="time_limit_seconds" value="<?php print $update_time_limit; ?>" size="5" /> seconds</label></span>
179 </tr>
180
181 <script type="text/javascript">
182 contextual_appearance('time-limit', 'time-limit-box', null, 'yes');
183 </script>
184
185 <tr><th width="33%" scope="row" style="vertical-align:top">Feed information:</th>
186 <td width="67%"><ul style="margin:0;padding:0;list-style:none">
187 <li><input type="checkbox" name="hardcode_name" value="no"<?php echo (($hardcode_name=='yes')?'':' checked="checked"');?>/> Update the contributor title when the feed title changes</li>
188 <li><input type="checkbox" name="hardcode_description" value="no"<?php echo (($hardcode_description=='yes')?'':' checked="checked"');?>/> Update when contributor description if the feed tagline changes</li>
189 <li><input type="checkbox" name="hardcode_url" value="no"<?php echo (($hardcode_url=='yes')?'':' checked="checked"');?>/> Update the contributor homepage when the feed link changes</li>
190 </ul></td></tr>
191 </table>
192 <?php fwp_linkedit_periodic_submit(); ?>
193 <?php fwp_option_box_closer(); ?>
194
195 <?php
196 FeedWordPressSettingsUI::instead_of_posts_box();
197 FeedWordPressSettingsUI::instead_of_authors_box();
198 FeedWordPressSettingsUI::instead_of_categories_box();
199
200 fwp_option_box_opener('Back End', 'backenddiv', 'postbox');
201 ?>
202 <table class="editform" width="100%" cellspacing="2" cellpadding="5">
203 <tr style="vertical-align: top">
204 <th width="33%" scope="row">Update notices:</th>
205 <td width="67%"><select name="update_logging" size="1">
206 <option value="yes"<?php echo (($update_logging=='yes')?' selected="selected"':''); ?>>write to PHP logs</option>
207 <option value="no"<?php echo (($update_logging!='yes')?' selected="selected"':''); ?>>don't write to PHP logs</option>
208 </select></td>
209 </tr>
210 <tr style="vertical-align: top">
211 <th width="33%" scope="row">Debugging mode:</th>
212 <td width="67%"><select name="feedwordpress_debug" size="1">
213 <option value="yes"<?php echo ($feedwordpress_debug ? ' selected="selected"' : ''); ?>>on</option>
214 <option value="no"<?php echo ($feedwordpress_debug ? '' : ' selected="selected"'); ?>>off</option>
215 </select>
216 <p>When debugging mode is <strong>ON</strong>, FeedWordPress displays many diagnostic error messages,
217 warnings, and notices that are ordinarily suppressed, and turns off all caching of feeds. Use with
218 caution: this setting is absolutely inappropriate for a production server.</p>
219 </td>
220 </tr>
221
222 <tr style="vertical-align: top">
223 <th width="33%" scope="row">Guid index:</th>
224 <td width="67%"><input class="button" type="submit" name="create_index" value="Create index on guid column in posts database table" />
225 <p>Creating this index may significantly improve performance on some large
226 FeedWordPress installations.</p></td>
227 </tr>
228 </table>
229 <?php
230 fwp_option_box_closer();
231 fwp_linkedit_periodic_submit();
232 fwp_linkedit_single_submit_closer();
233 ?>
234 </div>
235 </form>
236
237 </div> <!-- id="poststuff" -->
238 </div> <!-- class="wrap" -->
239 <?php
240 }
241
242 fwp_syndication_options_page();
243
244