2007-01-02 04:41:22 +03:00
< ? php
/*
* This file is part of FEED ON FEEDS - http :// feedonfeeds . com /
*
* prefs . php - display and change preferences
*
*
* Copyright ( C ) 2004 - 2007 Stephen Minutillo
* steve @ minutillo . com - http :// minutillo . com / steve /
*
* Distributed under the GPL - see LICENSE
*
*/
include_once ( " fof-main.php " );
2007-06-25 05:40:11 +04:00
$prefs =& FoF_Prefs :: instance ();
2011-05-24 05:25:42 +04:00
if ( fof_is_admin () && isset ( $_POST [ 'adminprefs' ]))
2007-06-12 06:24:39 +04:00
{
2007-06-25 05:40:11 +04:00
$prefs -> set ( 'purge' , $_POST [ 'purge' ]);
$prefs -> set ( 'manualtimeout' , $_POST [ 'manualtimeout' ]);
$prefs -> set ( 'autotimeout' , $_POST [ 'autotimeout' ]);
2007-06-30 08:16:22 +04:00
$prefs -> set ( 'logging' , $_POST [ 'logging' ]);
2007-06-12 06:24:39 +04:00
2007-06-25 05:40:11 +04:00
$prefs -> save ();
2007-06-12 06:24:39 +04:00
$message .= ' Saved admin prefs.' ;
2007-08-16 06:38:26 +04:00
if ( $prefs -> get ( 'logging' ) && !@ fopen ( " fof.log " , 'a' ))
{
$message .= ' Warning: could not write to log file!' ;
}
2007-06-12 06:24:39 +04:00
}
2007-06-13 07:51:41 +04:00
if ( isset ( $_POST [ 'tagfeed' ]))
{
$tags = $_POST [ 'tag' ];
$feed_id = $_POST [ 'feed_id' ];
$title = $_POST [ 'title' ];
foreach ( explode ( " " , $tags ) as $tag )
{
fof_tag_feed ( fof_current_user (), $feed_id , $tag );
$message .= " Tagged ' $title ' as $tag . " ;
}
}
if ( isset ( $_GET [ 'untagfeed' ]))
{
$feed_id = $_GET [ 'untagfeed' ];
$tags = $_GET [ 'tag' ];
$title = $_GET [ 'title' ];
foreach ( explode ( " " , $tags ) as $tag )
{
fof_untag_feed ( fof_current_user (), $feed_id , $tag );
$message .= " Dropped $tag from ' $title '. " ;
}
}
2007-01-02 04:41:22 +03:00
if ( isset ( $_POST [ 'prefs' ]))
{
2007-06-25 05:40:11 +04:00
$prefs -> set ( 'favicons' , isset ( $_POST [ 'favicons' ]));
$prefs -> set ( 'keyboard' , isset ( $_POST [ 'keyboard' ]));
$prefs -> set ( 'tzoffset' , intval ( $_POST [ 'tzoffset' ]));
$prefs -> set ( 'howmany' , intval ( $_POST [ 'howmany' ]));
$prefs -> set ( 'order' , $_POST [ 'order' ]);
2007-06-25 08:13:18 +04:00
$prefs -> set ( 'sharing' , $_POST [ 'sharing' ]);
$prefs -> set ( 'sharedname' , $_POST [ 'sharedname' ]);
$prefs -> set ( 'sharedurl' , $_POST [ 'sharedurl' ]);
2007-06-08 07:37:31 +04:00
2007-06-25 05:40:11 +04:00
$prefs -> save ( fof_current_user ());
2007-06-10 10:20:55 +04:00
if ( $_POST [ 'password' ] && ( $_POST [ 'password' ] == $_POST [ 'password2' ]))
{
fof_db_change_password ( $fof_user_name , $_POST [ 'password' ]);
2007-06-11 05:28:09 +04:00
setcookie ( " user_password_hash " , md5 ( $_POST [ 'password' ] . $fof_user_name ), time () + 60 * 60 * 24 * 365 * 10 );
2007-06-10 10:20:55 +04:00
$message = " Updated password. " ;
}
else if ( $_POST [ 'password' ] || $_POST [ 'password2' ])
{
$message = " Passwords do not match! " ;
}
2007-01-02 04:41:22 +03:00
2007-06-10 10:20:55 +04:00
$message .= ' Saved prefs.' ;
}
2007-08-22 08:09:06 +04:00
if ( isset ( $_POST [ 'plugins' ]))
{
foreach ( fof_get_plugin_prefs () as $plugin_pref )
{
2007-12-09 08:12:26 +03:00
$key = $plugin_pref [ 1 ];
2007-08-22 08:09:06 +04:00
$prefs -> set ( $key , $_POST [ $key ]);
}
$plugins = array ();
$dirlist = opendir ( FOF_DIR . " /plugins " );
while ( $file = readdir ( $dirlist ))
{
if ( ereg ( '\.php$' , $file ))
{
$plugins [] = substr ( $file , 0 , - 4 );
}
}
closedir ();
foreach ( $plugins as $plugin )
{
$prefs -> set ( " plugin_ " . $plugin , $_POST [ $plugin ] != " on " );
}
$prefs -> save ( fof_current_user ());
$message .= ' Saved plugin prefs.' ;
}
2007-06-10 10:20:55 +04:00
if ( isset ( $_POST [ 'changepassword' ]))
{
if ( $_POST [ 'password' ] != $_POST [ 'password2' ])
{
$message = " Passwords do not match! " ;
}
else
{
$username = $_POST [ 'username' ];
$password = $_POST [ 'password' ];
fof_db_change_password ( $username , $password );
$message = " Changed password for $username . " ;
}
2007-01-02 04:41:22 +03:00
}
2011-05-24 05:25:42 +04:00
if ( fof_is_admin () && isset ( $_POST [ 'adduser' ]) && $_POST [ 'username' ] && $_POST [ 'password' ])
2007-01-02 04:41:22 +03:00
{
2007-06-10 08:28:22 +04:00
$username = $_POST [ 'username' ];
$password = $_POST [ 'password' ];
2007-06-06 07:34:15 +04:00
2007-06-10 08:28:22 +04:00
fof_db_add_user ( $username , $password );
2007-01-02 04:41:22 +03:00
$message = " User ' $username ' added. " ;
}
2007-06-10 10:20:55 +04:00
2011-05-24 05:25:42 +04:00
if ( fof_is_admin () && isset ( $_POST [ 'deleteuser' ]) && $_POST [ 'username' ])
2007-01-02 04:41:22 +03:00
{
$username = $_POST [ 'username' ];
2007-06-10 08:28:22 +04:00
fof_db_delete_user ( $username );
2007-01-02 04:41:22 +03:00
$message = " User ' $username ' deleted. " ;
}
include ( " header.php " );
?>
< ? php if ( isset ( $message )) { ?>
< br >< font color = " red " >< ? php echo $message ?> </font><br>
< ? php } ?>
< br >< h1 > Feed on Feeds - Preferences </ h1 >
< form method = " post " action = " prefs.php " style = " border: 1px solid black; margin: 10px; padding: 10px; " >
2007-06-25 05:40:11 +04:00
Default display order : < select name = " order " >< option value = desc > new to old </ option >< option value = asc < ? php if ( $prefs -> get ( 'order' ) == " asc " ) echo " selected " ; ?> >old to new</option></select><br><br>
Number of items in paged displays : < input type = " string " name = " howmany " value = " <?php echo $prefs->get ('howmany') ?> " >< br >< br >
Display custom feed favicons ? < input type = " checkbox " name = " favicons " < ? php if ( $prefs -> get ( 'favicons' )) echo " checked=true " ; ?> ><br><br>
Use keyboard shortcuts ? < input type = " checkbox " name = " keyboard " < ? php if ( $prefs -> get ( 'keyboard' )) echo " checked=true " ; ?> ><br><br>
Time offset in hours : < input size = 3 type = string name = tzoffset value = " <?php echo $prefs->get ('tzoffset')?> " > ( UTC time : < ? php echo gmdate ( " Y-n-d g:ia " ) ?> , local time: <?php echo gmdate("Y-n-d g:ia", time() + $prefs->get("tzoffset")*60*60) ?>)<br><br>
2007-06-10 10:20:55 +04:00
< table border = 0 cellspacing = 0 cellpadding = 2 >< tr >< td > New password :</ td >< td >< input type = password name = password > ( leave blank to not change ) </ td ></ tr >
< tr >< td > Repeat new password :</ td >< td >< input type = password name = password2 ></ td ></ tr ></ table >
< br >
2007-06-14 07:15:08 +04:00
2007-06-25 08:13:18 +04:00
Share
< select name = " sharing " >
< option value = no > no </ option >
< option value = all < ? php if ( $prefs -> get ( 'sharing' ) == " all " ) echo " selected " ; ?> >all</option>
< option value = tagged < ? php if ( $prefs -> get ( 'sharing' ) == " tagged " ) echo " selected " ; ?> >tagged as "shared"</option>
</ select >
items .
< ? php if ( $prefs -> get ( 'sharing' ) != " no " ) echo " <small><i>(your shared page is <a href='./shared.php?user= $fof_user_id '>here</a>)</i></small> " ; ?> <br><br>
Name to be shown on shared page : < input type = string name = sharedname value = " <?php echo $prefs->get ('sharedname')?> " >< br >< br >
URL to be linked on shared page : < input type = string name = sharedurl value = " <?php echo $prefs->get ('sharedurl')?> " >
< br >< br >
2007-08-22 08:09:06 +04:00
< input type = submit name = prefs value = " Save Preferences " >
</ form >
< br >< h1 > Feed on Feeds - Plugin Preferences </ h1 >
< form method = " post " action = " prefs.php " style = " border: 1px solid black; margin: 10px; padding: 10px; " >
< ? php
$plugins = array ();
$dirlist = opendir ( FOF_DIR . " /plugins " );
while ( $file = readdir ( $dirlist ))
{
fof_log ( " considering " . $file );
if ( ereg ( '\.php$' , $file ))
{
$plugins [] = substr ( $file , 0 , - 4 );
}
}
2007-06-25 08:13:18 +04:00
2007-08-22 08:09:06 +04:00
closedir ();
?>
< ? php foreach ( $plugins as $plugin ) { ?>
< input type = checkbox name =< ? php echo $plugin ?> <?php if(!$prefs->get("plugin_" . $plugin)) echo "checked"; ?>> Enable plugin <tt><?php echo $plugin?></tt>?<br>
< ? php } ?>
< br >
2007-12-09 08:12:26 +03:00
< ? php foreach ( fof_get_plugin_prefs () as $plugin_pref ) { $name = $plugin_pref [ 0 ]; $key = $plugin_pref [ 1 ]; $type = $plugin_pref [ 2 ]; ?>
< ? php echo $name ?> :
< ? php if ( $type == " boolean " ) { ?>
< input name = " <?php echo $key ?> " type = " checkbox " < ? php if ( $prefs -> get ( $key )) echo " checked " ?> ><br>
< ? php } else { ?>
< input name = " <?php echo $key ?> " value = " <?php echo $prefs->get ( $key )?> " >< br >
< ? php } } ?>
2007-08-22 08:09:06 +04:00
< br >
< input type = submit name = plugins value = " Save Plugin Preferences " >
2007-01-02 04:41:22 +03:00
</ form >
2007-08-22 08:09:06 +04:00
2007-06-13 07:51:41 +04:00
< br >< h1 > Feed on Feeds - Feeds and Tags </ h1 >
< div style = " border: 1px solid black; margin: 10px; padding: 10px; font-size: 12px; font-family: verdana, arial; " >
< table cellpadding = 3 cellspacing = 0 >
< ? php
foreach ( $feeds as $row )
{
$id = $row [ 'feed_id' ];
$url = $row [ 'feed_url' ];
$title = $row [ 'feed_title' ];
$link = $row [ 'feed_link' ];
$description = $row [ 'feed_description' ];
$age = $row [ 'feed_age' ];
$unread = $row [ 'feed_unread' ];
$starred = $row [ 'feed_starred' ];
$items = $row [ 'feed_items' ];
$agestr = $row [ 'agestr' ];
$agestrabbr = $row [ 'agestrabbr' ];
$lateststr = $row [ 'lateststr' ];
$lateststrabbr = $row [ 'lateststrabbr' ];
$tags = $row [ 'tags' ];
if ( ++ $t % 2 )
{
print " <tr class= \" odd-row \" > " ;
}
else
{
print " <tr> " ;
}
2007-06-25 05:40:11 +04:00
if ( $row [ 'feed_image' ] && $prefs -> get ( 'favicons' ))
2007-06-13 07:51:41 +04:00
{
print " <td><a href= \" $url\ " title = \ " feed \" ><img src=' " . $row [ 'feed_image' ] . " ' width='16' height='16' border='0' /></a></td> " ;
}
else
{
print " <td><a href= \" $url\ " title = \ " feed \" ><img src='image/feed-icon.png' width='16' height='16' border='0' /></a></td> " ;
}
print " <td><a href= \" $link\ " title = \ " home page \" > $title </a></td> " ;
print " <td align=right> " ;
if ( $tags )
{
foreach ( $tags as $tag )
{
$utag = urlencode ( $tag );
$utitle = urlencode ( $title );
print " $tag <a href='prefs.php?untagfeed= $id &tag= $utag &title= $utitle '>[x]</a> " ;
}
}
else
{
}
print " </td> " ;
$title = htmlspecialchars ( $title );
print " <td><form method=post action=prefs.php><input type=hidden name=title value= \" $title\ " >< input type = hidden name = feed_id value = $id >< input type = string name = tag > < input type = submit name = tagfeed value = 'Tag Feed' > < small >< i > ( separate tags with spaces ) </ i ></ small ></ form ></ td ></ tr > " ;
}
?>
</ table >
</ div >
2007-01-02 04:41:22 +03:00
< ? php if ( fof_is_admin ()) { ?>
2007-06-12 06:24:39 +04:00
< br >< h1 > Feed on Feeds - Admin Options </ h1 >
< form method = " post " action = " prefs.php " style = " border: 1px solid black; margin: 10px; padding: 10px; " >
2007-06-30 08:16:22 +04:00
Enable logging ? < input type = checkbox name = logging < ? php if ( $prefs -> get ( 'logging' )) echo " checked " ?> ><br><br>
2007-06-25 05:40:11 +04:00
Purge read items after < input size = 4 type = string name = purge value = " <?php echo $prefs->get ('purge')?> " > days ( leave blank to never purge ) < br >< br >
Allow automatic feed updates every < input size = 4 type = string name = autotimeout value = " <?php echo $prefs->get ('autotimeout')?> " > minutes < br >< br >
Allow manual feed updates every < input size = 4 type = string name = manualtimeout value = " <?php echo $prefs->get ('manualtimeout')?> " > minutes < br >< br >
2007-06-12 06:24:39 +04:00
< input type = submit name = adminprefs value = " Save Options " >
</ form >
2007-01-02 04:41:22 +03:00
< br >< h1 > Add User </ h1 >
< form method = " post " action = " prefs.php " style = " border: 1px solid black; margin: 10px; padding: 10px; " >
Username : < input type = string name = username > Password : < input type = string name = password > < input type = submit name = adduser value = " Add user " >
</ form >
< ? php
$result = fof_db_query ( " select user_name from $FOF_USER_TABLE where user_id > 1 " );
while ( $row = fof_db_get_row ( $result ))
{
$username = $row [ 'user_name' ];
2007-06-10 08:28:22 +04:00
$delete_options .= " <option value= $username > $username </option> " ;
2007-01-02 04:41:22 +03:00
}
2007-06-10 08:28:22 +04:00
if ( isset ( $delete_options ))
{
2007-01-02 04:41:22 +03:00
?>
2007-06-10 10:20:55 +04:00
< br >< h1 > Delete User </ h1 >
< form method = " post " action = " prefs.php " style = " border: 1px solid black; margin: 10px; padding: 10px; " onsubmit = " return confirm('Delete User - Are you sure?') " >
< select name = username >< ? php echo $delete_options ?> </select>
< input type = submit name = deleteuser value = " Delete user " >< br >
</ form >
2007-06-10 08:28:22 +04:00
2007-06-10 10:20:55 +04:00
< br >< h1 > Change User ' s Password </ h1 >
< form method = " post " action = " prefs.php " style = " border: 1px solid black; margin: 10px; padding: 10px; " onsubmit = " return confirm('Change Password - Are you sure?') " >
< table border = 0 cellspacing = 0 cellpadding = 2 >
< tr >< td > Select user :</ td >< td >< select name = username >< ? php echo $delete_options ?> </select></td></tr>
< tr >< td > New password :</ td >< td >< input type = password name = password ></ td ></ tr >
< tr >< td > Repeat new password :</ td >< td >< input type = password name = password2 ></ td ></ tr ></ table >
< input type = submit name = changepassword value = " Change " >< br >
2007-01-02 04:41:22 +03:00
</ form >
2007-06-10 08:28:22 +04:00
< ? php } ?>
2007-06-10 10:20:55 +04:00
2007-06-08 05:44:28 +04:00
< br >
2007-06-09 04:49:56 +04:00
< form method = " get " action = " uninstall.php " onsubmit = " return confirm('Really? This will delete all the database tables!') " >
< center >< input type = submit name = uninstall value = " Uninstall Feed on Feeds " style = " background-color: #ff9999 " ></ center >
2007-06-08 05:44:28 +04:00
</ form >
2007-01-02 04:41:22 +03:00
< ? php } ?>
< ? php include ( " footer.php " ) ?>