function getRSSItems(&$items) {
				
				$mydirname = $this->mydirname;

				$module_handler =& xoops_gethandler('module');
				$xoopsModule =& $module_handler->getByDirname($mydirname);
				$mid = $xoopsModule->getVar('mid');
				$config_handler =& xoops_gethandler('config');
				$xoopsModuleConfig =& $config_handler->getConfigsByCat(0, $mid);

				$pipe_id = isset($xoopsModuleConfig['backend_pipe_id'])? (int)$xoopsModuleConfig['backend_pipe_id'] : 0;				
				if (! $pipe_id) return;
				
				require_once dirname(dirname(__FILE__)) . '/include/common_prepend.inc.php';
				// single pipe
				$pipe4assign = d3pipes_common_get_pipe4assign( $mydirname , $pipe_id ) ;
				if( empty( $pipe4assign['main_rss'] ) ) {
					redirect_header( XOOPS_URL.'/modules/'.$mydirname.'/' , 3 , _MD_D3PIPES_ERR_INVALIDPIPEID ) ;
					exit ;
				}
				// fetch entries
				$entries = d3pipes_common_fetch_entries( $mydirname , $pipe4assign , $xoopsModuleConfig['entries_per_rss'] , $errors , $xoopsModuleConfig ) ;
				
				foreach ($entries as $entry) {
					$items[] = array (
						'title'		  => $entry['headline'],
						'link'		  => $entry['link'],
						'guid'		  => $entry['fingerprint'],
						'pubdate'	  => $entry['pubtime'],
						'description' => $entry['description'],
						'category'    => $entry['pipe']['name4xml'],
					);
				}
			}
 function execute($entries, $max_entries = 10)
 {
     foreach ($this->union_ids as $union_ids) {
         $pipe4assign = d3pipes_common_get_pipe4assign($this->target_dirname, $union_ids['pipe_id']);
         $entries_tmp = d3pipes_common_fetch_entries($this->target_dirname, $pipe4assign, $union_ids['num'], $errors, $this->mod_configs);
         $this->errors = array_merge($this->errors, $errors);
         $entries_tmp = $this->appendPipeInfoIntoEntries($entries_tmp, $pipe4assign);
         $entries = is_array($entries) ? array_merge($entries, $entries_tmp) : $entries_tmp;
     }
     // not sorted
     return array_slice($entries, 0, $max_entries);
 }
 function execute($entries, $max_entries = 10)
 {
     $this->_pipes_entries = empty($entries[0]['pipe']) ? array() : array($entries[0]['pipe'] + array('entries' => $entries));
     foreach ($this->union_ids as $union_ids) {
         $pipe4assign = d3pipes_common_get_pipe4assign($this->mydirname, $union_ids['pipe_id']);
         if (empty($pipe4assign)) {
             continue;
         }
         $entries_tmp = d3pipes_common_fetch_entries($this->mydirname, $pipe4assign, min($union_ids['num'], $max_entries), $errors, $this->mod_configs);
         $this->errors = array_merge($this->errors, $errors);
         $this->_pipes_entries[] = $pipe4assign + array('entries' => $entries_tmp);
         $entries_tmp = $this->appendPipeInfoIntoEntries($entries_tmp, $pipe4assign);
         $entries = is_array($entries) ? array_merge($entries, $entries_tmp) : $entries_tmp;
     }
     // not sorted
     return $entries;
 }
Beispiel #4
0
// fetch union_class
$union_class = $_GET['union_class'] == 'separated' ? 'separated' : 'mergesort';
// fetch link2clipping
$link2clipping = empty($_GET['link2clipping']) ? false : true;
// fetch keep_pipeinfo
$keep_pipeinfo = empty($_GET['keep_pipeinfo']) ? false : true;
// fetch pipe_row
$pipe_ids = empty($_GET['pipe_ids']) ? array(0) : explode(',', preg_replace('/[^0-9,:]/', '', $_GET['pipe_ids']));
if (sizeof($pipe_ids) == 1) {
    // single pipe
    $pipe4assign = d3pipes_common_get_pipe4assign($mydirname, intval($pipe_ids[0]));
    if (empty($pipe4assign)) {
        $entries = array();
        $errors = array('Invalid pipe_id');
    } else {
        $entries = d3pipes_common_fetch_entries($mydirname, $pipe4assign, $max_entries, $errors, $xoopsModuleConfig);
    }
    $pipes_entries = array();
} else {
    // Union object
    $union_obj =& d3pipes_common_get_joint_object($mydirname, 'union', $union_class, implode(',', $pipe_ids) . '||' . ($keep_pipeinfo ? 1 : 0));
    $union_obj->setModConfigs($xoopsModuleConfig);
    $entries = $union_obj->execute(array(), $max_entries);
    $pipes_entries = method_exists($union_obj, 'getPipesEntries') ? $union_obj->getPipesEntries() : array();
    $errors = $union_obj->getErrors();
}
// assign
require_once XOOPS_TRUST_PATH . '/libs/altsys/class/D3Tpl.class.php';
$xoopsTpl = new D3Tpl();
$xoopsTpl->assign(array('mydirname' => $mydirname, 'mod_url' => XOOPS_URL . '/modules/' . $mydirname, 'mod_imageurl' => XOOPS_URL . '/modules/' . $mydirname . '/' . $xoopsModuleConfig['images_dir'], 'xoops_config' => $xoopsConfig, 'mod_config' => @$xoopsModuleConfig, 'xoops_breadcrumbs' => @$xoops_breadcrumbs, 'xoops_pagetitle' => @$pagetitle4assign, 'errors' => $errors, 'entries' => $entries, 'pipes_entries' => $pipes_entries, 'link2clipping' => $link2clipping, 'keep_pipeinfo' => $keep_pipeinfo, 'timezone_offset' => xoops_getUserTimestamp(0), 'xoops_module_header' => d3pipes_main_get_link2maincss($mydirname) . "\n" . $xoopsTpl->get_template_vars("xoops_module_header")));
$html = addslashes(strtr($xoopsTpl->fetch('db:' . $mydirname . '_main_jsbackend.html'), "\n\r", "  "));
<?php

require dirname(dirname(__FILE__)) . '/include/common_prepend.inc.php';
$xoopsOption['template_main'] = $mydirname . '_main_eachpipe.html';
// xoops header
include XOOPS_ROOT_PATH . '/header.php';
// fetch pipe_row
$pipe_id = intval(@$_GET['pipe_id']);
$pipe4assign = d3pipes_common_get_pipe4assign($mydirname, $pipe_id);
// specialcheck for eachpipe
if (empty($pipe4assign['main_disp'])) {
    redirect_header(XOOPS_URL . '/modules/' . $mydirname . '/', 3, _MD_D3PIPES_ERR_INVALIDPIPEID);
    exit;
}
// parse the pipe once
$entries = d3pipes_common_fetch_entries($mydirname, $pipe4assign, $xoopsModuleConfig['entries_per_eachpipe'], $errors, $xoopsModuleConfig);
// pagetitle & xoops_breadcrumbs
$pagetitle4assign = empty($pipe4assign['name']) ? _MD_D3PIPES_H2_EACHPIPE : $pipe4assign['name'];
$xoops_breadcrumbs[] = array('name' => $pagetitle4assign);
// assign
$xoopsTpl->assign(array('mydirname' => $mydirname, 'mod_url' => XOOPS_URL . '/modules/' . $mydirname, 'mod_imageurl' => XOOPS_URL . '/modules/' . $mydirname . '/' . $xoopsModuleConfig['images_dir'], 'xoops_config' => $xoopsConfig, 'mod_config' => $xoopsModuleConfig, 'xoops_breadcrumbs' => $xoops_breadcrumbs, 'xoops_pagetitle' => $pagetitle4assign, 'errors' => $errors, 'clipping_count' => d3pipes_main_get_clipping_count_moduledb($mydirname, $pipe_id), 'pipe' => $pipe4assign, 'entries' => $entries, 'timezone_offset' => xoops_getUserTimestamp(0), 'xoops_module_header' => d3pipes_main_get_link2rss($mydirname, $pipe_id, $pipe4assign) . d3pipes_main_get_link2maincss($mydirname) . $xoopsTpl->get_template_vars("xoops_module_header")));
include XOOPS_ROOT_PATH . '/footer.php';
<?php

$mytrustdirname = basename(dirname(dirname(__FILE__)));
$mytrustdirpath = dirname(dirname(__FILE__));
// check permission of 'module_read' of this module
// (already checked by common.php)
$langmanpath = XOOPS_TRUST_PATH . '/libs/altsys/class/D3LanguageManager.class.php';
if (!file_exists($langmanpath)) {
    die('install the latest altsys');
}
require_once $langmanpath;
$langman =& D3LanguageManager::getInstance();
$langman->read('main.php', $mydirname, $mytrustdirname);
require_once XOOPS_TRUST_PATH . '/modules/d3pipes/include/common_functions.php';
// mod_config
$module_handler =& xoops_gethandler('module');
$module =& $module_handler->getByDirname($mydirname);
$config_handler =& xoops_gethandler('config');
$configs = $config_handler->getConfigList($module->mid());
// force to remove all cache of all pipes
d3pipes_common_delete_all_cache($mydirname, 0, true, false);
// pipes loop
$db =& Database::getInstance();
$result = $db->query("SELECT pipe_id FROM " . $db->prefix($mydirname . "_pipes"));
while (list($pipe_id) = $db->fetchRow($result)) {
    $pipe4assign = d3pipes_common_get_pipe4assign($mydirname, intval($pipe_id));
    d3pipes_common_fetch_entries($mydirname, $pipe4assign, $configs['entries_per_eachpipe'], $errors, $configs);
}
$lacked_requests = array();
$error_messages = array();
foreach ($allowed_requests as $allowed_request) {
    if (!isset($_POST[$allowed_request]) || $_POST[$allowed_request] === '') {
        $lacked_requests[$allowed_request] = true;
    } else {
        $requests[$allowed_request] = $myts->stripSlashesGPC($_POST[$allowed_request]);
    }
}
//
// form stage
//
// fetch the RSS/Atom
if (!empty($requests['rssurl'])) {
    $pipe_row_tmp = array('pipe_id' => 0, 'joints' => array(array('joint' => 'fetch', 'joint_class' => 'snoopy', 'option' => $requests['rssurl'])));
    $xml_source = d3pipes_common_fetch_entries($mydirname, $pipe_row_tmp, 1, $errors, $xoopsModuleConfig);
    if (preg_match('/\\<\\?xml[^>]+\\?\\>/isU', $xml_source, $regs)) {
        $xml_declaration = $regs[0];
    } else {
        $xml_declaration = '';
        $error_messages[] = _MD_A_D3PIPES_TH_WIZ_WARN_RSSURL;
    }
}
// determine the encoding
if (empty($requests['rssencoding'])) {
    unset($lacked_requests['rssencoding']);
    if (!empty($xml_declaration)) {
        if (preg_match('/encoding\\=([\'\\"])?([^\'\\"]+)\\1/', $xml_declaration, $regs)) {
            $requests['rssencoding'] = $regs[2];
        } else {
            $requests['rssencoding'] = 'UTF-8';