File: 1.13.1a/server/web/admin.rss.php (View as HTML)

  1: <?php
  2: /* -------------------------------------------------------------
  3: This file is part of FreeNATS
  4: 
  5: FreeNATS is (C) Copyright 2008-2011 PurplePixie Systems
  6: 
  7: FreeNATS is free software: you can redistribute it and/or modify
  8: it under the terms of the GNU General Public License as published by
  9: the Free Software Foundation, either version 3 of the License, or
 10: (at your option) any later version.
 11: 
 12: FreeNATS is distributed in the hope that it will be useful,
 13: but WITHOUT ANY WARRANTY; without even the implied warranty of
 14: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 15: GNU General Public License for more details.
 16: 
 17: You should have received a copy of the GNU General Public License
 18: along with FreeNATS.  If not, see www.gnu.org/licenses
 19: 
 20: For more information see www.purplepixie.org/freenats
 21: -------------------------------------------------------------- */
 22: 
 23: ob_start();
 24: require("include.php");
 25: $NATS->Start();
 26: if (!$NATS_Session->Check($NATS->DB))
 27: 	{
 28: 	header("Location: ./?login_msg=Invalid+Or+Expired+Session");
 29: 	exit();
 30: 	}
 31: if ($NATS_Session->userlevel<9) UL_Error($NATS->Lang->Item("admin.interface"));
 32: 
 33: if (isset($_REQUEST['action']))
 34: {
 35: 	switch ($_REQUEST['action'])
 36: 	{
 37: 		case "create":
 38: 		$id=$NATS->RSS->Create($_REQUEST['feedname']);
 39: 		$_REQUEST['edit']=1;
 40: 		$_REQUEST['id']=$id;
 41: 		break;
 42: 		
 43: 		case "update":
 44: 		$id=$_REQUEST['feedid'];
 45: 		$opts=array();
 46: 		$opts['feedname']=$_REQUEST['feedname'];
 47: 		$opts['feedkey']=$_REQUEST['feedkey'];
 48: 		$opts['feedtype']=$_REQUEST['feedtype'];
 49: 		if ($_REQUEST['feedtype']=="node") $opts['typeopt']=$_REQUEST['nodeid'];
 50: 		else if ($_REQUEST['feedtype']=="group") $opts['typeopt']=$_REQUEST['groupid'];
 51: 		$opts['feedrange']=$_REQUEST['feedrange'];
 52: 		if (isset($_REQUEST[$_REQUEST['feedrange']])) $opts['rangeopt']=$_REQUEST[$_REQUEST['feedrange']];
 53: 		
 54: 		$NATS->RSS->SaveFeed($id,$opts);
 55: 		break;
 56: 		
 57: 		case "delete":
 58: 		$NATS->RSS->Delete($_REQUEST['id']);
 59: 		break;
 60: 	}
 61: }
 62: 
 63: Screen_Header($NATS->Lang->Item("rss.feed"),1,1,"","main","admin");
 64: 
 65: echo "<br><b class=\"subtitle\"><a href=admin.php>".$NATS->Lang->Item("system.settings")."</a> &gt; ".$NATS->Lang->Item("rss.feed")."</b><br><br>";
 66: 
 67: $types = $NATS->RSS->GetTypes();
 68: $ranges = $NATS->RSS->GetRanges();
 69: 
 70: if (isset($_REQUEST['edit']))
 71: {
 72: 	$nodes=$NATS->GetNodes();
 73: 	$groups=$NATS->GetGroups();
 74: 	
 75: 	$feed = $NATS->RSS->GetFeed($_REQUEST['id']);
 76: 	if (count($feed)>0)
 77: 	{
 78: 		echo "<FORM ACTION=\"admin.rss.php\">\n";
 79: 		echo "<INPUT TYPE=\"hidden\" NAME=\"action\" VALUE=\"update\">\n";
 80: 		echo "<INPUT TYPE=\"hidden\" NAME=\"feedid\" VALUE=\"".$feed['feedid']."\">\n";
 81: 		echo "<H2>".$NATS->Lang->Item("edit").": ".$feed['feedname']."</H2>\n";
 82: 		echo "<TABLE BORDER=\"0\">\n";
 83: 		
 84: 		echo "<TR><TD ALIGN=\"left\" VALIGN=\"top\">";
 85: 		echo $NATS->Lang->Item("rss.feed.name");
 86: 		echo "</TD><TD ALIGN=\"left\" VALIGN=\"top\">";
 87: 		echo "<INPUT TYPE=\"TEXT\" SIZE=\"30\" NAME=\"feedname\" VALUE=\"".$feed['feedname']."\">";
 88: 		echo "</TD></TR>\n";
 89: 		
 90: 		echo "<TR><TD ALIGN=\"left\" VALIGN=\"top\">";
 91: 		echo $NATS->Lang->Item("rss.feed.key");
 92: 		echo "</TD><TD ALIGN=\"left\" VALIGN=\"top\">";
 93: 		echo "<INPUT TYPE=\"TEXT\" SIZE=\"45\" NAME=\"feedkey\" VALUE=\"".$feed['feedkey']."\">";
 94: 		echo "</TD></TR>\n";
 95: 		
 96: 		echo "<TR><TD ALIGN=\"left\" VALIGN=\"top\">";
 97: 		echo $NATS->Lang->Item("rss.type");
 98: 		echo "</TD>\n";
 99: 		echo "<TD ALIGN=\"left\" VALIGN=\"top\">";
100: 		foreach($types as $type => $desc)
101: 		{
102: 			if ($type==$feed['feedtype']) $s=" CHECKED";
103: 			else $s="";
104: 			echo "<INPUT TYPE=\"RADIO\" NAME=\"feedtype\" VALUE=\"".$type."\"".$s."> ".$desc." ";
105: 			
106: 			if ($type=="node")
107: 			{
108: 				echo "<SELECT NAME=\"nodeid\">\n";
109: 				foreach($nodes as $node)
110: 				{
111: 					if ($node['nodeid']==$feed['typeopt']) $s=" SELECTED";
112: 					else $s="";
113: 					echo "<OPTION VALUE=\"".$node['nodeid']."\"".$s.">".$node['name']."</OPTION>\n";
114: 				}
115: 				echo "</SELECT>\n";
116: 			}
117: 			else if ($type=="group")
118: 			{
119: 				echo "<SELECT NAME=\"groupid\">\n";
120: 				foreach($groups as $group)
121: 				{
122: 					if ($group['groupid']==$feed['typeopt']) $s=" SELECTED";
123: 					else $s="";
124: 					echo "<OPTION VALUE=\"".$group['groupid']."\"".$s.">".$group['groupname']."</OPTION>\n";
125: 				}
126: 				echo "</SELECT>\n";
127: 			}
128: 			
129: 			echo "<BR />\n";
130: 		}
131: 		echo "</TD></TR>\n";
132: 		
133: 		echo "<TR><TD ALIGN=\"left\" VALIGN=\"top\">";
134: 		echo $NATS->Lang->Item("rss.range");
135: 		echo "</TD>\n";
136: 		echo "<TD ALIGN=\"left\" VALIGN=\"top\">";
137: 		foreach($ranges as $range => $desc)
138: 		{
139: 			if ($range==$feed['feedrange']) $s=" CHECKED";
140: 			else $s="";
141: 			echo "<INPUT TYPE=\"RADIO\" NAME=\"feedrange\" VALUE=\"".$range."\"".$s."> ".$desc." ";
142: 			
143: 			if ($range[0]=="x")
144: 			{
145: 			$var=$range;
146: 			if ($range==$feed['feedrange']) $val=$feed['rangeopt'];
147: 			else $val="";
148: 			echo "<INPUT TYPE=\"TEXT\" SIZE=\"4\" NAME=\"".$var."\" VALUE=\"".$val."\">";
149: 			}
150: 			
151: 			echo "<BR />\n";
152: 		}
153: 		echo "</TD></TR>\n";
154: 		
155: 		echo "<TR><TD>&nbsp;</TD><TD ALIGN=\"LEFT\">";
156: 		echo "<INPUT TYPE=\"SUBMIT\" VALUE=\"".$NATS->Lang->Item("save.changes")."\">";
157: 		echo "</TD></TR>\n";
158: 		
159: 		echo "</TABLE>\n";
160: 		echo "</FORM>\n";
161: 	}
162: 	else
163: 	{
164: 		echo "<B>".$NATS->Lang->Item("rss.error")."</B>";
165: 	}
166: 	echo "<BR /><BR />";
167: }
168: 
169: echo "<H2>".$NATS->Lang->Item("rss.feeds")."</H2>\n";
170: 
171: $feeds = $NATS->RSS->GetFeeds();
172: if (count($feeds)<=0) echo "<B>".$NATS->Lang->Item("no.feeds")."</B><BR /><BR />\n";
173: else
174: {
175: 	echo "<TABLE CLASS=\"nicetablehov\">\n";
176: 	echo "<TR><TD><B>".$NATS->Lang->Item("rss.feed.name")."</B></TD>\n";
177: 	echo "<TD><B>".$NATS->Lang->Item("options")."</B></TD>\n";
178: 	echo "<TD><B>".$NATS->Lang->Item("feed.url")."</B></TD></TD>\n";
179: 	foreach($feeds as $feed)
180: 	{
181: 		echo "<TR CLASS=\"nicetablehov\">\n";
182: 		echo "<TD>".$feed['feedname']."</TD>\n";
183: 		echo "<TD>";
184: 		echo "<A HREF=\"admin.rss.php?edit=1&id=".$feed['feedid']."\">";
185: 		echo "<IMG SRC=\"images/options/file.png\" BORDER=\"0\">";
186: 		echo "</A>";
187: 		echo "&nbsp;&nbsp;<A HREF=\"javascript:confirmGo('".$NATS->Lang->Item("delete")."?','admin.rss.php?action=delete&id=".$feed['feedid']."');\">";
188: 		echo "<IMG SRC=\"images/options/action_delete.png\" BORDER=\"0\">";
189: 		echo "</A>";
190: 		echo "</TD>\n";
191: 		$url=$NATS->RSS->GetURL($feed['feedid'],$feed['feedkey']);
192: 		echo "<TD>";
193: 		echo "<A HREF=\"".$url."\">".$url."</A>";
194: 		echo "</TD></TR>\n";
195: 	}
196: 	echo "</TABLE>\n";
197: 	echo "<BR /><BR />";
198: }
199: echo "<FORM ACTION=\"admin.rss.php\" METHOD=\"POST\">\n";
200: echo "<INPUT TYPE=\"hidden\" NAME=\"action\" VALUE=\"create\">\n";
201: echo "<INPUT TYPE=\"TEXT\" NAME=\"feedname\" SIZE=\"20\"> ";
202: echo "<INPUT TYPE=\"SUBMIT\" VALUE=\"".$NATS->Lang->Item("feed.create")."\">\n";
203: echo "</FORM>";
204: 
205: 	
206: 
207: Screen_Footer();
208: ?>
209: