2009-08-03 16:42:04 +04:00
< ? php
/*
* This file is part of FEED ON FEEDS - http :// feedonfeeds . com /
*
* add . php - displays form to add a feed
*
*
* Copyright ( C ) 2004 - 2007 Stephen Minutillo
* steve @ minutillo . com - http :// minutillo . com / steve /
2009-10-26 16:16:15 +03:00
* Modified by Vitaliy Filippov ( c ) 2009
* vitalif @ mail . ru - http :// lib . custis . ru /
2009-08-03 16:42:04 +04:00
*
* Distributed under the GPL - see LICENSE
*
*/
include ( " header.php " );
2009-10-26 16:16:15 +03:00
$url = $_REQUEST [ 'rss_url' ];
$login = $_REQUEST [ 'basic_login' ];
$password = $_REQUEST [ 'basic_password' ];
$opml = $_REQUEST [ 'opml_url' ];
2009-08-03 16:42:04 +04:00
$file = $_POST [ 'opml_file' ];
2009-10-26 16:16:15 +03:00
$unread = $_REQUEST [ 'unread' ];
2009-08-03 16:42:04 +04:00
2009-10-26 16:16:15 +03:00
if ( $url && ! preg_match ( '!^[a-z0-9_]+://!is' , $url ))
$url = " http:// $url " ;
2009-08-03 16:42:04 +04:00
2009-10-26 16:16:15 +03:00
if ( $login == '%user%' )
$login = fof_username ();
2009-08-03 16:42:04 +04:00
2009-10-26 16:16:15 +03:00
$feeds = array ();
2009-08-03 16:42:04 +04:00
2009-10-26 16:16:15 +03:00
if ( $_REQUEST [ 'do' ])
{
if ( $opml )
{
$sfile = new SimplePie_File ( $opml );
if ( ! $sfile -> success )
{
echo " Cannot open $opml <br> " ;
return false ;
}
$content = $sfile -> body ;
$feeds = fof_opml_to_array ( $content );
}
if ( $url )
{
if ( $login && strlen ( $password ))
$url = preg_replace ( '!^([a-z0-9_]+)://([^/]*:[^/]*@)?!is' , '\1://' . str_replace ( " \\ " , " \\ \\ " , urlencode ( $login ) . ':' . urlencode ( $password )) . '@' , $url );
$feeds [] = $url ;
}
2009-08-03 16:42:04 +04:00
}
2009-10-26 16:16:15 +03:00
$url = preg_replace ( '!^([a-z0-9_]+)://([^/]*:[^/]*@)?!is' , '\1://' , $url );
if ( $_FILES [ 'opml_file' ][ 'tmp_name' ])
2009-08-03 16:42:04 +04:00
{
2009-10-26 16:16:15 +03:00
if ( ! $content_array = file ( $_FILES [ 'opml_file' ][ 'tmp_name' ]))
{
echo " Cannot open uploaded file<br> " ;
}
2009-08-03 16:42:04 +04:00
else
{
$content = implode ( " " , $content_array );
$feeds = fof_opml_to_array ( $content );
}
}
$add_feed_url = " http " ;
if ( $_SERVER [ " HTTPS " ] == " on " )
2009-10-26 16:16:15 +03:00
$add_feed_url = " https " ;
2009-08-03 16:42:04 +04:00
$add_feed_url .= " :// " . $_SERVER [ " HTTP_HOST " ] . $_SERVER [ " SCRIPT_NAME " ];
?>
2009-10-26 16:16:15 +03:00
< div style = " background: #eee; border: 1px solid black; padding: 1.5em; margin: 1.5em; " > If your browser is cool , you can < a href = 'javascript:window.navigator.registerContentHandler("application/vnd.mozilla.maybe.feed", "<?php echo $add_feed_url ?>?basic_login=%25user%25&do=1&rss_url=%s", "Feed on Feeds")' > register Feed on Feeds as a Feed Reader </ a >. If it is not cool , you can still use the < a href = " javascript:void(location.href='<?php echo $add_feed_url ?>?basic_login=%25user%25&do=1&rss_url='+escape(location)) " > FoF subscribe </ a > bookmarklet to subscribe to any page with a feed . Just add it as a bookmark and then click on it when you are at a page you ' d like to subscribe to !</ div >
2009-08-03 16:42:04 +04:00
< form method = " post " action = " opml.php " >
< input type = " submit " value = " Export subscriptions as OPML " >
</ form >
< br >
< form method = " post " name = " addform " action = " add.php " enctype = " multipart/form-data " >
2009-10-26 16:16:15 +03:00
When adding feeds , mark < select name = " unread " >< option value = today < ? = $unread == " today " ? " selected " : " " ?> >today's</option><option value=all <?= $unread == "all" ? "selected" : "" ?> >all</option><option value=no <?= $unread == "no" ? "selected" : "" ?> >no</option></select> items as unread<br><br>
2009-08-03 16:42:04 +04:00
2009-10-26 16:16:15 +03:00
Login : < input type = " text " name = " basic_login " value = " <?= htmlspecialchars( $login ) ?> " > Password : < input type = " password " name = " basic_password " value = " <?= htmlspecialchars( $password ) ?> " > ( optional ) for password - protected feeds < br >< br >
RSS or weblog URL : < input type = " text " name = " rss_url " size = " 40 " value = " <?= htmlspecialchars( $url ) ?> " >< input name = " do " type = " Submit " value = " Add a feed " >< br >< br >
2009-08-03 16:42:04 +04:00
OPML URL : < input type = " hidden " name = " MAX_FILE_SIZE " value = " 100000 " >
2009-10-26 16:16:15 +03:00
< input type = " text " name = " opml_url " size = " 40 " value = " <?= htmlspecialchars( $opml ) ?> " >< input name = " do " type = " Submit " value = " Add feeds from OPML file on the Internet " >< br >< br >
2009-08-03 16:42:04 +04:00
< input type = " hidden " name = " MAX_FILE_SIZE " value = " 100000 " >
2009-10-26 16:16:15 +03:00
OPML filename : < input type = " file " name = " opml_file " size = " 40 " value = " <?= htmlspecialchars( $file ) ?> " >< input name = " do " type = " Submit " value = " Upload an OPML file " >
2009-08-03 16:42:04 +04:00
</ form >
< ? php
if ( count ( $feeds ))
{
print ( " <script> \n window.onload = ajaxadd; \n feedslist = [ " );
2009-10-26 16:16:15 +03:00
2009-08-03 16:42:04 +04:00
foreach ( $feeds as $feed )
{
$feedjson [] = " { 'url': ' " . addslashes ( $feed ) . " '} " ;
}
print ( join ( $feedjson , " , " ));
print ( " ]; \n </script> " );
}
print ( " <br> " );
include ( " footer.php " );
?>