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; }
function execute($html_source, $max_entries = '') { $items = array(); $pipe4assign = d3pipes_common_get_pipe4assign($this->mydirname, $this->pipe_id); $base_url = substr($pipe4assign['url'], 0, strrpos($pipe4assign['url'], '/')); $result = preg_match_all('#class\\=\\"topictitle\\"\\>([^<]+)\\<\\/a\\>.*viewtopic.php\\?f\\=(\\d+)\\&\\;t\\=(\\d+)\\&[^"]+p=(\\d+)\\D+.*\\<br \\/\\>([^<]+)\\<br \\/\\>#sU', $html_source, $matches, PREG_SET_ORDER); if ($result === false) { $this->errors[] = _MD_D3PIPES_ERR_PARSETYPEMISMATCH . "\n({$this->pipe_id})"; } foreach ($matches as $match) { $pubtime = strtotime($match[5] . ' (UTC)'); // phpbb uses UTC $link = $base_url . '/viewtopic.php?f=' . $match[2] . '&t=' . $match[3] . '&p=' . $match[4] . '#p' . $match[4]; $headline = $match[1]; $items[] = array('headline' => $headline, 'pubtime' => $pubtime, 'link' => $link, 'fingerprint' => $link); } return $items; }
// fetch max_entries $max_entries = intval(@$_GET['max_entries']); if ($max_entries > 50) { $max_entries = 50; } // 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(); }
<?php require dirname(dirname(__FILE__)) . '/include/common_prepend.inc.php'; $xoopsOption['template_main'] = $mydirname . '_main_index.html'; // xoops header include XOOPS_ROOT_PATH . '/header.php'; // fetch pipes as heading $result = $db->query("SELECT pipe_id FROM " . $db->prefix($mydirname . "_pipes") . " WHERE main_list ORDER BY weight"); $headpipes4assign = array(); while (list($pipe_id) = $db->fetchRow($result)) { $headpipes4assign[] = d3pipes_common_get_pipe4assign($mydirname, intval($pipe_id)); } $entries = d3pipes_main_fetch_entries_main_aggr($mydirname, $errors, $xoopsModuleConfig['index_total']); // pagetitle & xoops_breadcrumbs $pagetitle4assign = $xoopsModule->getVar('name'); // 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, 'headpipes' => $headpipes4assign, 'entries' => $entries, 'timezone_offset' => xoops_getUserTimestamp(0), 'xoops_module_header' => d3pipes_main_get_link2rss($mydirname, 0) . d3pipes_main_get_link2maincss($mydirname) . $xoopsTpl->get_template_vars("xoops_module_header"))); include XOOPS_ROOT_PATH . '/footer.php';
<?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 require dirname(dirname(__FILE__)) . '/include/common_prepend.inc.php'; $xoopsOption['template_main'] = $mydirname . '_main_clipping.html'; // xoops header include XOOPS_ROOT_PATH . '/header.php'; // get clipping (raw data) $clipping_id = intval(@$_GET['clipping_id']); $clipping = d3pipes_common_get_clipping($mydirname, $clipping_id); if ($clipping === false) { redirect_header(XOOPS_URL . '/modules/' . $mydirname . '/', 3, _MD_D3PIPES_ERR_INVALIDCLIPPINGID); exit; } // get pipe4assign $pipe_id = intval($clipping['pipe_id']); $pipe4assign = d3pipes_common_get_pipe4assign($mydirname, $clipping['pipe_id']); // pagetitle & xoops_breadcrumbs $pagetitle4assign = empty($clipping['headline']) ? _MD_D3PIPES_H2_CLIPPING : htmlspecialchars($clipping['headline'], ENT_QUOTES); $xoops_breadcrumbs[] = array('name' => @$pipe4assign['name'], 'url' => XOOPS_URL . '/modules/' . $mydirname . '/index.php?page=eachpipe&pipe_id=' . $clipping['pipe_id']); $xoops_breadcrumbs[] = array('name' => _MD_D3PIPES_H2_CLIPLIST, 'url' => XOOPS_URL . '/modules/' . $mydirname . '/index.php?page=cliplist&pipe_id=' . $clipping['pipe_id']); $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, 'clipping_id' => $clipping_id, 'pipe' => $pipe4assign, 'entry' => $clipping, 'timezone_offset' => xoops_getUserTimestamp(0), 'xoops_module_header' => d3pipes_main_get_link2rss($mydirname, $pipe_id, $pipe4assign) . d3pipes_main_get_link2maincss($mydirname) . d3pipes_main_get_script2commonlib($mydirname) . "\n" . $xoopsTpl->get_template_vars("xoops_module_header"))); include XOOPS_ROOT_PATH . '/footer.php';
$flags4sql = ''; foreach (array('main_disp', 'main_list', 'main_aggr', 'main_rss', 'block_disp', 'in_submenu') as $key) { $flags4sql .= ",`{$key}`=" . (empty($_POST[$key][$pipe_id]) ? '0' : '1'); } $db->queryF("UPDATE " . $db->prefix($mydirname . "_pipes") . " SET name='{$name4sql}',weight='{$weight4sql}' {$flags4sql} WHERE pipe_id={$pipe_id}"); } redirect_header(XOOPS_URL . "/modules/{$mydirname}/admin/index.php?page=pipe", 3, _MD_A_D3PIPES_MSG_PIPEUPDATED); exit; } // // form stage // $result = $db->query("SELECT pipe_id FROM " . $db->prefix($mydirname . "_pipes") . " ORDER BY weight"); $pipes4assign = array(); while (list($pipe_id_tmp) = $db->fetchRow($result)) { $pipes4assign[$pipe_id_tmp] = d3pipes_common_get_pipe4assign($mydirname, $pipe_id_tmp); $pipes4assign[$pipe_id_tmp]['type'] = d3pipes_admin_judge_type_of_pipe($pipes4assign[$pipe_id_tmp]['joints']); } $pipe_id = intval(@$_GET['pipe_id']); $blank_joint = array('joint' => '', 'joint_class' => '', 'option' => ''); if ($pipe_id == 0) { // LIST $template = 'admin_pipe_list.html'; $pipe4edit = array(); } else { if (isset($pipes4assign[$pipe_id])) { // EDIT (DETAIL) $template = 'admin_pipe_edit.html'; $pipe4edit = $pipes4assign[$pipe_id]; $pipe4edit['joints'] = array_merge($pipe4edit['joints'], array_fill(0, 3, $blank_joint)); } else {