Zikula_Value_Addons
[ class tree: Zikula_Value_Addons ] [ index: Zikula_Value_Addons ] [ all elements ]

Source for file displayfeed.php

Documentation is available at displayfeed.php

  1. <?php
  2. /**
  3.  * Zikula Application Framework
  4.  *
  5.  * @copyright (c) 2002, Zikula Development Team
  6.  * @link http://www.zikula.org
  7.  * @version $Id: displayfeed.php 24342 2008-06-06 12:03:14Z markwest $
  8.  * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html
  9.  * @package Zikula_Value_Addons
  10.  * @subpackage Feeds
  11.  */
  12.  
  13. /**
  14.  * initialise block
  15.  */
  16. {
  17.     // Security
  18.     pnSecAddSchema('Feeds:NewsFeed:''Block title::');
  19. }
  20.  
  21. /**
  22.  * get information on block
  23.  */
  24. {
  25.     // Values
  26.     return array('text_type' => 'displayfeed',
  27.                  'module' => 'Feeds',
  28.                  'text_type_long' => 'Show News Feed',
  29.                  'allow_multiple' => true,
  30.                  'form_content' => false,
  31.                  'form_refresh' => false,
  32.                  'show_preview' => true,
  33.                  'admin_tableless' => true);
  34. }
  35.  
  36. /**
  37.  * display block
  38.  */
  39. function feeds_displayfeedblock_display($blockinfo)
  40. {
  41.     // Security check
  42.                          'Feeds:NewsFeed:',
  43.                          "$blockinfo[title]::",
  44.                          ACCESS_READ)) {
  45.         return;
  46.     }
  47.  
  48.     // Get variables from content block
  49.     $vars pnBlockVarsFromContent($blockinfo['content']);
  50.  
  51.     // Defaults
  52.     if (empty($vars['feedid'])) {
  53.         $vars['feedid'1;
  54.     }
  55.     if (empty($vars['displayimage'])) {
  56.         $vars['displayimage'0;
  57.     }
  58.  
  59.     // Get the feed item
  60.     $item pnModAPIFunc('Feeds''user''get',array('fid' => $vars['feedid']));
  61.  
  62.     if ($item == false{
  63.         return;
  64.     }
  65.  
  66.     // Create output object
  67.     $pnRender pnRender::getInstance('Feeds');
  68.  
  69.     //  Check if the block is cached
  70.     if ($pnRender->is_cached('feeds_block_displayfeed.htm',$vars['feedid'])) {
  71.         $blockinfo['content'$pnRender->fetch('feeds_block_displayfeed.htm',$vars['feedid']);
  72.         return pnBlockThemeBlock($blockinfo);
  73.     }
  74.  
  75.     // Get the feed source
  76.     $fullfeed pnModAPIFunc('Feeds''user''getfeed'array('fid' => $vars['feedid']));
  77.  
  78.     // Assign the module vars
  79.     $pnRender->assign(pnModGetVar('Feeds'));
  80.  
  81.     // Assign the item and feed
  82.     $pnRender->assign($item);
  83.     $pnRender->assign('feed'$fullfeed);
  84.  
  85.     // assign the block vars
  86.     $pnRender->assign($vars);
  87.  
  88.    // Populate block info and pass to theme
  89.     $blockinfo['content'$pnRender->fetch('feeds_block_displayfeed.htm',$vars['feedid']);
  90.  
  91.     return pnBlockThemeBlock($blockinfo);
  92. }
  93.  
  94. /**
  95.  * modify block settings
  96.  */
  97. function feeds_displayfeedblock_modify($blockinfo)
  98. {
  99.     // Create output object
  100.     $pnRender pnRender::getInstance('Feeds'false);
  101.  
  102.     // Get current content
  103.     $vars pnBlockVarsFromContent($blockinfo['content']);
  104.  
  105.     // Defaults
  106.     if (empty($vars['feedid'])) {
  107.         $vars['feedid'1;
  108.     }
  109.     if (empty($vars['displayimage'])) {
  110.         $vars['displayimage'0;
  111.     }
  112.     if (empty($vars['numitems'])) {
  113.         $vars['numitems'= -1;
  114.     }
  115.  
  116.     // The API function is called.  The arguments to the function are passed in
  117.     // as their own arguments array
  118.     $items pnModAPIFunc('Feeds''user''getall');
  119.  
  120.     // create an array for feednames and id's for the template
  121.     $allfeeds array();
  122.     foreach($items as $item{
  123.         $allfeeds[$item['fid']] $item['name'];
  124.     }
  125.     $pnRender->assign('allfeeds'$allfeeds);
  126.  
  127.     // assign the block vars
  128.     $pnRender->assign($vars);
  129.  
  130.     // Return output
  131.     return $pnRender->fetch('feeds_block_displayfeed_modify.htm');
  132. }
  133.  
  134. /**
  135.  * update block settings
  136.  */
  137. function feeds_displayfeedblock_update($blockinfo)
  138. {
  139.     $vars['feedid'FormUtil::getPassedValue('feedid'1'POST');
  140.     $vars['numitems'FormUtil::getPassedValue('numitems'0'POST');
  141.     $vars['displayimage'FormUtil::getPassedValue('displayimage'-1'POST');
  142.  
  143.     $blockinfo['content'pnBlockVarsToContent($vars);
  144.  
  145.     return $blockinfo;
  146. }

Documentation generated on Fri, 18 Jul 2008 21:44:56 +0200 by phpDocumentor 1.4.1