예제 #1
0
			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+)\\&amp\\;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;
 }
예제 #5
0
파일: jsbackend.php 프로젝트: nouphet/rata
// 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();
}
예제 #6
0
<?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';
예제 #7
0
<?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';
예제 #8
0
<?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&amp;pipe_id=' . $clipping['pipe_id']);
$xoops_breadcrumbs[] = array('name' => _MD_D3PIPES_H2_CLIPLIST, 'url' => XOOPS_URL . '/modules/' . $mydirname . '/index.php?page=cliplist&amp;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';
예제 #9
0
파일: pipe.php 프로젝트: nouphet/rata
        $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 {