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; }
// 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';