This is the README file for the MythWeb package.
February 16, 2008

Version: .25
(c) 2002-2010  Chris Petersen   <cpetersen(a)mythtv.org>
               Rob Smith        <rsmith(a)mythtv.org>
               Isaac Richards   <isaacr(a)mythtv.org>
               and others... (see mythtv.org commit logs for details)

MythWeb is distributed under the GNU GENERAL PUBLIC LICENSE version 2, and where
noted with the @license tag, the LESSER GENERAL PUBLIC LICENSE version 2.
Please see http://www.gnu.org for details and the specific text of the license.


========
Contents
========

1.0    About
2.0    Installation
3.0    FAQs
4.0    Submitting Patches

=========
1.0 About
=========

    MythWeb is a set of php files intended (note the use future tense)
to let you access your listings, flag shows for recording, delete
recordings, etc., from a web browser. At some point in the future, it may
allow you to play your recorded content (music and/or(?) video) across a
network. Then again, it may not.

    Note that MythWeb is totally insecure and makes no pretense of
including any security mechanisms of any sort. You should really only run it
on an isolated network or (at the very least) behind a well secured firewall.

================
2.0 Installation
================

See INSTALL document.

========
3.0 FAQs
========

Q: Why do a bunch of the images have little X's over them when using IE?
A: The hack used to make IE display transparent PNG's relies on a hard-coded
    image address in js/pngbehavior.htc.  If your MythWeb installation is
    anywhere other than the root directory, the default won't work and you will
    have to hand-edit the file with the correct path.  Look for the line that
    contains "/skins/default/img/spacer.gif" -- usually adding a /mythweb at the
    start of the string will solve your problem.  You will also need to edit
    the alpha_png class in each of the style.css files in the skin directories.

Q: Why don't my sessions stick?  (often manifests as sorting issues or settings
    not storing properly)
A: Make sure that apache's AllowOverride setting is correct, as detailed in
    INSTRUCTIONS above.  You could also try enabling authentication.  MythWeb
    now stores special session information for authenticated users so that you
    always get your own settings when logging in, no matter where you connect
    from.

Q: Why is my browser trying to display the PHP code instead of the server
    executing it for me?
A: First, make sure that you have PHP enabled in your webserver settings.  Once
    you have made sure that this is the case, verify that you have disabled
    both zlib.output_handler and ob_gzhandler in /etc/php.ini.

Q: I want to access mythweb from the rest of the internet. How do I make it
    more secure?
A: The included mythweb.conf.apache file contains commented-out apache controls
    for enabling htdigest password authentication.  If you uncomment these, and
    create /var/www/htdigest (see `man htdigest` for details on how to do this),
    you will have some rudimentary password protection.  Combine this with
    making your mythweb connect only via SSL (see your webserver documentation
    for details), and you will have mythweb as secure as you can get without
    some fancy firewall rules.

Q: I've changed my theme to one that doesn't have a "settings" section.  Help!
A: Access any of the mythweb files and include RESET_TMPL=yes among the URL
    parameters (eg. http://my.mythweb.tld/settings?RESET_TMPL=yes ).  This
    will reset your theme to Default, where you can readjust your settings as
    needed.

Q: I can't open the status link, and get an error about url_fopen, what's
    wrong?
A: Some distributions (gentoo in particular) disable the allow_url_fopen
    setting by default, and php often ignores this setting when it comes from
    your webserver config.  You will need to edit your /etc/php.ini file (or
    wherever it is in your distribution) and set the value of allow_url_fopen
    to On.

Q: Why are some of these files licensed as LGPL and others as GPL?
A: I (Chris Petersen) share a lot of my work between open source projects and
    my paying job and contracts.  In an effort to keep things straight when
    porting changes back and forth between libraries, I changed the license
    on some files (particularly javascript libraries) to LGPL.  There are also
    a handful of files that are licensed as GPL, but are licensed elsewhere as
    LGPL (these are documented in the files themselves).

Q: Where did .htaccess go?
A: .htaccess has been replaced by apache- and lighttpd-specific configuration
   files.  Your old .htaccess file should still work fine, but I encourage you
   to use the new conf file, since it reduces some of the load on the webserver,
   and takes advantage of some features not accessible through .htaccess.

Q: Where did the config files go?
A: All configuration was moved either into apache conf files or into the
   settings section of mythweb itself.

Q: I've fixed a bug (or added a feature), how do I submit my patch?
A: First, create your patch against mythweb git with "git diff head", having made
    sure that your code is indented with 4 spaces and not tabs.  Next, post the
    patch on the MythTV Trac Server ( http://code.mythtv.org/trac/ ) as
    described on the Trac server's home page.  Please include a detailed
    description of your patch on the ticket.  Select the ticket Type "patch" and
    component "mythweb".  If you don't hear back from me or see the patch
    committed right away, don't worry.  As long as you follow these
    instructions, I will at least get back to you one way or another --
    eventually.

Q: I'm trying to stream audio/video, but it's not working.
A: First, make sure that if you have enabled some form of authentication that
    you also enabled the appropriate <LocationMatch> lines in your mythweb.conf.
    Many programs do not work with authenticated servers.  Secondly, if your
    installation of MythWeb runs over https, you may just be out of luck, since
    many media players simply will not play files from a secure connection.
    There is a value in the music settings within MythWeb that will let you
    force music streaming over http, but keep in mind that this will require you
    to set up an alternate version of mythweb on the same server, but without
    ssl enabled.

Q: I get a "500 server error" (or some other number) when trying to view
    MythWeb.
A: Check your apache logs for details about what caused the error.  Usually,
    it means that you didn't set up a required module.  Read the
    mythweb.conf.apache file in more detail to make sure you didn't miss
    an important setup file.

Q: I can't see any thumbnail images of the recordings on my CIFS/SMB share.
A: There is a bug in the Linux CIFS driver that is triggered by Apache when
    it uses 'sendfile' to send an image. To work around it, add the following
    line to your Apache configuration (httpd.conf) file...
        EnableSendfile Off
    See http://httpd.apache.org/docs/2.2/mod/core.html#enablesendfile for info.

Q: MythWeb complains about "Warning: Unknown Programme" after Daylight Saving
    Time has started/finished.
A: PHP may not have determined your local timezone correctly. Read the PHP
    section of MythWeb's INSTALL file to find out how to correctly configure
    your timezone in PHP.

Q: Why is my MythWeb install locked?
A: Given the absolutely huge number of open mythweb installs, we have added in
    a automatic lockdown feature when we detect a bot or the like. This is to
    prevent your install from being indexed, and having all your recordings
    deleted or someone finding it and setting it to record opera 24x7.

Q: So... how do I unlock the install?
A: You can unlock the install by removing the file the message screen gives
    you, but you should secure the install before you do that (read INSTALL)

Q: I don't like you protecting my data... I want the world to mess with my
    MythTV install!
A: If you want to disable this feature, set the apache envirnment var
    MYTHWEB_LOCKDOWN_DISABLE to true and remove the lockdown file, and
    we will no longer try to protect you.

======================
4.0 Submitting Patches
======================

I'm always open to people submitting patches.  Please submit the patch as
described in the final FAQ above.

Please create patches against the most recent version of git.  I can deal with
other "diff -u" patches, but if there have been any major changes in git (there
occasionally are), I won't put much effort into trying to make your patch work,
so please just use git.
