/[refeed]/trunk/library/RF/UserdataController.class.php
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /trunk/library/RF/UserdataController.class.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (show annotations)
Wed Jul 5 00:27:49 2006 UTC (17 years, 10 months ago) by dpavlin
File size: 27459 byte(s)
make working copy of trunk
1 <?php
2 // vim: ts=4 foldcolumn=4 foldmethod=marker
3 /**
4 * RF_Userdata_Controller class found here.
5 *
6 * This file is part of Reblog,
7 * a derivative work of Feed On Feeds.
8 *
9 * Distributed under the Gnu Public License.
10 *
11 * @package Refeed
12 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
13 * @author Michal Migurski <mike@stamen.com>
14 * @author Michael Frumin <mfrumin@eyebeam.org>
15 * @copyright ©2004 Michael Frumin, Michal Migurski
16 * @link http://reblog.org Reblog
17 * @link http://feedonfeeds.com Feed On Feeds
18 * @version $Revision: 1.12 $
19 */
20
21 /**
22 * RF_Userdata_Controller is an interface for accessing feed & item
23 * per-user data.
24 *
25 * Methods accessed from a client via JSON-RPC are looked-for
26 * here first, so this class acts as a public API.
27 * {@link call.php Call.php} is the JSON-RPC endpoint.
28 */
29 class RF_Userdata_Controller
30 {
31 /**
32 * Reference to operative controller object.
33 * @var RF_Controller
34 */
35 var $controller;
36
37 /**
38 * Reference to operative user object.
39 * @var RF_User
40 */
41 var $user;
42
43 /**
44 * @param RF_Controller $controller -
45 * @param RF_User $user -
46 *
47 * @uses RF_Userdata_Controller::$controller Assigned on instantiation, from {@link RF_Controller $controller}.
48 * @uses RF_Userdata_Controller::$user Assigned on instantiation, from {@link RF_User $user}.
49 */
50 function RF_Userdata_Controller(&$controller, &$user)
51 {
52 if(strtolower(get_class($controller)) != strtolower('RF_Controller'))
53 die("RF_Userdata_Controller must be instantiated with an RF_Controller.");
54
55 $this->controller =& $controller;
56 $this->user =& $user;
57 }
58
59 /**
60 * Set an item's comment and tags
61 *
62 * @param RF_Item $item -
63 * @param string $comment Comment text
64 * @param array $tags Array of tags
65 * @return boolean True
66 *
67 * @uses RF_Controller::setItemUserdata()
68 * @uses RF_Userdata_Controller::setItemTags()
69 * @uses RF_Controller::invokePlugin() "setItemCommentTags" event,
70 * parameters: {@link RF_User $user}, {@link RF_Item $item}, $comment, array $tags.
71 */
72 function setItemCommentTags(&$item, $comment, $tags)
73 {
74 $this->controller->setItemUserdata($item, $this->user, 'comment', $comment, 'long');
75 $this->setItemTags($item, $tags);
76
77 $this->controller->invokePlugin('setItemCommentTags', array(&$this->user, &$item, &$comment, &$tags));
78 return true;
79 }
80
81 /**
82 * Set an item's tags
83 *
84 * @param RF_Item $item -
85 * @param array $tags Array of tags
86 * @return boolean True
87 *
88 * @uses RF_Controller::setItemUserdata()
89 * @uses RF_Controller::invokePlugin() "setItemTags" event,
90 * parameters: {@link RF_User $user}, {@link RF_Item $item}, array $tags.
91 */
92 function setItemTags(&$item, $tags)
93 {
94 foreach($tags as $t => $tag)
95 if(empty($tag))
96 unset($tags[$t]);
97
98 $tags = array_unique($tags);
99
100 // set the tags in two ways: once as separate table rows in
101 // a varchar field, for search, and again as one long
102 // space-delimited string in a text field for lack of
103 // GROUP_CONCAT() in MySQL 3
104 $this->controller->setItemUserdata($item, $this->user, 'tag', $tags, 'short');
105 $this->controller->setItemUserdata($item, $this->user, 'tags', join(' ', $tags), 'long');
106
107 $this->controller->invokePlugin('setItemTags', array(&$this->user, &$item, &$tags));
108 return true;
109 }
110
111 /**
112 * Set a feed's tags
113 *
114 * @param RF_Feed $feed -
115 * @param array $tags Array of tags
116 * @return boolean True
117 *
118 * @uses RF_Controller::setFeedUserdata()
119 * @uses RF_Controller::getUserItems()
120 * @uses RF_Controller::getItemUserdata()
121 * @uses RF_Userdata_Controller::setItemTags()
122 * @uses RF_Controller::setItemUserdata()
123 * @uses RF_Controller::invokePlugin() "setFeedTags" event,
124 * parameters: {@link RF_User $user}, {@link RF_feed $feed}, array $tags.
125 */
126 function setFeedTags(&$feed, $tags)
127 {
128 foreach($tags as $t => $tag)
129 if(empty($tag))
130 unset($tags[$t]);
131
132 $tags = array_unique($tags);
133
134 // set the tags in two ways: once as separate table rows in
135 // a varchar field, for search, and again as one long
136 // space-delimited string in a text field for lack of
137 // GROUP_CONCAT() in MySQL 3
138 $this->controller->setFeedUserdata($feed, $this->user, 'tag', $tags, 'short');
139 $this->controller->setFeedUserdata($feed, $this->user, 'tags', join(' ', $tags), 'long');
140
141 $this->controller->invokePlugin('setFeedTags', array(&$this->user, &$feed, &$tags));
142 return true;
143 }
144
145 /**
146 * Set an item's title, link and content
147 *
148 * @param RF_Item $item -
149 * @param string $title Title text
150 * @param mixed $content Content text
151 * @param mixed $link URL
152 * @return boolean True
153 *
154 * @uses RF_Controller::setItemUserdata()
155 * @uses RF_Controller::invokePlugin() "setItemTitleContentLink" event,
156 * parameters: {@link RF_User $user}, {@link RF_Item $item}, $title, $content, $link.
157 */
158 function setItemTitleContentLink(&$item, $title, $content, $link)
159 {
160 $this->controller->setItemUserdata($item, $this->user, 'title', $title, 'long');
161 $this->controller->setItemUserdata($item, $this->user, 'content', $content, 'long');
162 $this->controller->setItemUserdata($item, $this->user, 'link', $link, 'long');
163
164 $this->controller->invokePlugin('setItemTitleContentLink', array(&$this->user, &$item, &$title, &$content, &$link));
165 return true;
166 }
167
168 /**
169 * Set an item's title and content
170 *
171 * @param RF_Item $item -
172 * @param string $link URL of intended link
173 * @return boolean True
174 *
175 * @uses RF_Controller::setItemUserdata()
176 * @uses RF_Controller::invokePlugin() "setItemLink" event,
177 * parameters: {@link RF_User $user}, {@link RF_Item $item}, $link.
178 */
179 function setItemLink(&$item, $link)
180 {
181 $this->controller->setItemUserdata($item, $this->user, 'link', $link, 'long');
182
183 $this->controller->invokePlugin('setItemLink', array(&$this->user, &$item, &$link));
184 return true;
185 }
186
187 /**
188 * Mark an item as read
189 *
190 * @param RF_Item $item -
191 * @return boolean True
192 *
193 * @uses RF_Controller::setItemUserdata()
194 * @uses RF_Controller::getUserItem()
195 * @uses RF_Controller::freshenUserFeedUsage()
196 * @uses RF_Controller::invokePlugin() "markedItemRead" event,
197 * parameters: {@link RF_User $user}, {@link RF_Item $item}.
198 */
199 function markItemRead(&$item)
200 {
201 $this->controller->setItemUserdata($item, $this->user, 'read', 1, 'numeric');
202 $item->read = 1;
203
204 if(!is_object($item->feed))
205 $item = $this->controller->getUserItem($this->user, $item);
206
207 $this->controller->freshenUserFeedUsage($this->user, $item->feed);
208
209 $this->controller->invokePlugin('markedItemRead', array(&$this->user, &$item));
210 return true;
211 }
212
213 /**
214 * Mark several items as read
215 *
216 * @param array $items Array of {@link RF_Item items}
217 * @return boolean True
218 *
219 * @see RF_Item::RF_Item()
220 * @uses RF_Controller::setItemsUserdata()
221 * @uses RF_Controller::getUserItem()
222 * @uses RF_Controller::freshenUserFeedUsage()
223 * @uses RF_Controller::invokePlugin() "markedItemsRead" event,
224 * parameters: {@link RF_User $user}, array {@link RF_Item $items}.
225 */
226 function markItemsRead($items)
227 {
228 $this->controller->setItemsUserdata($items, $this->user, 'read', 1, 'numeric');
229
230 $feeds = array();
231
232 foreach($items as $i => $item) {
233 $items[$i]->read = 1;
234
235 if(!is_object($item->feed))
236 $item = $this->controller->getUserItem($this->user, $item);
237
238 $feeds[$item->feed->getID()] = $item->feed;
239 }
240
241 foreach($feeds as $f => $feed)
242 $this->controller->freshenUserFeedUsage($this->user, $feed);
243
244 $this->controller->invokePlugin('markedItemsRead', array(&$this->user, &$items));
245 return true;
246 }
247
248 /**
249 * Mark all items in a feed as read
250 *
251 * @param RF_Feed $feed -
252 * @return boolean True
253 *
254 * @uses RF_Controller::getUserItems()
255 * @uses RF_Controller::freshenUserFeedUsage()
256 * @uses RF_Userdata_Controller::markItemsRead()
257 */
258 function markFeedRead(&$feed)
259 {
260 if($items = $this->controller->getUserItems($this->user, array('feed' => $feed->getID())))
261 $this->markItemsRead($items);
262
263 $this->controller->freshenUserFeedUsage($this->user, $feed);
264
265 return true;
266 }
267
268 /**
269 * Mark an item as unread
270 *
271 * @param RF_Item $item -
272 * @return boolean True
273 *
274 * @uses RF_Controller::setItemUserdata()
275 * @uses RF_Controller::getUserItem()
276 * @uses RF_Controller::freshenUserFeedUsage()
277 * @uses RF_Controller::invokePlugin() "markedItemUnread" event,
278 * parameters: {@link RF_User $user}, {@link RF_Item $item}.
279 */
280 function markItemUnread(&$item)
281 {
282 $this->controller->setItemUserdata($item, $this->user, 'read', 0, 'numeric');
283 $item->read = 0;
284
285 if(!is_object($item->feed))
286 $item = $this->controller->getUserItem($this->user, $item);
287
288 $this->controller->freshenUserFeedUsage($this->user, $item->feed);
289
290 $this->controller->invokePlugin('markedItemUnread', array(&$this->user, &$item));
291 return true;
292 }
293
294
295 /**
296 * Mark all items in a feed as unread
297 *
298 * @param RF_Feed $feed -
299 * @return boolean True
300 *
301 * @uses RF_Controller::getUserItems()
302 * @uses RF_Controller::freshenUserFeedUsage()
303 * @uses RF_Userdata_Controller::markItemsRead()
304 */
305 function markFeedUnread(&$feed)
306 {
307 if($items = $this->controller->getUserItems($this->user, array('feed' => $feed->getID())))
308 $this->markItemsUnread($items);
309
310 $this->controller->freshenUserFeedUsage($this->user, $feed);
311
312 return true;
313 }
314
315 /**
316 * Mark several items as unread
317 *
318 * @param array $items Array of {@link RF_Item items}
319 * @return boolean True
320 *
321 * @see RF_Item::RF_Item()
322 * @uses RF_Controller::setItemsUserdata()
323 * @uses RF_Controller::getUserItem()
324 * @uses RF_Controller::freshenUserFeedUsage()
325 * @uses RF_Controller::invokePlugin() "markedItemsUnread" event,
326 * parameters: {@link RF_User $user}, array {@link RF_Item $items}.
327 */
328 function markItemsUnread($items)
329 {
330 $this->controller->setItemsUserdata($items, $this->user, 'read', 0, 'numeric');
331
332 $feeds = array();
333
334 foreach($items as $i => $item) {
335 $items[$i]->read = 0;
336
337 if(!is_object($item->feed))
338 $item = $this->controller->getUserItem($this->user, $item);
339
340 $feeds[$item->feed->getID()] = $item->feed;
341 }
342
343 foreach($feeds as $f => $feed)
344 $this->controller->freshenUserFeedUsage($this->user, $feed);
345
346 $this->controller->invokePlugin('markedItemsUnread', array(&$this->user, &$items));
347 return true;
348 }
349
350 /**
351 * Mark an item as published
352 *
353 * @param RF_Item $item -
354 * @return boolean True
355 *
356 * @uses RF_Controller::setItemUserdata()
357 * @uses RF_Controller::getUserItem()
358 * @uses RF_Controller::freshenUserFeedUsage()
359 * @uses RF_Controller::invokePlugin() "markedItemPublished" event,
360 * parameters: {@link RF_User $user}, {@link RF_Item $item}.
361 */
362 function markItemPublished(&$item)
363 {
364 $this->controller->setItemUserdata($item, $this->user, 'published', 1, 'numeric');
365 $item->published = 1;
366
367 if(!is_object($item->feed))
368 $item = $this->controller->getUserItem($this->user, $item);
369
370 $this->controller->freshenUserFeedUsage($this->user, $item->feed);
371
372 $this->controller->invokePlugin('markedItemPublished', array(&$this->user, &$item));
373 return true;
374 }
375
376 /**
377 * Mark several items as published
378 *
379 * @param array $items Array of {@link RF_Item items}
380 * @return boolean True
381 *
382 * @see RF_Item::RF_Item()
383 * @uses RF_Controller::setItemsUserdata()
384 * @uses RF_Controller::getUserItem()
385 * @uses RF_Controller::freshenUserFeedUsage()
386 * @uses RF_Controller::invokePlugin() "markedItemsPublished" event,
387 * parameters: {@link RF_User $user}, array {@link RF_Item $items}.
388 */
389 function markItemsPublished($items)
390 {
391 $this->controller->setItemsUserdata($items, $this->user, 'published', 1, 'numeric');
392
393 $feeds = array();
394
395 foreach($items as $i => $item) {
396 $items[$i]->published = 1;
397
398 if(!is_object($item->feed))
399 $item = $this->controller->getUserItem($this->user, $item);
400
401 $feeds[$item->feed->getID()] = $item->feed;
402 }
403
404 foreach($feeds as $f => $feed)
405 $this->controller->freshenUserFeedUsage($this->user, $feed);
406
407 $this->controller->invokePlugin('markedItemsPublished', array(&$this->user, &$items));
408 return true;
409 }
410
411 /**
412 * Mark an item as unpublished
413 *
414 * @param RF_Item $item -
415 * @return boolean True
416 *
417 * @uses RF_Controller::setItemUserdata()
418 * @uses RF_Controller::getUserItem()
419 * @uses RF_Controller::freshenUserFeedUsage()
420 * @uses RF_Controller::invokePlugin() "markedItemUnpublished" event,
421 * parameters: {@link RF_User $user}, {@link RF_Item $item}.
422 */
423 function markItemUnpublished(&$item)
424 {
425 $this->controller->setItemUserdata($item, $this->user, 'published', 0, 'numeric');
426 $item->published = 0;
427
428 if(!is_object($item->feed))
429 $item = $this->controller->getUserItem($this->user, $item);
430
431 $this->controller->freshenUserFeedUsage($this->user, $item->feed);
432
433 $this->controller->invokePlugin('markedItemUnpublished', array(&$this->user, &$item));
434 return true;
435 }
436
437 /**
438 * Mark a feed as published
439 *
440 * @param RF_Feed $feed -
441 * @return boolean True
442 *
443 * @uses RF_Controller::setFeedUserdata()
444 * @uses RF_Controller::freshenUserFeedUsage()
445 * @uses RF_Controller::invokePlugin() "markedFeedPublished" event,
446 * parameters: {@link RF_User $user}, {@link RF_Feed $feed}.
447 */
448 function markFeedPublished(&$feed)
449 {
450 $this->controller->setFeedUserdata($feed, $this->user, 'published', 1, 'numeric');
451 $feed->published = 1;
452
453 $this->controller->freshenUserFeedUsage($this->user, $feed);
454
455 $this->controller->invokePlugin('markedFeedPublished', array(&$this->user, &$feed));
456 return true;
457 }
458
459 /**
460 * Mark a feed as unpublished
461 *
462 * @param RF_Feed $feed -
463 * @return boolean True
464 *
465 * @uses RF_Controller::setFeedUserdata()
466 * @uses RF_Controller::freshenUserFeedUsage()
467 * @uses RF_Controller::invokePlugin() "markedFeedUnpublished" event,
468 * parameters: {@link RF_User $user}, {@link RF_Feed $feed}.
469 */
470 function markFeedUnpublished(&$feed)
471 {
472 $this->controller->setFeedUserdata($feed, $this->user, 'published', 0, 'numeric');
473 $feed->published = 0;
474
475 $this->controller->freshenUserFeedUsage($this->user, $feed);
476
477 $this->controller->invokePlugin('markedFeedUnpublished', array(&$this->user, &$feed));
478 return true;
479 }
480
481 /**
482 * Post a new item
483 *
484 * @param array $item_args Array of new item properties.
485 * Possible keys:
486 * - "title" - Title of new item, required.
487 * - "link" - Link for new item, required.
488 * - "content" - Content of new item, required.
489 * - "tags" - Space-delimited list of item tags, optional.
490 * - "feed_id" - numeric feed ID; leave this blank in almost all cases.
491 * - "modified" - modification timestamp; leave blank for "now".
492 * - "guid" - globally unique identifier; leave this blank in almost all cases.
493 * @param array $user_data Optional array of metadata.
494 * Each element should be an associative array of the form:
495 * {'label': ..., 'value': ..., 'format': ...}
496 * @return RF_Item Instance of RF_Item
497 *
498 * @uses RF_Item::RF_Item()
499 * @uses RF_Feed::RF_Feed()
500 * @uses RF_Controller::itemExistsWithGUID()
501 * @uses RF_Controller::saveItem()
502 * @uses RF_Userdata_Controller::markItemRead()
503 * @uses RF_Userdata_Controller::markItemPublished()
504 * @uses RF_Controller::setItemUserdata()
505 * @uses RF_Controller::invokePlugin() "postedItem" event,
506 * parameters: {@link RF_User $user}, {@link RF_Item $item}.
507 * @uses RF_Userdata_Controller::setItemTags()
508 */
509 function postItem($item_args, $user_data=null)
510 {
511 // zero is the conventional feed ID for these feedless items
512 $item_args['feed_id'] = empty($item_args['feed_id'])
513 ? 0
514 : $item_args['feed_id'];
515
516 // it's modified now
517 $item_args['modified'] = empty($item_args['modified'])
518 ? time()
519 : $item_args['modified'];
520
521 // basing the inserted GUID on title, link and content should cover all sorts of uniqueness
522 $item_args['guid'] = empty($item_args['guid'])
523 ? get_configured_guid_prefix().md5(join('-', array($item_args['title'], $item_args['link'], $item_args['content'])))
524 : $item_args['guid'];
525
526 $item = new RF_Item($item_args);
527 $feed = new RF_Feed(array('id' => $item_args['feed_id']));
528
529 if($item_existing = $GLOBALS['REBLOG_CONTROLLER']->itemExistsWithGUID($feed, $item_args['guid']))
530 $item->setID($item_existing->getID());
531
532 $this->controller->saveItem($item);
533
534 // they're old and published by default
535 $this->markItemRead($item);
536 $this->markItemPublished($item);
537
538 $user_data = is_array($user_data)
539 ? $user_data
540 : array();
541
542 // by default, there is one user datum needed here: self = 1 for self-published items.
543 $user_data[] = array('label' => 'self', 'value' => 1, 'format' => 'numeric');
544
545 // other user data may be passed as arguments, in this form:
546 // {'label': ..., 'value': ..., 'format': ...}
547 foreach($user_data as $user_datum)
548 $this->controller->setItemUserdata($item, $this->user, $user_datum['label'], $user_datum['value'], $user_datum['format']);
549
550 $this->controller->invokePlugin('postedItem', array(&$this->user, &$item));
551
552 // tags may be set after the postedItem plugin is invoked because this invokes its own plugin action
553 if(!empty($item_args['tags']))
554 $this->setItemTags($item, preg_split('/\s+/', $item_args['tags']));
555
556 return $item;
557 }
558
559 /**
560 * Toggle keyboard usage flag.
561 *
562 * @param boolean $use Turn keyboard usage on (true) and off (false)
563 * @return boolean True
564 *
565 * @uses RF_Controller::invokePlugin() "setKeyboardUse" event,
566 * parameters: {@link RF_User $user}, $use.
567 */
568 function setKeyboardUse($use)
569 {
570 $this->controller->invokePlugin('setKeyboardUse', array(&$this->user, &$use));
571
572 $this->user->keyboardActive($use);
573
574 return true;
575 }
576
577 /**
578 * Retrieve item body HTML
579 *
580 * @param RF_Item $item -
581 * @return string String of HTML representing item's body as defined by template
582 *
583 * @uses RF_Controller::getUserItems()
584 */
585 function itemBodyHTML(&$item)
586 {
587 $args = array('item' => $item->getID(), 'metadata' => $this->controller->prepareUserdataArguments(array()));
588 $item = reset($this->controller->getUserItems($this->user, $args));
589 $GLOBALS['REBLOG_VIEW']->assign('item', $item);
590
591 return $GLOBALS['REBLOG_VIEW']->fetch('fragment-item-body.tpl');
592 }
593
594 /**
595 * Retrieve item head HTML
596 *
597 * @param RF_Item $item -
598 * @return string String of HTML representing item's head as defined by template
599 *
600 * @uses RF_Controller::getUserItems()
601 */
602 function itemHeadHTML(&$item)
603 {
604 $args = array('item' => $item->getID(), 'metadata' => $this->controller->prepareUserdataArguments(array()));
605 $item = reset($this->controller->getUserItems($this->user, $args));
606 $GLOBALS['REBLOG_VIEW']->assign('item', $item);
607
608 return $GLOBALS['REBLOG_VIEW']->fetch('fragment-item-head.tpl');
609 }
610
611 /**
612 * Retrieve item edit form HTML
613 *
614 * @param RF_Item $item -
615 * @return string String of HTML representing item's body as defined by template
616 *
617 * @uses ref_find_links()
618 * @uses RF_Controller::getUserItems()
619 * @uses RF_Controller::getItemUserdata()
620 */
621 function itemEditFormHTML(&$item)
622 {
623 $args = array('item' => $item->getID(), 'metadata' => $this->controller->prepareUserdataArguments(array()));
624 $item = reset($this->controller->getUserItems($this->user, $args));
625
626 $item->metadata['links'] = ref_find_links($item->content);
627 $item->metadata['tags'] = join(', ', $this->controller->getItemUserdata($item, $this->user, 'tag', 'short'));
628
629 $GLOBALS['REBLOG_VIEW']->assign('item', $item);
630
631 return $GLOBALS['REBLOG_VIEW']->fetch('form-item-edit.tpl');
632 }
633
634 /**
635 * Retrieve item comment form HTML
636 *
637 * @param RF_Item $item -
638 * @return string String of HTML representing item's body as defined by template
639 *
640 * @uses ref_find_links()
641 * @uses RF_Controller::getUserItems()
642 * @uses RF_Controller::getItemUserdata()
643 */
644 function itemCommentFormHTML(&$item)
645 {
646 $args = array('item' => $item->getID(), 'metadata' => $this->controller->prepareUserdataArguments(array()));
647 $item = reset($this->controller->getUserItems($this->user, $args));
648
649 $item->metadata['links'] = ref_find_links($item->content);
650 $item->metadata['tags'] = $this->controller->getItemUserdata($item, $this->user, 'tag', 'short');
651
652 $GLOBALS['REBLOG_VIEW']->assign('item', $item);
653
654 return $GLOBALS['REBLOG_VIEW']->fetch('form-item-comment.tpl');
655 }
656
657 /**
658 * Retrieve feed subscription form HTML
659 *
660 * @param RF_Feed $feed -
661 * @return string String of HTML representing feed's body as defined by template
662 *
663 * @uses RF_Controller::getUserFeeds()
664 */
665 function feedSubscriptionFormHTML(&$feed)
666 {
667 $feed = reset($this->controller->getUserFeeds($this->user, array('feed' => $feed->getID())));
668
669 $GLOBALS['REBLOG_VIEW']->assign('feed', $feed);
670
671 return $GLOBALS['REBLOG_VIEW']->fetch('form-feed-subscription.tpl');
672 }
673
674 /**
675 * Retrieve feed tags form HTML
676 *
677 * @param RF_Feed $feed -
678 * @return string String of HTML representing feed's body as defined by template
679 *
680 * @uses RF_Controller::getUserFeeds()
681 */
682 function feedTagsFormHTML(&$feed)
683 {
684 $feed = reset($this->controller->getUserFeeds($this->user, array('feed' => $feed->getID())));
685 $feed->metadata['tags'] = $this->controller->getFeedUserdata($feed, $this->user, 'tag', 'short');
686
687 $GLOBALS['REBLOG_VIEW']->assign('feed', $feed);
688
689 return $GLOBALS['REBLOG_VIEW']->fetch('form-feed-tags.tpl');
690 }
691
692 /**
693 * Retrieve feed publish form HTML
694 *
695 * @param RF_Feed $feed -
696 * @return string String of HTML representing feed's body as defined by template
697 *
698 * @uses RF_Controller::getUserFeeds()
699 */
700 function feedPublishFormHTML(&$feed)
701 {
702 $feed = reset($this->controller->getUserFeeds($this->user, array('feed' => $feed->getID())));
703 $feed->metadata['tags'] = $this->controller->getFeedUserdata($feed, $this->user, 'tag', 'short');
704
705 $GLOBALS['REBLOG_VIEW']->assign('feed', $feed);
706
707 return $GLOBALS['REBLOG_VIEW']->fetch('form-feed-publish.tpl');
708 }
709 }
710
711 ?>

  ViewVC Help
Powered by ViewVC 1.1.26