PHP Classes
Icontem

File: index.php


  Search   All class groups All class groups   Latest entries Latest entries   Top 10 charts Top 10 charts   Newsletter Newsletter   Blog Blog   Forums Forums   Help FAQ Help FAQ  
  Login   Register  
Recommend this page to a friend! ReTweet ReTweet Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Anthony Rogers  >  RSS Read  >  index.php  
File: index.php
Role: Example script
Content type: text/plain
Description: Example usage of RSSread
Class: RSS Read
Parse RSS feeds and output as HTML pages
 

Contents

Class file image Download
<?php
/*--------------------------------------------------------------*\
 * Copyright (C) 2006-2007 Anthony K Rogers roganty@gmail.com    *
 *--------------------------------------------------------------*
 * This file is part of RSSread. It gives an example of        *
 * implementing RSSread using both methods            *
 *--------------------------------------------------------------*
 * version 1.2                            *
 * copyright 2006                        *
\*--------------------------------------------------------------*/

 
require_once("rss_read.class.php");
?>
<html>
<head>
<title>rssRead Test Page</title>
<style type="text/css">
<!--
 div.form{ text-align: center; }
 div.line{ padding: 2px 0px 3px 0px; }
 div.line div{ display: inline;}
 div.line div textarea{ vertical-align: text-top; }
-->
</style>
<script type="text/javascript">
<!--
<?php
 
/* Javascript for the form */
?>
var exampleConfig = new Array();
//Roganty's RSS feed - the one codded in the script
exampleConfig[0] = new Array();
exampleConfig[0][0] = "http://roganty.jubiiblog.co.uk/syndication.php?action=article"; //rssFeed
exampleConfig[0][1] = 3; //numPosts
exampleConfig[0][2] = "s"; //whichOne
exampleConfig[0][3] = 3; //num[Sentences|Words|Chars]
exampleConfig[0][4] = false; //stripLinks
exampleConfig[0][5] = "_blank"; //postLinkTarget
exampleConfig[0][6] = "<b>[title]<\/b>\r\n<p>[post]\r\n<font class=\"LinkReadMore\">[[link,target=_blank]read more[/link]]<\/font><\/p>\r\n"; //outputFormat
exampleConfig[0][7] = "<hr width=\"65%\" />"; //joinOutputBy
//BBC UK News RSS feed
exampleConfig[1] = new Array();
exampleConfig[1][0] = "http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/uk/rss.xml"; //rssFeed
exampleConfig[1][1] = 5; //numPosts
exampleConfig[1][2] = "n"; //whichOne
exampleConfig[1][3] = -1; //num[Sentences|Words|Chars]
exampleConfig[1][4] = true; //stripLinks
exampleConfig[1][5] = "_blank"; //postLinkTarget
exampleConfig[1][6] = "<div class=\"rssfeed\">[link,target=_blank][title][/link]\r\n<br />[post]<\/div>\r\n"; //outputFormat
exampleConfig[1][7] = "<hr width=\"65%\" />"; //joinOutputBy

function populateForm(whichEg){
 var egNum = ( whichEg == "roganty" ) ? 0 : 1; //roganty or bbc
 //alert(whichEg +":"+ egNum);
 for( var i = 1; i <= 7; i++ ){
  //loop through the thingy adding the data to the appropriate form element
  var elementType = document.confForm.elements[i].type;
  var elementName = document.confForm.elements[i].name;
  //alert(document.confForm.elements[i].value);
  //alert(document.confForm.elements[i].type);
  if( elementType == "select-one" ){
   if( elementName == "whichone" ){
    switch( exampleConfig[egNum][2] ){
     case "s" : document.confForm.elements[i].options[0].selected = true; break;
     case "w" : document.confForm.elements[i].options[1].selected = true; break;
     case "c" : document.confForm.elements[i].options[2].selected = true; break;
     case "n" : document.confForm.elements[i].options[3].selected = true; break;
    }
   }else
   if( elementName == "striplinks" ){
    if( exampleConfig[egNum][4] ) document.confForm.elements[i].options[0].selected = true;
    else
    if(! exampleConfig[egNum][4] ) document.confForm.elements[i].options[1].selected = true;
   }
  }else
  if( elementType == "text" || elementType == "textarea" ){
   document.confForm.elements[i].value = exampleConfig[egNum][i - 1];
  }
 }
 //now we need to submit the form
 document.confForm.submit();
}

//-->
</script>
</head>
<body>
<?php
/* This is where we configure the output
 */

//Configure? true or false
$configure = ( isset($_POST["configure"]) ) ? $_POST["configure"]: false;
$arrForm = array(); //array used for the form values

//Call the class
$RSSread = new RSSread($configure);
/* If we didn't want the script to be configured we would type:
 * $RSSread = new RSSread(); -or-
 * $RSSread = new RSSread(false);
 * But if we did want to configure the script, type:
 * $RSSread = new RSSread(true);
 */

if( $configure ){
 
/* If true get the variables from the $_POST variable
  * This will be used for both setting the values in
  * the form and for configuring the script output
  */
 
$RSSconf = array(); //The array used to configure the output
 
$arrForm[0] = $_POST["rssfeed"];
 
$arrForm[1] = $_POST["numposts"];
 
$arrForm[2] = $_POST["whichone"];
 
$arrForm[3] = $_POST["numlength"];
 
$arrForm[4] = $_POST["striplinks"];
 
$arrForm[5] = $_POST["postlinktarget"];
 
$RSSconf["outputFormat"] = $_POST["outputformat"]; //script output variable
 
$arrForm[6] = htmlspecialchars(stripslashes($_POST["outputformat"]));
 
$RSSconf["joinOutputBy"] = $_POST["joinoutputby"]; //script output variable
 
$arrForm[7] = htmlspecialchars(stripslashes($_POST["joinoutputby"]));
}else
if(! 
$configure ){
 
/* If false grab the variables from the sript
  * This is used in displaying the appropriate
  * values in the form
  */
 
$arrForm[0] = $RSSread->rssFeed;
 
$arrForm[1] = $RSSread->numPosts;
 
$arrForm[2] = $RSSread->whichOne;
 switch( 
$arrForm[2] ){
  case 
"s" $arrForm[3] = $RSSread->numSentences; break;
  case 
"w" $arrForm[3] = $RSSread->numWords; break;
  case 
"c" $arrForm[3] = $RSSread->numChars; break;
  case 
"n" $arrForm[3] = -1; break;
 }
 
$arrForm[4] = ( $RSSread->stripLinks ) ? "y" "n";
 
$arrForm[5] = $RSSread->postLinkTarget;
 
$arrForm[6] = htmlspecialchars(stripslashes($RSSread->outputFormat));
 
$arrForm[7] = htmlspecialchars(stripslashes($RSSread->joinOutputBy));
}


if( 
$configure ){
 
//This is where we configure the script output
 
 
$RSSconf["rssFeed"] = $arrForm[0];
 
$RSSconf["numPosts"] = $arrForm[1];
 
$RSSconf["whichOne"] = $arrForm[2];
 
$RSSconf["postLinkTarget"] = $arrForm[5];
 
 
//which variable to change?
 
switch( $arrForm[2] ){
  case 
"s" $RSSconf["numSentences"] = $arrForm[3]; break;
  case 
"w" $RSSconf["numWords"] = $arrForm[3]; break;
  case 
"c" $RSSconf["numChars"] = $arrForm[3]; break;
 }
 
$RSSconf["stripLinks"] = ( $arrForm[4] == "y" ) ? true false;
 
 
/* This is where we call the ScriptConfig function
  * passing it the array we have just built up
  * from the variables posted from the form
  */
 
$RSSread->ScriptConfig($RSSconf);
}

/* The rest of the page below is just HTML
 * code and PHP code setting the form values
 */

?>
<div id="main">
<div id="mainTitle" style="text-align: center"><h1>rssRead<?=" v"$RSSread->RSSreadVersion?> Test Page</h1></div>
<hr width="80%" />
<div id="configTitle" style="text-align: center"><b>rssRead Configuration</b></div>
<hr width="50%" />
<div class="form">
<form name="confForm" action="index.php" method="post">
<input type="hidden" name="configure" value="true" />
<div class="line" style="background-color: #cccccc">
<div>The RSS Feed URL:<input type="text" size="35" name="rssfeed" value="<?=$arrForm[0]; ?>" /></div>
<div>Number of posts to display:<input type="text" size="5" name="numposts" value="<?=$arrForm[1]; ?>" /></div>
</div><div class="line" style="background-color: #999999">
<div>How to shorten the posts:<select name="whichone">
<option value="s"<?=$arrForm[2] == "s" ) ? " selected=\"true\"" "";?>>By Sentences</option>
<option value="w"<?=$arrForm[2] == "w" ) ? " selected=\"true\"" "";?>>By Words</option>
<option value="c"<?=$arrForm[2] == "c" ) ? " selected=\"true\"" "";?>>By Characters</option>
<option value="n"<?=$arrForm[2] == "n" ) ? " selected=\"true\"" "";?>>No Shortening</option>
</select></div>
<div>Number of Sentences/Words/Characters to shorten to:<input type="text" size="5" name="numlength" value="<?=$arrForm[3]; ?>" /></div>
</div><div class="line" style="background-color: #cccccc">
<div>Remove links from RSS:<select name="striplinks">
<option value="y"<?=$arrForm[4] == "y" ) ? " selected=\"true\"" "";?>>Yes</option>
<option value="n"<?=$arrForm[4] == "n" ) ? " selected=\"true\"" "";?>>No</option>
</select></div>
<div>Target to open RSS post links in:<input type="text" size="25" name="postlinktarget" value="<?=$arrForm[5]; ?>" /></div>
</div><div class="line" style="background-color: #999999">
<div>The format to output the RSS posts in:<textarea cols="40" rows="3" name="outputformat"><?=$arrForm[6]; ?></textarea></div>
</div><div class="line" style="background-color: #cccccc">
<div>How to join the posts:<input type="text" size="30" name="joinoutputby" value="<?=$arrForm[7]; ?>" /></div>
</div>
<div><input type="submit" value="Submit" /><input type="reset" value="Reset" /></div>
<hr width="50%" />
<div>
<input type="button" value="Roganty's RSS Feed" onclick="populateForm('roganty')" />
<input type="button" value="BBC UK News RSS Feed" onclick="populateForm('bbc')" />
</div>
</form>
</div>
<hr width="80%" />
<div id="outputTitle" style="text-align: center"><b>rssRead Output</b></div>
<hr width="50%" />
<div id="rssFeed"><?php
/* This is where the magic happens!
 * we have now configured the output
 *
 * now we can print out the RSS feed
 */
print $RSSread->RSSoutput();

?></div>
<hr width="80%" />
</div>
</body>
</html>

 
  Advertise on this site Advertise on this site   Site map Site map   Statistics Statistics   Site tips Site tips   Privacy policy Privacy policy   Contact Contact  

For more information send a message to :
info at phpclasses dot org.
Copyright (c) Icontem 1999-2009 PHP Classes - PHP Class Scripts
  PHP Book Reviews - Reviews of books and other products