Note: this list is kept only as a demonstration for CVSNotice. For the latest CVS notices, see the Xaraya and Postnuke sites
View Statistics - Next Notice - Previous NoticeDirectory filter : [ all ] / postnuke_modules / articles / pnblocks [ view in CVS ]
| Date | Directory [filter] | File(s) [view] | Author [filter] |
| 05 Aug 2002 23:18:44 | postnuke_modules/articles/pnblocks | related.php,NONE,1.1 | Mike |
| related info v0.001 | |||
Update of /home/cvsroot/postnuke_modules/articles/pnblocks
In directory ns7.hostnuke.net:/tmp/cvs-serv5515
Added Files:
related.php
Log Message:
related info v0.001
--- NEW FILE: related.php ---
<?php // $Id: related.php,v 1.1 2002/08/05 23:18:42 mikespub Exp $
// ----------------------------------------------------------------------
// ----------------------------------------------------------------------
// PostNuke Content Management System
// Copyright (C) 2002 by the PostNuke Development Team.
// http://www.postnuke.com/
// ----------------------------------------------------------------------
// LICENSE
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License (GPL)
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// To read the license please visit http://www.gnu.org/copyleft/gpl.html
// ----------------------------------------------------------------------
// Original Author of file: Jim McDonald
// Purpose of file: Articles administration display functions
// ----------------------------------------------------------------------
// ----------------------------------------------------------------------
// Original Author of file: Jim McDonald
// Purpose of file: Articles Block
// ----------------------------------------------------------------------
/**
* initialise block
*/
function articles_relatedblock_init()
{
// Security
pnSecAddSchema('Articles:Relatedblock:', 'Block title::');
}
/**
* get information on block
*/
function articles_relatedblock_info()
{
// Values
return array('text_type' => 'Related',
'module' => 'articles',
'text_type_long' => 'Show related categories and author links',
'allow_multiple' => true,
'form_content' => false,
'form_refresh' => false,
'show_preview' => true);
}
/**
* display block
*/
function articles_relatedblock_display($blockinfo)
{
// Security check
if (!pnSecAuthAction(0,
'Articles:Relatedblock:',
"$blockinfo[title]::",
ACCESS_READ)) {
return;
}
// Get variables from content block
$vars = unserialize($blockinfo['content']);
// Defaults
if (empty($vars['numitems'])) {
$vars['numitems'] = 5;
}
/*
// Database information
pnModDBInfoLoad('articles');
list($dbconn) = pnDBGetConn();
$pntable =pnDBGetTables();
$articlestable = $pntable['articles'];
// Query
$sql = "SELECT pn_tid,
pn_name
FROM $articlestable
ORDER by pn_name";
$result = $dbconn->SelectLimit($sql, $vars['numitems']);
if ($dbconn->ErrorNo() != 0) {
return;
}
if ($result->EOF) {
return;
}
// Create output object
$output = new pnHTML();
// Display each item, permissions permitting
for (; !$result->EOF; $result->MoveNext()) {
list($tid, $name) = $result->fields;
if (pnSecAuthAction(0,
'Articles::',
"$name::$tid",
ACCESS_OVERVIEW)) {
if (pnSecAuthAction(0,
'Articles::',
"$name::$tid",
ACCESS_READ)) {
$output->URL(pnModURL('articles',
'user',
'display',
array('tid' => $tid)),
$name);
} else {
$output->Text($name);
}
$output->Linebreak();
}
}
*/
// TODO: shouldn't this stuff be BL-able too ??
// Besides the fact that title & content are placed according to some
// master block articles, why can't we create content via BL ?
// Trick : work with cached variables here (set by the module function)
// Check if we've been through articles display
if (!pnVarIsCached('Blocks.articles','aid')) {
return;
}
// Load articles user API
if (!pnModAPILoad('articles','user')) {
return;
}
$pubtypes = pnModAPIFunc('articles','user','getpubtypes');
// Create output object
$output = new pnHTML();
$links = 0;
// Show publication type (for now)
if (pnVarIsCached('Blocks.articles','ptid')) {
$ptid = pnVarGetCached('Blocks.articles','ptid');
if (!empty($ptid) && isset($pubtypes[$ptid]['descr'])) {
$output->URL(pnModURL('articles',
'user',
'view',
array('ptid' => $ptid)),
pnML('More about ') .
pnVarPrepForDisplay($pubtypes[$ptid]['descr']));
$output->Linebreak();
$links++;
}
}
// Show categories (for now)
if (pnVarIsCached('Blocks.articles','cids')) {
$cids = pnVarGetCached('Blocks.articles','cids');
// TODO: add related links
}
// Show author (for now)
if (pnVarIsCached('Blocks.articles','authorid') &&
pnVarIsCached('Blocks.articles','author')) {
$authorid = pnVarGetCached('Blocks.articles','authorid');
$author = pnVarGetCached('Blocks.articles','author');
if (!empty($authorid) && !empty($author)) {
$output->URL(pnModURL('articles',
'user',
'view',
array('authorid' => $authorid)),
pnML('Articles by ') .
pnVarPrepForDisplay($author));
$output->Linebreak();
$links++;
}
}
// Populate block info and pass to theme
if ($links > 0) {
$blockinfo['content'] = $output->GetOutput();
return $blockinfo;
}
}
/**
* modify block settings
*/
function articles_relatedblock_modify($blockinfo)
{
// Create output object
$output = new pnHTML();
// Get current content
$vars = unserialize($blockinfo['content']);
// Defaults
if (empty($vars['numitems'])) {
$vars['numitems'] = 5;
}
// Create row
$row = array();
$output->SetOutputMode(_PNH_RETURNOUTPUT);
$row[] = $output->Text(_NUMITEMS);
$row[] = $output->FormText('numitems',
pnVarPrepForDisplay($vars['numitems']),
5,
5);
$output->SetOutputMode(_PNH_KEEPOUTPUT);
// Add row
$output->SetInputMode(_PNH_VERBATIMINPUT);
$output->TableAddRow($row, 'left');
$output->SetInputMode(_PNH_PARSEINPUT);
// Return output
return $output->GetOutput();
}
/**
* update block settings
*/
function articles_relatedblock_update($blockinfo)
{
$vars['numitems'] = pnVarCleanFromInput('numitems');
$blockinfo['content'] = serialize($vars);
return $blockinfo;
}
/**
* built-in block help/information system.
*/
function articles_relatedblock_help()
{
$output = new pnHTML();
$output->SetInputMode(_PNH_VERBATIMINPUT);
$output->Text('Any related block info should be placed in your modname_blocknameblock_help() function.');
$output->LineBreak(2);
$output->Text('More information.');
$output->SetInputMode(_PNH_PARSEINPUT);
return $output->GetOutput();
}
/*
Reminder of what this block used to do :-)
// ----------------------------------------------------------------------
// Original Author of file: Patrick Kellum
// Purpose of file: Display releated stories. Only displayed when reading articles.
// ----------------------------------------------------------------------
$blocks_modules['related'] = array(
'func_display' => 'blocks_related_block',
'text_type' => 'Related',
'text_type_long' => 'Story Related Links',
'allow_multiple' => false,
'form_content' => false,
'form_refresh' => false,
'show_preview' => false
);
// Security
pnSecAddSchema('Relatedblock::', 'Block title::');
function blocks_related_block($row)
{
global $sid,
$story // set by advarticle.php
;
list($dbconn) = pnDBGetConn();
$pntable = pnDBGetTables();
if (!pnSecAuthAction(0, 'Relatedblock::', "$row[title]::", ACCESS_READ)) {
return;
}
if($story['topic']) {
$row['content'] = '<font class="pn-normal">';
$column = &$pntable['stories_column'];
$sql = "SELECT $column[sid] as sid, $column[title] as title FROM $pntable[stories] WHERE $column[topic]=".pnVarPrepForStore($story['topic'])." ORDER BY $column[counter] DESC";
$result = $dbconn->SelectLimit($sql,1);
$mrow = $result->GetRowAssoc(false);
$result->MoveNext();
$column = &$pntable['related_column'];
$result = $dbconn->Execute("SELECT $column[name] as name, $column[url] as url FROM $pntable[related] WHERE $column[tid]=".pnVarPrepForStore($story['topic'])."");
while(!$result->EOF) {
$lrow = $result->GetRowAssoc(false);
$result->MoveNext();
$row['content'] .= "<strong><big>·</big></strong> <a href=\"$lrow[url]\" target=\"_blank\">".pnVarPrepForDisplay($lrow['name'])."</a><br>\n";
}
$row['content'] .= "<strong><big>·</big></strong> <a href=\"advtopics.php?topic=$story[topic]\">"._MOREABOUT." ".pnVarPrepForDisplay($story['topicname'])."</a><br>\n"
."<strong><big>·</big></strong> <a class=\"pn-normal\" href=\"modules.php?op=modload&name=Search&file=index&action=search&overview=1&active_stories=1&stories_author=$story[aid]\">"._NEWSBY." ".pnVarPrepForDisplay($story['aid'])."</a><br>\n"
.'</font><br><hr noshade width="95%" size="1"><b>'._MOSTREAD." ".pnVarPrepForDisplay($story['topicname']).":</b><br>\n"
."<center><a href=\"advarticle.php?sid=$mrow[sid]\">".pnVarPrepForDisplay($mrow['title'])."</a></center><br><br>\n"
.'<div align="right">'
."<a href=\"print.php?sid=$mrow[sid]\"><img src=\"images/global/print.gif\" border=\"0\" alt=\""._PRINTER."\"></a> "
."<a class=\"pn-normal\" href=\"modules.php?op=modload&name=Recommend_Us&file=index&req=FriendSend&sid=$sid\"><img src=\"images/global/friend.gif\" border=\"0\" Alt=\""._FRIEND."\"></a>\n"
.'</div>'
;
return themesideblock($row);
}
}
*/
?>
View Statistics - Next Notice - Previous Notice
| Visit Developer Site - Browse CVS Repository |
Syndicate via backend.rss (max. once per hour please) | Powered by CVSNotice 0.1.3 |