Location: PHPKode > projects > Phpcron - a crond graphical alternative > phpcron0.5b.0.2/html/phpcron_manual_big.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  
  <!-- Beginning of Form Styles -->
<style>
<!--

A:hover {
color: red;
}

H2.questionaire {
font-size: 16px;
fint-family: verdana;

}
  
span.questionaire {

color       : #000011;
background  : #CCCCCC;

font-size : 12px;
font-family: verdana, sans-serif;
 
  margin-left: 10px;
  margin-right: 100px;
  width: 700px;
 
  padding:   015px; 
    border:     2px groove;
}

.qintro {

  margin-left: 50px;
  margin-right: 50px;


}

.hotscripts, FORM, TABLE, TD, INPUT {
font-size: 12px;

}
-->
</style>

<!-- End of Form Styles -->
  
  
  
  
  
  
    <title>PhpCron, a scheduling utility that provides a convenient
    browser interface, Phpcron Admin</title>
    <meta name="GENERATOR" content=
    "Modular DocBook HTML Stylesheet Version 1.71 ">
  </head>

  <body class="ARTICLE" bgcolor="#FFFFFF" text="#000000" link=
  "#0000FF" vlink="#840084" alink="#0000FF">
  
  <a href="http://www.gemini1consulting.com/tekhelp/phpcron/demo/">Visit the Live Demo</a> |
  
  <a href="#questionaire">Please Fill Out the Feedback Form!</a>
    <div class="ARTICLE">
      <div class="TITLEPAGE">
        <h1 class="TITLE"><a name="AEN2"><a href=
        "http://phpcron.sourceforge.net/" target="_top"><span
        class="INLINEMEDIAOBJECT"><img border=0 src="../images/phpcron.gif"
        alt=
        " PhpCron, a scheduling utility that provides a convenient browser interface, Phpcron Admin ">
        </span></a></a></h1>

        <h3 class="AUTHOR"><a name="AEN10" href="http://www.gemini1consulting.com/dcd/">David Druffner</a></h3>

        <div class="AFFILIATION">
          <div class="ADDRESS">
            <p class="ADDRESS">
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hide@address.com<br>

            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          </div>
        </div>

        <p class="COPYRIGHT">Copyright &copy; 2001 by David C.
        Druffner</p>

        <div class="REVHISTORY">
          <table width="100%" border="0">
            <tr>
              <th align="LEFT" valign="TOP" colspan="3"><b>Revision
              History</b></th>
            </tr>

            <tr>
              <td align="LEFT">Revision v. 0.5.1.0</td>

              <td align="LEFT">10-09-2001</td>

              <td align="LEFT">Revised by: dcd</td>
            </tr>

            <tr>
              <td align="LEFT" colspan="3">Initial Manual for v.0.5
              of phpcron</td>
            </tr>
          </table>
        </div>

        <div>
          <div class="ABSTRACT">
            <a name="AEN22"></a>

            <p>Manual for <tt class="FUNCTION">Phpcron</tt>,a <a
            href="http://www.php.net" target="_top">PHP</a> command
            line utility which allows you to schedule programs to
            run at certain specified times similar to the Unix
            standard Crond daemon (which it can be used in place of
            when started as a daemon or in conjunction with when
            Phpcron is being used as a <a href=
            "#VIRTUALDAEMON">"Virtual Daemon"</a>). This manual
            also covers Phpcron Admin,an optional browser based
            interface to Phpcron, allowing a user to remotely
            schedule programs and change Phpcron options in a user
            friendly way without having to deal with console based
            sessions using ssh, telnet, or arcane text editors.
            Download updates to this manual and to <tt class=
            "FUNCTION">Phpcron</tt> at <a href=
            "http://www.gemini1consulting.com/tekhelp/" target=
            "_top">Gemini 1 Consulting, LLC</a>. Phpcron and
            Phpcron Admin provide an ideal solution for web hosts
            who wish to provide a graphical interface with the
            scheduling power of Crond.</p>

            <p>An <a href=
            "http://www.gemini1consulting.com/tekhelp/online_manuals/phpcron/html/"
             target="_top">online manual</a> is available which
            displays users comments, modifications, and tips, as
            well as any author comments since this manual was
            published.</p>

            <p>The Phpcron scripts have been heavily commented with
            inline documentation using a <a href=
            "http://www.gemini1consulting.com/tekhelp/" target=
            "_top">version of Robodoc</a> which this author revised
            to produce <a href="http://www.docbook.org" target=
            "_top">DocBook</a> SGML. Attached as an <a href=
            "#CODEREFERENCE">Appendix</a> is the generated source
            code documentation.</p>
          </div>
        </div>
        <hr>
      </div>

      <div class="TOC">
        <dl>
          <dt><b>Table of Contents</b></dt>

          <dt>1. <a href="#INTRO">Introduction</a></dt>

          <dd>
            <dl>
              <dt>1.1. <a href="#OVERVIEW">What is
              Phpcron?</a></dt>

              <dt>1.2. <a href="#WHYPHPCRON">Why Use Phpcron
              instead of just Unix's Crond?</a></dt>

              <dt>1.3. <a href="#COPYRIGHT">Copyright
              Information</a></dt>

              <dt>1.4. <a href="#DISCLAIMER">Disclaimer</a></dt>

              <dt>1.5. <a href="#SOFTWARELICENSE">Phpcron
              License</a></dt>

              <dt>1.6. <a href="#MANUALVERSION">Manual
              Version</a></dt>

              <dt>1.7. <a href="#CREDITS">Credits</a></dt>

              <dt>1.8. <a href="#FEEDBACK">Feedback</a></dt>

              <dt>1.9. <a href=
              "#TRANSLATIONS">Translations</a></dt>
            </dl>
          </dd>

          <dt>2. <a href="#DOWNLOAD">Download Phpcron</a></dt>

          <dt>3. <a href="#SYSTEMREQUIREMENTS">System
          Requirements</a></dt>

          <dt>4. <a href="#INSTALLATION">Installation</a></dt>

          <dt>5. <a href="#PHPCRONTAB">Scheduling Program
          Execution</a></dt>

          <dt>6. <a href="#COMMANDLINE">Command Line
          Execution</a></dt>

          <dt>7. <a href="#OPTIONS">Phpcron Options</a></dt>

          <dt>8. <a href="#PHPCRONADMIN">Phpcron Admin</a></dt>

          <dd>
            <dl>
              <dt>8.1. <a href="#ADMINOVERVIEW">Overview</a></dt>

              <dt>8.2. <a href="#CONTROLPANEL">Control
              Panel</a></dt>

              <dt>8.3. <a href="#EDITTAB">Edit Scheduled
              Programs</a></dt>
            </dl>
          </dd>

          <dt>9. <a href="#MODESVIRTUALDAEMON">Modes and the
          Virtual Daemon</a></dt>

          <dd>
            <dl>
              <dt>9.1. <a href="#MODES">Modes (Daemon and
              Non-Daemon)</a></dt>

              <dt>9.2. <a href="#VIRTUALDAEMON">Virtual
              Daemon</a></dt>
            </dl>
          </dd>

          <dt>10. <a href="#CODEHISTORY">Code History</a></dt>

          <dt>11. <a href="#DEMO">Demo</a></dt>

          <dt>12. <a href="#CONTRIBUTIONS">Code
          Contributions</a></dt>

          <dt>13. <a href="#CODEREFERENCE">Code Reference</a></dt>

          <dt>A. <a href="#AEN464">Phpcron Code Reference</a></dt>

          <dd>
            <dl>
              <dt>A.1. <a href="#AEN468">Phpcron Source Code
              Reference</a></dt>

              <dd>
                <dl>
                  <dt>A.1.1. <a href="#AEN470">Source
                  Files</a></dt>

                  <dd>
                    <dl>
                      <dt>A.1.1.1. <a href="#AEN472"><a href=
                      "#ANCHORPHPCRON.PHP"><tt class=
                      "LITERAL">phpcron.php</tt></a></a></dt>

                      <dt>A.1.1.2. <a href="#AEN477"><a href=
                      "#ANCHORPHPCRON3ADMIN.PHP"><tt class=
                      "LITERAL">phpcron_admin.php</tt></a></a></dt>

                      <dt>A.1.1.3. <a href="#AEN482"><a href=
                      "#ANCHORPHPCRON3COMMONLIB.PHP"><tt class=
                      "LITERAL">phpcron_commonlib.php</tt></a></a></dt>
                    </dl>
                  </dd>

                  <dt>A.1.2. <a href="#AEN487">Functions</a></dt>

                  <dd>
                    <dl>
                      <dt>A.1.2.1. <a href="#AEN489"><a href=
                      "#ANCHORAPPENDTOFILE"><tt class=
                      "LITERAL">appendToFile</tt></a></a></dt>

                      <dt>A.1.2.2. <a href="#AEN494"><a href=
                      "#ANCHORBUILDNEWTAB"><tt class=
                      "LITERAL">buildNewtab</tt></a></a></dt>

                      <dt>A.1.2.3. <a href="#AEN499"><a href=
                      "#ANCHORCHECKPHPVERSION"><tt class=
                      "LITERAL">checkPhpVersion</tt></a></a></dt>

                      <dt>A.1.2.4. <a href="#AEN504"><a href=
                      "#ANCHORCLEARLOGFILE"><tt class=
                      "LITERAL">clearLogFile</tt></a></a></dt>

                      <dt>A.1.2.5. <a href="#AEN509"><a href=
                      "#ANCHORCPPHPCRON"><tt class=
                      "LITERAL">cpPhpcron</tt></a></a></dt>

                      <dt>A.1.2.6. <a href="#AEN514"><a href=
                      "#ANCHORDELETEFILE"><tt class=
                      "LITERAL">deleteFile</tt></a></a></dt>

                      <dt>A.1.2.7. <a href="#AEN519"><a href=
                      "#ANCHORDOWNLOADFILE"><tt class=
                      "LITERAL">downloadFile</tt></a></a></dt>

                      <dt>A.1.2.8. <a href="#AEN524"><a href=
                      "#ANCHOREDITTABBYFORM"><tt class=
                      "LITERAL">editTabByForm</tt></a></a></dt>

                      <dt>A.1.2.9. <a href="#AEN529"><a href=
                      "#ANCHORFORMATPATH"><tt class=
                      "LITERAL">formatPath</tt></a></a></dt>

                      <dt>A.1.2.10. <a href="#AEN534"><a href=
                      "#ANCHORFULLEDITBOX"><tt class=
                      "LITERAL">fullEditBox</tt></a></a></dt>

                      <dt>A.1.2.11. <a href="#AEN539"><a href=
                      "#ANCHORGETASSIGNMENTINFO"><tt class=
                      "LITERAL">getAssignmentInfo</tt></a></a></dt>

                      <dt>A.1.2.12. <a href="#AEN544"><a href=
                      "#ANCHORGETCOMMENTS"><tt class=
                      "LITERAL">getComments</tt></a></a></dt>

                      <dt>A.1.2.13. <a href="#AEN549"><a href=
                      "#ANCHORGETFORMELEMENT"><tt class=
                      "LITERAL">getFormElement</tt></a></a></dt>

                      <dt>A.1.2.14. <a href="#AEN554"><a href=
                      "#ANCHORGETPROCESSINFO78"><tt class=
                      "LITERAL">getProcessInfo()</tt></a></a></dt>

                      <dt>A.1.2.15. <a href="#AEN559"><a href=
                      "#ANCHORISBADPHP"><tt class=
                      "LITERAL">isBadPhp</tt></a></a></dt>

                      <dt>A.1.2.16. <a href="#AEN564"><a href=
                      "#ANCHORISCRONTIMEPARAMSBAD"><tt class=
                      "LITERAL">isCronTimeParamsBad</tt></a></a></dt>

                      <dt>A.1.2.17. <a href="#AEN569"><a href=
                      "#ANCHORISINTEGER"><tt class=
                      "LITERAL">isInteger</tt></a></a></dt>

                      <dt>A.1.2.18. <a href="#AEN574"><a href=
                      "#ANCHORISINTEGERINRANGE"><tt class=
                      "LITERAL">isIntegerInRange</tt></a></a></dt>

                      <dt>A.1.2.19. <a href="#AEN579"><a href=
                      "#ANCHORISOTHERPHPCROND"><tt class=
                      "LITERAL">isOtherPhpcrond</tt></a></a></dt>

                      <dt>A.1.2.20. <a href="#AEN584"><a href=
                      "#ANCHORISPATHBAD"><tt class=
                      "LITERAL">isPathbad</tt></a></a></dt>

                      <dt>A.1.2.21. <a href="#AEN589"><a href=
                      "#ANCHORISTABFORMBAD"><tt class=
                      "LITERAL">isTabFormBad</tt></a></a></dt>

                      <dt>A.1.2.22. <a href="#AEN594"><a href=
                      "#ANCHORIS3EMAIL"><tt class=
                      "LITERAL">is_email</tt></a></a></dt>

                      <dt>A.1.2.23. <a href="#AEN599"><a href=
                      "#ANCHORKILLOTHERPHPCRON"><tt class=
                      "LITERAL">killOtherPhpcron</tt></a></a></dt>

                      <dt>A.1.2.24. <a href="#AEN604"><a href=
                      "#ANCHORMAILATTACHMENT"><tt class=
                      "LITERAL">mailAttachment</tt></a></a></dt>

                      <dt>A.1.2.25. <a href="#AEN609"><a href=
                      "#ANCHORMENUBAR"><tt class=
                      "LITERAL">menuBar</tt></a></a></dt>

                      <dt>A.1.2.26. <a href="#AEN614"><a href=
                      "#ANCHORPAGETITLE"><tt class=
                      "LITERAL">pageTitle</tt></a></a></dt>

                      <dt>A.1.2.27. <a href="#AEN619"><a href=
                      "#ANCHORPARSECRONTIMEPARAMS"><tt class=
                      "LITERAL">parseCronTimeParams</tt></a></a></dt>

                      <dt>A.1.2.28. <a href="#AEN624"><a href=
                      "#ANCHORPARSEUSERCONFIG"><tt class=
                      "LITERAL">parseUserConfig</tt></a></a></dt>

                      <dt>A.1.2.29. <a href="#AEN629"><a href=
                      "#ANCHORREBUILDUSERCFG"><tt class=
                      "LITERAL">rebuildUserCfg</tt></a></a></dt>

                      <dt>A.1.2.30. <a href="#AEN634"><a href=
                      "#ANCHORSAVEFILE"><tt class=
                      "LITERAL">saveFile</tt></a></a></dt>

                      <dt>A.1.2.31. <a href="#AEN639"><a href=
                      "#ANCHORSENDOUTPUT"><tt class=
                      "LITERAL">sendOutput</tt></a></a></dt>

                      <dt>A.1.2.32. <a href="#AEN644"><a href=
                      "#ANCHORSTOPOTHERPHPCRON"><tt class=
                      "LITERAL">stopOtherPhpcron</tt></a></a></dt>

                      <dt>A.1.2.33. <a href="#AEN649"><a href=
                      "#ANCHORSTOPTHISPROCESS"><tt class=
                      "LITERAL">stopThisProcess</tt></a></a></dt>

                      <dt>A.1.2.34. <a href="#AEN654"><a href=
                      "#ANCHORSTRIPPHP"><tt class=
                      "LITERAL">stripPhp</tt></a></a></dt>

                      <dt>A.1.2.35. <a href="#AEN659"><a href=
                      "#ANCHORTABTOPCOMMENTS"><tt class=
                      "LITERAL">tabTopComments</tt></a></a></dt>
                    </dl>
                  </dd>

                  <dt>A.1.3. <a href="#AEN664">Variables</a></dt>

                  <dd>
                    <dl>
                      <dt>A.1.3.1. <a href="#AEN666"><a href=
                      "#ANCHOR4ADMIN3EMAIL3ADDRESS"><tt class=
                      "LITERAL">$admin_email_address</tt></a></a></dt>

                      <dt>A.1.3.2. <a href="#AEN671"><a href=
                      "#ANCHOR4ADMIN3SUBPAGE"><tt class=
                      "LITERAL">$admin_subpage</tt></a></a></dt>

                      <dt>A.1.3.3. <a href="#AEN676"><a href=
                      "#ANCHOR4ASSIGNMENT3INFO"><tt class=
                      "LITERAL">$assignment_info</tt></a></a></dt>

                      <dt>A.1.3.4. <a href="#AEN681"><a href=
                      "#ANCHOR4CL3HELP"><tt class=
                      "LITERAL">$cl_help</tt></a></a></dt>

                      <dt>A.1.3.5. <a href="#AEN686"><a href=
                      "#ANCHOR4DAEMON3MODE"><tt class=
                      "LITERAL">$daemon_mode</tt></a></a></dt>

                      <dt>A.1.3.6. <a href="#AEN691"><a href=
                      "#ANCHOR4DEBUG"><tt class=
                      "LITERAL">$debug</tt></a></a></dt>

                      <dt>A.1.3.7. <a href="#AEN696"><a href=
                      "#ANCHOR4ERROR3EMAIL3ADDRESS"><tt class=
                      "LITERAL">$error_email_address</tt></a></a></dt>

                      <dt>A.1.3.8. <a href="#AEN701"><a href=
                      "#ANCHOR4LEFT3MLC3CH"><tt class=
                      "LITERAL">$left_mlc_ch</tt></a></a></dt>

                      <dt>A.1.3.9. <a href="#AEN706"><a href=
                      "#ANCHOR4LICENSE"><tt class=
                      "LITERAL">$license</tt></a></a></dt>

                      <dt>A.1.3.10. <a href="#AEN711"><a href=
                      "#ANCHOR4LOG3RESULT"><tt class=
                      "LITERAL">$log_result</tt></a></a></dt>

                      <dt>A.1.3.11. <a href="#AEN716"><a href=
                      "#ANCHOR4LOG3RESULT3FILE"><tt class=
                      "LITERAL">$log_result_file</tt></a></a></dt>

                      <dt>A.1.3.12. <a href="#AEN721"><a href=
                      "#ANCHOR4MAIL3ERRORS"><tt class=
                      "LITERAL">$mail_errors</tt></a></a></dt>

                      <dt>A.1.3.13. <a href="#AEN726"><a href=
                      "#ANCHOR4MAIL3SUCCESS"><tt class=
                      "LITERAL">$mail_success</tt></a></a></dt>

                      <dt>A.1.3.14. <a href="#AEN731"><a href=
                      "#ANCHOR4PHPCRON3DIRECTORY"><tt class=
                      "LITERAL">$phpcron_directory</tt></a></a></dt>

                      <dt>A.1.3.15. <a href="#AEN736"><a href=
                      "#ANCHOR4PHPCRON3FILE"><tt class=
                      "LITERAL">$phpcron_file</tt></a></a></dt>

                      <dt>A.1.3.16. <a href="#AEN741"><a href=
                      "#ANCHOR4PHPCRON3OFF"><tt class=
                      "LITERAL">$phpcron_off</tt></a></a></dt>

                      <dt>A.1.3.17. <a href="#AEN746"><a href=
                      "#ANCHOR4PHPCRON3OUTPUT"><tt class=
                      "LITERAL">$phpcron_output</tt></a></a></dt>

                      <dt>A.1.3.18. <a href="#AEN751"><a href=
                      "#ANCHOR4PHPCRON3PSINFO3FILE"><tt class=
                      "LITERAL">$phpcron_psinfo_file</tt></a></a></dt>

                      <dt>A.1.3.19. <a href="#AEN756"><a href=
                      "#ANCHOR4PHPCRON3VENABLED3FILE"><tt class=
                      "LITERAL">$phpcron_venabled_file</tt></a></a></dt>

                      <dt>A.1.3.20. <a href="#AEN761"><a href=
                      "#ANCHOR4PHPCRONTAB3FILENAME"><tt class=
                      "LITERAL">$phpcrontab_filename</tt></a></a></dt>

                      <dt>A.1.3.21. <a href="#AEN766"><a href=
                      "#ANCHOR4PID"><tt class=
                      "LITERAL">$pid</tt></a></a></dt>

                      <dt>A.1.3.22. <a href="#AEN771"><a href=
                      "#ANCHOR4REDIRECT3OUTPUT"><tt class=
                      "LITERAL">$redirect_output</tt></a></a></dt>

                      <dt>A.1.3.23. <a href="#AEN776"><a href=
                      "#ANCHOR4RIGHT3MLC3CH"><tt class=
                      "LITERAL">$right_mlc_ch</tt></a></a></dt>

                      <dt>A.1.3.24. <a href="#AEN781"><a href=
                      "#ANCHOR4SC3CH"><tt class=
                      "LITERAL">$sc_ch</tt></a></a></dt>

                      <dt>A.1.3.25. <a href="#AEN786"><a href=
                      "#ANCHOR4SECURE"><tt class=
                      "LITERAL">$secure</tt></a></a></dt>

                      <dt>A.1.3.26. <a href="#AEN791"><a href=
                      "#ANCHOR4SLOW3DEBUG3SCROLL"><tt class=
                      "LITERAL">$slow_debug_scroll</tt></a></a></dt>

                      <dt>A.1.3.27. <a href="#AEN796"><a href=
                      "#ANCHOR4START3TIME"><tt class=
                      "LITERAL">$start_time</tt></a></a></dt>

                      <dt>A.1.3.28. <a href="#AEN801"><a href=
                      "#ANCHOR4SUPPRESS3OUTPUT"><tt class=
                      "LITERAL">$suppress_output</tt></a></a></dt>

                      <dt>A.1.3.29. <a href="#AEN806"><a href=
                      "#ANCHOR4SYSTEM3NAME"><tt class=
                      "LITERAL">$system_name</tt></a></a></dt>

                      <dt>A.1.3.30. <a href="#AEN811"><a href=
                      "#ANCHOR4UC3CONTENTS"><tt class=
                      "LITERAL">$uc_contents</tt></a></a></dt>

                      <dt>A.1.3.31. <a href="#AEN816"><a href=
                      "#ANCHOR4UC3CONTENTS3ARRAY"><tt class=
                      "LITERAL">$uc_contents_array</tt></a></a></dt>

                      <dt>A.1.3.32. <a href="#AEN821"><a href=
                      "#ANCHOR4UC3CONTENTS3LENGTH"><tt class=
                      "LITERAL">$uc_contents_length</tt></a></a></dt>

                      <dt>A.1.3.33. <a href="#AEN826"><a href=
                      "#ANCHOR4USER3CONFIG3FILE"><tt class=
                      "LITERAL">$user_config_file</tt></a></a></dt>

                      <dt>A.1.3.34. <a href="#AEN831"><a href=
                      "#ANCHOR4VIEWED3BY3BROWSER"><tt class=
                      "LITERAL">$viewed_by_browser</tt></a></a></dt>

                      <dt>A.1.3.35. <a href="#AEN836"><a href=
                      "#ANCHORPHPCRON3DIRECTORY"><tt class=
                      "LITERAL">phpcron_directory</tt></a></a></dt>
                    </dl>
                  </dd>

                  <dt>A.1.4. <a href="#AEN841">Constants</a></dt>

                  <dd>
                    <dl>
                      <dt>A.1.4.1. <a href="#AEN843"><a href=
                      "#ANCHORCURRENT3DIRECTORY"><tt class=
                      "LITERAL">CURRENT_DIRECTORY</tt></a></a></dt>

                      <dt>A.1.4.2. <a href="#AEN848"><a href=
                      "#ANCHORCURRENT3DIRECTORY"><tt class=
                      "LITERAL">CURRENT_DIRECTORY</tt></a></a></dt>
                    </dl>
                  </dd>

                  <dt>A.1.5. <a href="#AEN853">Generic</a></dt>

                  <dd>
                    <dl>
                      <dt>A.1.5.1. <a href="#AEN855"><a href=
                      "#ANCHORPHPCRON3ADMIN3README"><tt class=
                      "LITERAL">phpcron_admin_readme</tt></a></a></dt>

                      <dt>A.1.5.2. <a href="#AEN860"><a href=
                      "#ANCHORPHPCRON3COMMONLIB3README"><tt class=
                      "LITERAL">phpcron_commonlib_readme</tt></a></a></dt>

                      <dt>A.1.5.3. <a href="#AEN865"><a href=
                      "#ANCHORPHPCRON3README"><tt class=
                      "LITERAL">phpcron_readme</tt></a></a></dt>
                    </dl>
                  </dd>
                </dl>
              </dd>

              <dt>A.2. <a href=
              "#ANCHORPHPCRON1PHPCRON3README">PHPCRON/phpcron_readme</a></dt>

              <dd>
                <dl>
                  <dt>A.2.1. <a href="#AEN877">NAME</a></dt>

                  <dt>A.2.2. <a href="#AEN881">DESCRIPTION</a></dt>

                  <dt>A.2.3. <a href="#AEN885">AUTHOR</a></dt>

                  <dt>A.2.4. <a href="#AEN889">COPYRIGHT</a></dt>

                  <dt>A.2.5. <a href="#AEN893">CREATION
                  DATE</a></dt>

                  <dt>A.2.6. <a href="#AEN897">MODIFICATION
                  HISTORY</a></dt>

                  <dt>A.2.7. <a href="#AEN900">BUGS</a></dt>

                  <dt>A.2.8. <a href="#AEN905">NOTES</a></dt>
                </dl>
              </dd>

              <dt>A.3. <a href=
              "#ANCHORPHPCRON1CURRENT3DIRECTORY">phpcron/CURRENT_DIRECTORY</a></dt>

              <dd>
                <dl>
                  <dt>A.3.1. <a href="#AEN919">NAME</a></dt>

                  <dt>A.3.2. <a href="#AEN924">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.4. <a href=
              "#ANCHORPHPCRON1PHPCRON3DIRECTORY">phpcron/phpcron_directory</a></dt>

              <dd>
                <dl>
                  <dt>A.4.1. <a href="#AEN932">NAME</a></dt>

                  <dt>A.4.2. <a href="#AEN937">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.5. <a href=
              "#ANCHORPHPCRON14START3TIME">phpcron/$start_time</a></dt>

              <dd>
                <dl>
                  <dt>A.5.1. <a href="#AEN945">NAME</a></dt>

                  <dt>A.5.2. <a href="#AEN949">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.6. <a href=
              "#ANCHORPHPCRON14PHPCRONTAB3FILENAME">phpcron/$phpcrontab_filename</a></dt>

              <dd>
                <dl>
                  <dt>A.6.1. <a href="#AEN957">NAME</a></dt>

                  <dt>A.6.2. <a href="#AEN961">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.7. <a href=
              "#ANCHORPHPCRON14DEBUG">phpcron/$debug</a></dt>

              <dd>
                <dl>
                  <dt>A.7.1. <a href="#AEN969">NAME</a></dt>

                  <dt>A.7.2. <a href="#AEN973">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.8. <a href=
              "#ANCHORPHPCRON14SLOW3DEBUG3SCROLL">phpcron/$slow_debug_scroll</a></dt>

              <dd>
                <dl>
                  <dt>A.8.1. <a href="#AEN981">NAME</a></dt>

                  <dt>A.8.2. <a href="#AEN985">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.9. <a href=
              "#ANCHORPHPCRON14LOG3RESULT">phpcron/$log_result</a></dt>

              <dd>
                <dl>
                  <dt>A.9.1. <a href="#AEN993">NAME</a></dt>

                  <dt>A.9.2. <a href="#AEN997">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.10. <a href=
              "#ANCHORPHPCRON14LOG3RESULT3FILE">phpcron/$log_result_file</a></dt>

              <dd>
                <dl>
                  <dt>A.10.1. <a href="#AEN1005">NAME</a></dt>

                  <dt>A.10.2. <a href=
                  "#AEN1009">DESCRIPTION</a></dt>

                  <dt>A.10.3. <a href="#AEN1012">NOTES</a></dt>
                </dl>
              </dd>

              <dt>A.11. <a href=
              "#ANCHORPHPCRON14MAIL3SUCCESS">phpcron/$mail_success</a></dt>

              <dd>
                <dl>
                  <dt>A.11.1. <a href="#AEN1021">NAME</a></dt>

                  <dt>A.11.2. <a href=
                  "#AEN1025">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.12. <a href=
              "#ANCHORPHPCRON14ADMIN3EMAIL3ADDRESS">phpcron/$admin_email_address</a></dt>

              <dd>
                <dl>
                  <dt>A.12.1. <a href="#AEN1033">NAME</a></dt>

                  <dt>A.12.2. <a href=
                  "#AEN1037">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.13. <a href=
              "#ANCHORPHPCRON14MAIL3ERRORS">phpcron/$mail_errors</a></dt>

              <dd>
                <dl>
                  <dt>A.13.1. <a href="#AEN1045">NAME</a></dt>

                  <dt>A.13.2. <a href=
                  "#AEN1049">DESCRIPTION</a></dt>

                  <dt>A.13.3. <a href="#AEN1052">NOTES</a></dt>
                </dl>
              </dd>

              <dt>A.14. <a href=
              "#ANCHORPHPCRON14ERROR3EMAIL3ADDRESS">phpcron/$error_email_address</a></dt>

              <dd>
                <dl>
                  <dt>A.14.1. <a href="#AEN1061">NAME</a></dt>

                  <dt>A.14.2. <a href=
                  "#AEN1065">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.15. <a href=
              "#ANCHORPHPCRON14SYSTEM3NAME">phpcron/$system_name</a></dt>

              <dd>
                <dl>
                  <dt>A.15.1. <a href="#AEN1073">NAME</a></dt>

                  <dt>A.15.2. <a href=
                  "#AEN1078">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.16. <a href=
              "#ANCHORPHPCRON14SUPPRESS3OUTPUT">phpcron/$suppress_output</a></dt>

              <dd>
                <dl>
                  <dt>A.16.1. <a href="#AEN1086">NAME</a></dt>

                  <dt>A.16.2. <a href=
                  "#AEN1090">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.17. <a href=
              "#ANCHORPHPCRON14DAEMON3MODE">phpcron/$daemon_mode</a></dt>

              <dd>
                <dl>
                  <dt>A.17.1. <a href="#AEN1098">NAME</a></dt>

                  <dt>A.17.2. <a href=
                  "#AEN1102">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.18. <a href=
              "#ANCHORPHPCRON1STOPTHISPROCESS">phpcron/stopThisProcess</a></dt>

              <dd>
                <dl>
                  <dt>A.18.1. <a href="#AEN1111">NAME</a></dt>

                  <dt>A.18.2. <a href="#AEN1116">SYNOPSIS</a></dt>

                  <dt>A.18.3. <a href="#AEN1120">FUNCTION</a></dt>

                  <dt>A.18.4. <a href="#AEN1123">INPUTS</a></dt>

                  <dt>A.18.5. <a href="#AEN1126">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.19. <a href=
              "#ANCHORPHPCRON1KILLOTHERPHPCRON">phpcron/killOtherPhpcron</a></dt>

              <dd>
                <dl>
                  <dt>A.19.1. <a href="#AEN1140">NAME</a></dt>

                  <dt>A.19.2. <a href="#AEN1145">SYNOPSIS</a></dt>

                  <dt>A.19.3. <a href="#AEN1149">FUNCTION</a></dt>

                  <dt>A.19.4. <a href="#AEN1153">NOTES</a></dt>

                  <dt>A.19.5. <a href="#AEN1158">RESULT</a></dt>

                  <dt>A.19.6. <a href="#AEN1161">BUGS</a></dt>

                  <dt>A.19.7. <a href="#AEN1165">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.20. <a href=
              "#ANCHORPHPCRON14PID">phpcron/$pid</a></dt>

              <dt>A.21. <a href=
              "#ANCHORPHPCRON14CL3HELP">phpcron/$cl_help</a></dt>

              <dd>
                <dl>
                  <dt>A.21.1. <a href="#AEN1182">NAME</a></dt>

                  <dt>A.21.2. <a href=
                  "#AEN1186">DESCRIPTION</a></dt>

                  <dt>A.21.3. <a href="#AEN1189">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.22. <a href=
              "#ANCHORPHPCRON14REDIRECT3OUTPUT">phpcron/$redirect_output</a></dt>

              <dd>
                <dl>
                  <dt>A.22.1. <a href="#AEN1197">NAME</a></dt>

                  <dt>A.22.2. <a href=
                  "#AEN1201">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.23. <a href=
              "#ANCHORPHPCRON1PHPCRON3ADMIN3README">PHPCRON/phpcron_admin_readme</a></dt>

              <dd>
                <dl>
                  <dt>A.23.1. <a href="#AEN1211">NAME</a></dt>

                  <dt>A.23.2. <a href="#AEN1215">AUTHOR</a></dt>

                  <dt>A.23.3. <a href=
                  "#AEN1219">DESCRIPTION</a></dt>

                  <dt>A.23.4. <a href="#AEN1223">COPYRIGHT</a></dt>

                  <dt>A.23.5. <a href="#AEN1227">BUGS</a></dt>

                  <dt>A.23.6. <a href="#AEN1232">NOTES</a></dt>
                </dl>
              </dd>

              <dt>A.24. <a href=
              "#ANCHORPHPCRON3ADMIN1CURRENT3DIRECTORY">phpcron_admin/CURRENT_DIRECTORY</a></dt>

              <dd>
                <dl>
                  <dt>A.24.1. <a href="#AEN1246">NAME</a></dt>

                  <dt>A.24.2. <a href=
                  "#AEN1251">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.25. <a href=
              "#ANCHORPHPCRON3ADMIN14PHPCRON3DIRECTORY">phpcron_admin/$phpcron_directory</a></dt>

              <dd>
                <dl>
                  <dt>A.25.1. <a href="#AEN1260">NAME</a></dt>

                  <dt>A.25.2. <a href=
                  "#AEN1266">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.26. <a href=
              "#ANCHORPHPCRON3ADMIN14PHPCRON3OUTPUT">phpcron_admin/$phpcron_output</a></dt>

              <dd>
                <dl>
                  <dt>A.26.1. <a href="#AEN1277">NAME</a></dt>

                  <dt>A.26.2. <a href=
                  "#AEN1281">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.27. <a href=
              "#ANCHORPHPCRON3ADMIN14SECURE">phpcron_admin/$secure</a></dt>

              <dd>
                <dl>
                  <dt>A.27.1. <a href="#AEN1289">NAME</a></dt>

                  <dt>A.27.2. <a href=
                  "#AEN1293">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.28. <a href=
              "#ANCHORPHPCRON3ADMIN14USER3CONFIG3FILE">phpcron_admin/$user_config_file</a></dt>

              <dd>
                <dl>
                  <dt>A.28.1. <a href="#AEN1301">NAME</a></dt>
                </dl>
              </dd>

              <dt>A.29. <a href=
              "#ANCHORPHPCRON3ADMIN14LEFT3MLC3CH">phpcron_admin/$left_mlc_ch</a></dt>

              <dd>
                <dl>
                  <dt>A.29.1. <a href="#AEN1310">NAME</a></dt>
                </dl>
              </dd>

              <dt>A.30. <a href=
              "#ANCHORPHPCRON3ADMIN14RIGHT3MLC3CH">phpcron_admin/$right_mlc_ch</a></dt>

              <dd>
                <dl>
                  <dt>A.30.1. <a href="#AEN1319">NAME</a></dt>
                </dl>
              </dd>

              <dt>A.31. <a href=
              "#ANCHORPHPCRON3ADMIN14SC3CH">phpcron_admin/$sc_ch</a></dt>

              <dd>
                <dl>
                  <dt>A.31.1. <a href="#AEN1328">NAME</a></dt>
                </dl>
              </dd>

              <dt>A.32. <a href=
              "#ANCHORPHPCRON3ADMIN14UC3CONTENTS">phpcron_admin/$uc_contents</a></dt>

              <dd>
                <dl>
                  <dt>A.32.1. <a href="#AEN1337">NAME</a></dt>

                  <dt>A.32.2. <a href="#AEN1341">NOTES</a></dt>
                </dl>
              </dd>

              <dt>A.33. <a href=
              "#ANCHORPHPCRON3ADMIN14UC3CONTENTS3LENGTH">phpcron_admin/$uc_contents_length</a></dt>

              <dd>
                <dl>
                  <dt>A.33.1. <a href="#AEN1353">NAME</a></dt>
                </dl>
              </dd>

              <dt>A.34. <a href=
              "#ANCHORPHPCRON3ADMIN14ADMIN3SUBPAGE">phpcron_admin/$admin_subpage</a></dt>

              <dd>
                <dl>
                  <dt>A.34.1. <a href="#AEN1362">NAME</a></dt>
                </dl>
              </dd>

              <dt>A.35. <a href=
              "#ANCHORPHPCRON3ADMIN1CLEARLOGFILE">phpcron_admin/clearLogFile</a></dt>

              <dd>
                <dl>
                  <dt>A.35.1. <a href="#AEN1371">NAME</a></dt>

                  <dt>A.35.2. <a href="#AEN1376">SYNOPSIS</a></dt>

                  <dt>A.35.3. <a href="#AEN1380">INPUTS</a></dt>

                  <dt>A.35.4. <a href="#AEN1384">FUNCTION</a></dt>

                  <dt>A.35.5. <a href="#AEN1387">RESULT</a></dt>

                  <dt>A.35.6. <a href="#AEN1390">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.36. <a href=
              "#ANCHORPHPCRON3ADMIN1ISBADPHP">phpcron_admin/isBadPhp</a></dt>

              <dd>
                <dl>
                  <dt>A.36.1. <a href="#AEN1401">NAME</a></dt>

                  <dt>A.36.2. <a href="#AEN1406">SYNOPSIS</a></dt>

                  <dt>A.36.3. <a href="#AEN1410">FUNCTION</a></dt>

                  <dt>A.36.4. <a href="#AEN1413">INPUTS</a></dt>

                  <dt>A.36.5. <a href="#AEN1416">PURPOSE</a></dt>

                  <dt>A.36.6. <a href="#AEN1421">RESULT</a></dt>

                  <dt>A.36.7. <a href="#AEN1424">NOTES</a></dt>

                  <dt>A.36.8. <a href="#AEN1428">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.37. <a href=
              "#ANCHORPHPCRON3ADMIN1ISTABFORMBAD">phpcron_admin/isTabFormBad</a></dt>

              <dd>
                <dl>
                  <dt>A.37.1. <a href="#AEN1442">NAME</a></dt>

                  <dt>A.37.2. <a href="#AEN1448">SYNOPSIS</a></dt>

                  <dt>A.37.3. <a href="#AEN1452">FUNCTION</a></dt>

                  <dt>A.37.4. <a href="#AEN1456">INPUTS</a></dt>

                  <dt>A.37.5. <a href="#AEN1459">RESULT</a></dt>

                  <dt>A.37.6. <a href="#AEN1462">NOTES</a></dt>

                  <dt>A.37.7. <a href="#AEN1467">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.38. <a href=
              "#ANCHORPHPCRON3ADMIN1MENUBAR">phpcron_admin/menuBar</a></dt>

              <dd>
                <dl>
                  <dt>A.38.1. <a href="#AEN1477">NAME</a></dt>

                  <dt>A.38.2. <a href="#AEN1482">SYNOPSIS</a></dt>

                  <dt>A.38.3. <a href="#AEN1486">FUNCTION</a></dt>

                  <dt>A.38.4. <a href="#AEN1489">INPUTS</a></dt>

                  <dt>A.38.5. <a href="#AEN1492">RESULT</a></dt>

                  <dt>A.38.6. <a href="#AEN1495">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.39. <a href=
              "#ANCHORPHPCRON3ADMIN1PAGETITLE">phpcron_admin/pageTitle</a></dt>

              <dd>
                <dl>
                  <dt>A.39.1. <a href="#AEN1505">NAME</a></dt>

                  <dt>A.39.2. <a href="#AEN1510">SYNOPSIS</a></dt>

                  <dt>A.39.3. <a href="#AEN1514">FUNCTION</a></dt>

                  <dt>A.39.4. <a href="#AEN1517">INPUTS</a></dt>

                  <dt>A.39.5. <a href="#AEN1520">RESULT</a></dt>

                  <dt>A.39.6. <a href="#AEN1523">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.40. <a href=
              "#ANCHORPHPCRON3ADMIN1BUILDNEWTAB">phpcron_admin/buildNewtab</a></dt>

              <dd>
                <dl>
                  <dt>A.40.1. <a href="#AEN1532">NAME</a></dt>

                  <dt>A.40.2. <a href="#AEN1537">SYNOPSIS</a></dt>

                  <dt>A.40.3. <a href="#AEN1541">FUNCTION</a></dt>

                  <dt>A.40.4. <a href="#AEN1545">INPUTS</a></dt>

                  <dt>A.40.5. <a href="#AEN1548">RESULT</a></dt>

                  <dt>A.40.6. <a href="#AEN1551">NOTES</a></dt>

                  <dt>A.40.7. <a href="#AEN1556">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.41. <a href=
              "#ANCHORPHPCRON3ADMIN1CPPHPCRON">phpcron_admin/cpPhpcron</a></dt>

              <dd>
                <dl>
                  <dt>A.41.1. <a href="#AEN1565">NAME</a></dt>

                  <dt>A.41.2. <a href="#AEN1570">SYNOPSIS</a></dt>

                  <dt>A.41.3. <a href="#AEN1574">FUNCTION</a></dt>

                  <dt>A.41.4. <a href="#AEN1578">INPUTS</a></dt>

                  <dt>A.41.5. <a href="#AEN1581">RESULT</a></dt>

                  <dt>A.41.6. <a href="#AEN1584">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.42. <a href=
              "#ANCHORPHPCRON3ADMIN1EDITTABBYFORM">phpcron_admin/editTabByForm</a></dt>

              <dd>
                <dl>
                  <dt>A.42.1. <a href="#AEN1619">NAME</a></dt>

                  <dt>A.42.2. <a href="#AEN1624">SYNOPSIS</a></dt>

                  <dt>A.42.3. <a href="#AEN1628">FUNCTION</a></dt>

                  <dt>A.42.4. <a href="#AEN1631">INPUTS</a></dt>

                  <dt>A.42.5. <a href="#AEN1634">RESULT</a></dt>

                  <dt>A.42.6. <a href="#AEN1637">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.43. <a href=
              "#ANCHORPHPCRON3ADMIN1FULLEDITBOX">phpcron_admin/fullEditBox</a></dt>

              <dd>
                <dl>
                  <dt>A.43.1. <a href="#AEN1649">NAME</a></dt>

                  <dt>A.43.2. <a href="#AEN1654">SYNOPSIS</a></dt>

                  <dt>A.43.3. <a href="#AEN1658">FUNCTION</a></dt>

                  <dt>A.43.4. <a href="#AEN1661">INPUTS</a></dt>

                  <dt>A.43.5. <a href="#AEN1664">RESULT</a></dt>

                  <dt>A.43.6. <a href="#AEN1667">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.44. <a href=
              "#ANCHORPHPCRON3ADMIN1GETASSIGNMENTINFO">phpcron_admin/getAssignmentInfo</a></dt>

              <dd>
                <dl>
                  <dt>A.44.1. <a href="#AEN1679">NAME</a></dt>

                  <dt>A.44.2. <a href="#AEN1684">SYNOPSIS</a></dt>

                  <dt>A.44.3. <a href="#AEN1688">FUNCTION</a></dt>

                  <dt>A.44.4. <a href="#AEN1691">INPUTS</a></dt>

                  <dt>A.44.5. <a href="#AEN1694">RESULT</a></dt>

                  <dt>A.44.6. <a href="#AEN1698">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.45. <a href=
              "#ANCHORPHPCRON3ADMIN1GETCOMMENTS">phpcron_admin/getComments</a></dt>

              <dd>
                <dl>
                  <dt>A.45.1. <a href="#AEN1708">NAME</a></dt>

                  <dt>A.45.2. <a href="#AEN1713">SYNOPSIS</a></dt>

                  <dt>A.45.3. <a href="#AEN1717">FUNCTION</a></dt>

                  <dt>A.45.4. <a href="#AEN1720">INPUTS</a></dt>

                  <dt>A.45.5. <a href="#AEN1724">RESULT</a></dt>

                  <dt>A.45.6. <a href="#AEN1727">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.46. <a href=
              "#ANCHORPHPCRON3ADMIN1GETFORMELEMENT">phpcron_admin/getFormElement</a></dt>

              <dd>
                <dl>
                  <dt>A.46.1. <a href="#AEN1736">NAME</a></dt>

                  <dt>A.46.2. <a href="#AEN1741">SYNOPSIS</a></dt>

                  <dt>A.46.3. <a href="#AEN1745">FUNCTION</a></dt>

                  <dt>A.46.4. <a href="#AEN1748">INPUTS</a></dt>

                  <dt>A.46.5. <a href="#AEN1752">RESULT</a></dt>

                  <dt>A.46.6. <a href="#AEN1755">NOTES</a></dt>

                  <dt>A.46.7. <a href="#AEN1760">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.47. <a href=
              "#ANCHORPHPCRON3ADMIN14UC3CONTENTS3ARRAY">phpcron_admin/$uc_contents_array</a></dt>

              <dd>
                <dl>
                  <dt>A.47.1. <a href="#AEN1769">NAME</a></dt>

                  <dt>A.47.2. <a href=
                  "#AEN1773">DESCRIPTION</a></dt>

                  <dt>A.47.3. <a href="#AEN1776">NOTES</a></dt>
                </dl>
              </dd>

              <dt>A.48. <a href=
              "#ANCHORPHPCRON3ADMIN14ASSIGNMENT3INFO">phpcron_admin/$assignment_info</a></dt>

              <dd>
                <dl>
                  <dt>A.48.1. <a href="#AEN1788">NAME</a></dt>

                  <dt>A.48.2. <a href=
                  "#AEN1792">DESCRIPTION</a></dt>

                  <dt>A.48.3. <a href="#AEN1798">NOTES</a></dt>
                </dl>
              </dd>

              <dt>A.49. <a href=
              "#ANCHORPHPCRON3ADMIN1PARSEUSERCONFIG">phpcron_admin/parseUserConfig</a></dt>

              <dd>
                <dl>
                  <dt>A.49.1. <a href="#AEN1809">NAME</a></dt>

                  <dt>A.49.2. <a href="#AEN1814">SYNOPSIS</a></dt>

                  <dt>A.49.3. <a href="#AEN1818">FUNCTION</a></dt>

                  <dt>A.49.4. <a href="#AEN1821">INPUTS</a></dt>

                  <dt>A.49.5. <a href="#AEN1824">RESULT</a></dt>

                  <dt>A.49.6. <a href="#AEN1827">NOTES</a></dt>

                  <dt>A.49.7. <a href="#AEN1832">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.50. <a href=
              "#ANCHORPHPCRON3ADMIN1REBUILDUSERCFG">phpcron_admin/rebuildUserCfg</a></dt>

              <dd>
                <dl>
                  <dt>A.50.1. <a href="#AEN1844">NAME</a></dt>

                  <dt>A.50.2. <a href="#AEN1849">SYNOPSIS</a></dt>

                  <dt>A.50.3. <a href="#AEN1853">FUNCTION</a></dt>

                  <dt>A.50.4. <a href="#AEN1856">INPUTS</a></dt>

                  <dt>A.50.5. <a href="#AEN1859">RESULT</a></dt>

                  <dt>A.50.6. <a href="#AEN1862">NOTES</a></dt>

                  <dt>A.50.7. <a href="#AEN1867">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.51. <a href=
              "#ANCHORPHPCRON3ADMIN1STRIPPHP">phpcron_admin/stripPhp</a></dt>

              <dd>
                <dl>
                  <dt>A.51.1. <a href="#AEN1876">NAME</a></dt>

                  <dt>A.51.2. <a href="#AEN1881">SYNOPSIS</a></dt>

                  <dt>A.51.3. <a href="#AEN1885">FUNCTION</a></dt>

                  <dt>A.51.4. <a href="#AEN1888">INPUTS</a></dt>

                  <dt>A.51.5. <a href="#AEN1891">RESULT</a></dt>

                  <dt>A.51.6. <a href="#AEN1894">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.52. <a href=
              "#ANCHORPHPCRON3ADMIN1TABTOPCOMMENTS">phpcron_admin/tabTopComments</a></dt>

              <dd>
                <dl>
                  <dt>A.52.1. <a href="#AEN1903">NAME</a></dt>

                  <dt>A.52.2. <a href="#AEN1908">SYNOPSIS</a></dt>

                  <dt>A.52.3. <a href="#AEN1912">FUNCTION</a></dt>

                  <dt>A.52.4. <a href="#AEN1915">INPUTS</a></dt>

                  <dt>A.52.5. <a href="#AEN1919">RESULT</a></dt>

                  <dt>A.52.6. <a href="#AEN1922">NOTES</a></dt>

                  <dt>A.52.7. <a href="#AEN1927">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.53. <a href=
              "#ANCHORPHPCRON1PHPCRON3COMMONLIB3README">PHPCRON/phpcron_commonlib_readme</a></dt>

              <dd>
                <dl>
                  <dt>A.53.1. <a href="#AEN1938">NAME</a></dt>

                  <dt>A.53.2. <a href=
                  "#AEN1943">DESCRIPTION</a></dt>

                  <dt>A.53.3. <a href="#AEN1948">AUTHOR</a></dt>

                  <dt>A.53.4. <a href="#AEN1952">COPYRIGHT</a></dt>

                  <dt>A.53.5. <a href="#AEN1956">BUGS</a></dt>

                  <dt>A.53.6. <a href="#AEN1961">NOTES</a></dt>
                </dl>
              </dd>

              <dt>A.54. <a href=
              "#ANCHORPHPCRON3COMMONLIB14LICENSE">phpcron_commonlib/$license</a></dt>

              <dd>
                <dl>
                  <dt>A.54.1. <a href="#AEN1976">NAME</a></dt>

                  <dt>A.54.2. <a href=
                  "#AEN1980">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.55. <a href=
              "#ANCHORPHPCRON3COMMONLIB14PHPCRON3FILE">phpcron_commonlib/$phpcron_file</a></dt>

              <dd>
                <dl>
                  <dt>A.55.1. <a href="#AEN1988">NAME</a></dt>

                  <dt>A.55.2. <a href=
                  "#AEN1992">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.56. <a href=
              "#ANCHORPHPCRON3COMMONLIB14PHPCRON3PSINFO3FILE">phpcron_commonlib/$phpcron_psinfo_file</a></dt>

              <dd>
                <dl>
                  <dt>A.56.1. <a href="#AEN2001">NAME</a></dt>

                  <dt>A.56.2. <a href=
                  "#AEN2005">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.57. <a href=
              "#ANCHORPHPCRON3COMMONLIB14PHPCRON3VENABLED3FILE">phpcron_commonlib/$phpcron_venabled_file</a></dt>

              <dd>
                <dl>
                  <dt>A.57.1. <a href="#AEN2014">NAME</a></dt>

                  <dt>A.57.2. <a href=
                  "#AEN2018">DESCRIPTION</a></dt>
                </dl>
              </dd>

              <dt>A.58. <a href=
              "#ANCHORPHPCRON3COMMONLIB14PHPCRON3OFF">phpcron_commonlib/$phpcron_off</a></dt>

              <dd>
                <dl>
                  <dt>A.58.1. <a href="#AEN2027">NAME</a></dt>

                  <dt>A.58.2. <a href="#AEN2032">NAME</a></dt>

                  <dt>A.58.3. <a href="#AEN2036">FUNCTION</a></dt>
                </dl>
              </dd>

              <dt>A.59. <a href=
              "#ANCHORPHPCRON3COMMONLIB14VIEWED3BY3BROWSER">phpcron_commonlib/$viewed_by_browser</a></dt>

              <dd>
                <dl>
                  <dt>A.59.1. <a href="#AEN2044">NAME</a></dt>

                  <dt>A.59.2. <a href="#AEN2048">FUNCTION</a></dt>

                  <dt>A.59.3. <a href="#AEN2051">BUGS</a></dt>

                  <dt>A.59.4. <a href="#AEN2056">NOTES</a></dt>

                  <dt>A.59.5. <a href="#AEN2064">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.60. <a href=
              "#ANCHORPHPCRON3COMMONLIB1CHECKPHPVERSION">phpcron_commonlib/checkPhpVersion</a></dt>

              <dd>
                <dl>
                  <dt>A.60.1. <a href="#AEN2072">NAME</a></dt>

                  <dt>A.60.2. <a href="#AEN2077">SYNOPSIS</a></dt>

                  <dt>A.60.3. <a href="#AEN2081">FUNCTION</a></dt>

                  <dt>A.60.4. <a href="#AEN2084">INPUTS</a></dt>

                  <dt>A.60.5. <a href="#AEN2087">RESULT</a></dt>

                  <dt>A.60.6. <a href="#AEN2090">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.61. <a href=
              "#ANCHORPHPCRON3COMMONLIB1SENDOUTPUT">phpcron_commonlib/sendOutput</a></dt>

              <dd>
                <dl>
                  <dt>A.61.1. <a href="#AEN2100">NAME</a></dt>

                  <dt>A.61.2. <a href="#AEN2105">SYNOPSIS</a></dt>

                  <dt>A.61.3. <a href="#AEN2109">FUNCTION</a></dt>

                  <dt>A.61.4. <a href="#AEN2113">INPUTS</a></dt>

                  <dt>A.61.5. <a href="#AEN2116">NOTES</a></dt>

                  <dt>A.61.6. <a href="#AEN2120">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.62. <a href=
              "#ANCHORPHPCRON3COMMONLIB1GETPROCESSINFO78">phpcron_commonlib/getProcessInfo()</a></dt>

              <dd>
                <dl>
                  <dt>A.62.1. <a href="#AEN2130">NAME</a></dt>

                  <dt>A.62.2. <a href="#AEN2135">SYNOPSIS</a></dt>

                  <dt>A.62.3. <a href="#AEN2138">FUNCTION</a></dt>

                  <dt>A.62.4. <a href="#AEN2141">RESULT</a></dt>

                  <dt>A.62.5. <a href="#AEN2144">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.63. <a href=
              "#ANCHORPHPCRON3COMMONLIBP1ISPATHBAD">phpcron_commonlibp/isPathbad</a></dt>

              <dd>
                <dl>
                  <dt>A.63.1. <a href="#AEN2152">NAME</a></dt>

                  <dt>A.63.2. <a href="#AEN2157">SYNOPSIS</a></dt>

                  <dt>A.63.3. <a href="#AEN2161">FUNCTION</a></dt>

                  <dt>A.63.4. <a href="#AEN2164">INPUTS</a></dt>

                  <dt>A.63.5. <a href="#AEN2167">RESULT</a></dt>

                  <dt>A.63.6. <a href="#AEN2171">EXAMPLE</a></dt>

                  <dt>A.63.7. <a href="#AEN2174">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.64. <a href=
              "#ANCHORPHPCRON3COMMONLIB1FORMATPATH">phpcron_commonlib/formatPath</a></dt>

              <dd>
                <dl>
                  <dt>A.64.1. <a href="#AEN2186">NAME</a></dt>

                  <dt>A.64.2. <a href="#AEN2191">SYNOPSIS</a></dt>

                  <dt>A.64.3. <a href="#AEN2195">FUNCTION</a></dt>

                  <dt>A.64.4. <a href="#AEN2198">PURPOSE</a></dt>

                  <dt>A.64.5. <a href="#AEN2201">INPUTS</a></dt>

                  <dt>A.64.6. <a href="#AEN2204">RESULT</a></dt>

                  <dt>A.64.7. <a href="#AEN2207">NOTES</a></dt>

                  <dt>A.64.8. <a href="#AEN2213">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.65. <a href=
              "#ANCHORPHPCRON3COMMONLIB1IS3EMAIL">phpcron_commonlib/is_email</a></dt>

              <dd>
                <dl>
                  <dt>A.65.1. <a href="#AEN2224">NAME</a></dt>

                  <dt>A.65.2. <a href="#AEN2229">SYNOPSIS</a></dt>

                  <dt>A.65.3. <a href="#AEN2233">FUNCTION</a></dt>

                  <dt>A.65.4. <a href="#AEN2236">INPUTS</a></dt>

                  <dt>A.65.5. <a href="#AEN2239">RESULT</a></dt>

                  <dt>A.65.6. <a href="#AEN2242">BUGS</a></dt>

                  <dt>A.65.7. <a href="#AEN2246">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.66. <a href=
              "#ANCHORPHPCRON3COMMONLIB1APPENDTOFILE">phpcron_commonlib/appendToFile</a></dt>

              <dd>
                <dl>
                  <dt>A.66.1. <a href="#AEN2255">NAME</a></dt>

                  <dt>A.66.2. <a href="#AEN2260">SYNOPSIS</a></dt>

                  <dt>A.66.3. <a href="#AEN2264">FUNCTION</a></dt>

                  <dt>A.66.4. <a href="#AEN2267">INPUTS</a></dt>

                  <dt>A.66.5. <a href="#AEN2270">RESULT</a></dt>

                  <dt>A.66.6. <a href="#AEN2273">EXAMPLE</a></dt>

                  <dt>A.66.7. <a href="#AEN2278">NOTES</a></dt>

                  <dt>A.66.8. <a href="#AEN2284">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.67. <a href=
              "#ANCHORPHPCRON3COMMONLIB1SAVEFILE">phpcron_commonlib/saveFile</a></dt>

              <dd>
                <dl>
                  <dt>A.67.1. <a href="#AEN2295">NAME</a></dt>

                  <dt>A.67.2. <a href="#AEN2300">SYNOPSIS</a></dt>

                  <dt>A.67.3. <a href="#AEN2304">FUNCTION</a></dt>

                  <dt>A.67.4. <a href="#AEN2307">INPUTS</a></dt>

                  <dt>A.67.5. <a href="#AEN2310">RESULT</a></dt>

                  <dt>A.67.6. <a href="#AEN2313">EXAMPLE</a></dt>

                  <dt>A.67.7. <a href="#AEN2321">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.68. <a href=
              "#ANCHORPHPCRON3COMMONLIB1DELETEFILE">phpcron_commonlib/deleteFile</a></dt>

              <dd>
                <dl>
                  <dt>A.68.1. <a href="#AEN2332">NAME</a></dt>

                  <dt>A.68.2. <a href="#AEN2337">SYNOPSIS</a></dt>

                  <dt>A.68.3. <a href="#AEN2341">FUNCTION</a></dt>

                  <dt>A.68.4. <a href="#AEN2344">INPUTS</a></dt>

                  <dt>A.68.5. <a href="#AEN2347">RESULT</a></dt>

                  <dt>A.68.6. <a href="#AEN2350">NOTES</a></dt>

                  <dt>A.68.7. <a href="#AEN2354">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.69. <a href=
              "#ANCHORPHPCRON3COMMONLIB1ISINTEGER">phpcron_commonlib/isInteger</a></dt>

              <dd>
                <dl>
                  <dt>A.69.1. <a href="#AEN2364">NAME</a></dt>

                  <dt>A.69.2. <a href="#AEN2369">SYNOPSIS</a></dt>

                  <dt>A.69.3. <a href="#AEN2373">FUNCTION</a></dt>

                  <dt>A.69.4. <a href="#AEN2376">INPUTS</a></dt>

                  <dt>A.69.5. <a href="#AEN2379">RESULT</a></dt>

                  <dt>A.69.6. <a href="#AEN2382">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.70. <a href=
              "#ANCHORPHPCRON3COMMONLIB1ISINTEGERINRANGE">phpcron_commonlib/isIntegerInRange</a></dt>

              <dd>
                <dl>
                  <dt>A.70.1. <a href="#AEN2391">NAME</a></dt>

                  <dt>A.70.2. <a href="#AEN2396">SYNOPSIS</a></dt>

                  <dt>A.70.3. <a href="#AEN2400">FUNCTION</a></dt>

                  <dt>A.70.4. <a href="#AEN2403">INPUTS</a></dt>

                  <dt>A.70.5. <a href="#AEN2406">RESULT</a></dt>

                  <dt>A.70.6. <a href="#AEN2409">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.71. <a href=
              "#ANCHORPHPCRON3COMMONLIB1MAILATTACHMENT">phpcron_commonlib/mailAttachment</a></dt>

              <dd>
                <dl>
                  <dt>A.71.1. <a href="#AEN2419">NAME</a></dt>

                  <dt>A.71.2. <a href="#AEN2424">SYNOPSIS</a></dt>

                  <dt>A.71.3. <a href="#AEN2428">FUNCTION</a></dt>

                  <dt>A.71.4. <a href="#AEN2431">INPUTS</a></dt>

                  <dt>A.71.5. <a href="#AEN2434">RESULT</a></dt>

                  <dt>A.71.6. <a href="#AEN2437">EXAMPLE</a></dt>

                  <dt>A.71.7. <a href="#AEN2441">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.72. <a href=
              "#ANCHORPHPCRON3COMMONLIB1ISOTHERPHPCROND">phpcron_commonlib/isOtherPhpcrond</a></dt>

              <dd>
                <dl>
                  <dt>A.72.1. <a href="#AEN2450">NAME</a></dt>

                  <dt>A.72.2. <a href="#AEN2455">SYNOPSIS</a></dt>

                  <dt>A.72.3. <a href="#AEN2459">FUNCTION</a></dt>

                  <dt>A.72.4. <a href="#AEN2462">PURPOSE</a></dt>

                  <dt>A.72.5. <a href="#AEN2465">RESULT</a></dt>

                  <dt>A.72.6. <a href="#AEN2468">BUGS</a></dt>

                  <dt>A.72.7. <a href="#AEN2472">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.73. <a href=
              "#ANCHORPHPCRON3COMMONLIB1STOPOTHERPHPCRON">phpcron_commonlib/stopOtherPhpcron</a></dt>

              <dd>
                <dl>
                  <dt>A.73.1. <a href="#AEN2485">NAME</a></dt>

                  <dt>A.73.2. <a href="#AEN2490">SYNOPSIS</a></dt>

                  <dt>A.73.3. <a href="#AEN2494">FUNCTION</a></dt>

                  <dt>A.73.4. <a href="#AEN2498">RESULT</a></dt>

                  <dt>A.73.5. <a href="#AEN2501">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.74. <a href=
              "#ANCHORPHPCRON3COMMONLIB1PARSECRONTIMEPARAMS">phpcron_commonlib/parseCronTimeParams</a></dt>

              <dd>
                <dl>
                  <dt>A.74.1. <a href="#AEN2513">NAME</a></dt>

                  <dt>A.74.2. <a href="#AEN2518">SYNOPSIS</a></dt>

                  <dt>A.74.3. <a href="#AEN2522">FUNCTION</a></dt>

                  <dt>A.74.4. <a href="#AEN2525">RESULT</a></dt>

                  <dt>A.74.5. <a href="#AEN2528">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.75. <a href=
              "#ANCHORPHPCRON3COMMONLIB1ISCRONTIMEPARAMSBAD">phpcron_commonlib/isCronTimeParamsBad</a></dt>

              <dd>
                <dl>
                  <dt>A.75.1. <a href="#AEN2538">SYNOPSIS</a></dt>

                  <dt>A.75.2. <a href="#AEN2542">FUNCTION</a></dt>

                  <dt>A.75.3. <a href="#AEN2545">INPUTS</a></dt>

                  <dt>A.75.4. <a href="#AEN2548">RESULT</a></dt>

                  <dt>A.75.5. <a href="#AEN2551">SOURCE</a></dt>
                </dl>
              </dd>

              <dt>A.76. <a href=
              "#ANCHORPHPCRON3COMMANDLIB1DOWNLOADFILE">phpcron_commandlib/downloadFile</a></dt>

              <dd>
                <dl>
                  <dt>A.76.1. <a href="#AEN2563">NAME</a></dt>

                  <dt>A.76.2. <a href="#AEN2568">SYNOPSIS</a></dt>

                  <dt>A.76.3. <a href="#AEN2572">FUNCTION</a></dt>

                  <dt>A.76.4. <a href="#AEN2575">INPUTS</a></dt>

                  <dt>A.76.5. <a href="#AEN2578">RESULT</a></dt>

                  <dt>A.76.6. <a href="#AEN2581">EXAMPLE</a></dt>

                  <dt>A.76.7. <a href="#AEN2585">SOURCE</a></dt>
                </dl>
              </dd>
            </dl>
          </dd>
        </dl>
      </div>

      <div class="SECT1">
        <h1 class="SECT1"><a name="INTRO">1. Introduction</a></h1>

        <div class="SECT2">
          <hr>

          <h2 class="SECT2"><a name="OVERVIEW">1.1. What is
          Phpcron?</a></h2>

          <p><span class="APPLICATION">Phpcron</span> is a <a href=
          "http://www.php.net" target="_top">PHP</a> command line
          program which allows you to execute programs and system
          commands at certain scheduled times. Phpcron operates in
          a similar fashion to Unix's Crond daemon, parsing a
          configuration file called phpcrontab.conf every minute
          and determining whether any programs are schedule to run.
          If so, Phpcron executes the indicated programs. Phpcron
          allows a host of options, including logging and email
          features.</p>

          <p>The Phpcron package also includes <a href=
          "#PHPCRONADMIN">Phpcron Admin</a> (phpcron_admin.php)
          which provides a browser based interface to Phpcron,
          allowing a user to remotely schedule programs and change
          Phpcron options in a user friendly way without having to
          deal with ssh, telnet, or arcane text editors.</p>
        </div>

        <div class="SECT2">
          <hr>

          <h2 class="SECT2"><a name="WHYPHPCRON">1.2. Why Use
          Phpcron instead of just Unix's Crond?</a></h2>

          <p>The primary advantage of using Phpcron is the <a href=
          "#PHPCRONADMIN">graphical interface</a> provided by
          Phpcron Admin and the additional logging and email
          features provided by Phpcron. With Phpcron you can turn
          email notification of command execution on or off,
          logging on or off, and access all the configuration
          options under Phpcron Admin. In addition, Phpcron can be
          used both on Unix and MS Windows' systems. Phpcron and
          Phpcron Admin provide an ideal solution for web hosts who
          wish to provide a graphical interface with the scheduling
          power of Crond and the added feature enhancements
          provided by Phpcron.</p>
        </div>

        <div class="SECT2">
          <hr>

          <h2 class="SECT2"><a name="COPYRIGHT">1.3. Copyright
          Information</a></h2>

          <p><span class="TRADEMARK">&#13; This document is
          copyrighted</span> &copy; 2001 <a href=
          "http://www.gemini1consulting.com/dcd/" target="_top">David
          C. Druffner</a> and is distributed under the terms of the
          license, stated below.</p>

          <p>This manual may be reproduced and distributed in whole
          or in part, in any medium physical or electronic, as long
          as this copyright notice is retained on all copies.
          Commercial redistribution is allowed and encouraged;
          however, this copyright notice must appear prominently in
          the work and this author would like to be notified at the
          following email address: <tt class="EMAIL">&lt;<a href=
          "mailto:hide@address.com">hide@address.com</a>&gt;</tt>
          prior to any such commercial distributions.</p>

          <p>All translations, derivative works, or aggregate works
          incorporating this manual must be covered under this
          copyright notice. That is, you may not produce a
          derivative work from this manual and impose additional
          restrictions on its distribution. Exceptions to these
          rules may be granted under certain conditions; please
          contact the <a href="mailto:hide@address.com"
          target="_top">author</a>.</p>

          <p><em>Modifications:</em> Any significant modifications
          (anything other than the correction of typos) to this
          document must be identified on the title page in the
          revision section of this document with the name and
          contact information of each author appearing next to each
          revision.</p>

          <p>If you have any questions, please contact <a href=
          "mailto:hide@address.com" target="_top">David
          Druffner</a></p>
        </div>

        <div class="SECT2">
          <hr>

          <h2 class="SECT2"><a name="DISCLAIMER">1.4.
          Disclaimer</a></h2>

          <p>NO LIABILITY FOR THE CONTENTS OF THIS DOCUMENT CAN BE
          ACCEPTED. USE THE CONCEPTS, EXAMPLES AND OTHER CONTENT AT
          YOUR OWN RISK. THERE MAY BE ERRORS AND INACCURACIES, THAT
          MAY OF COURSE BE DAMAGING TO YOUR SYSTEM. PROCEED WITH
          CAUTION, AND ALTHOUGH THIS IS HIGHLY UNLIKELY, THE
          AUTHOR(S) DO NOT TAKE ANY RESPONSIBILITY FOR THAT.</p>

          <p>All copyrights are held by their by their respective
          owners, unless specifically noted otherwise. Use of a
          term in this document should not be regarded as violating
          any trademark or service mark.</p>

          <p>Naming of particular products or brands should not be
          seen as endorsements.</p>
        </div>

        <div class="SECT2">
          <hr>

          <h2 class="SECT2"><a name="SOFTWARELICENSE">1.5. Phpcron
          License</a></h2>

          <p>Phpcron, Phpcron Admin,and associated scripts, carry
          the following license which is GPL compatible and modeled
          on the modified BSD license (for GNU descriptions of
          various license types see the <a href=
          "http://www.gnu.org/licenses/license-list.html" target=
          "_top">GNU License Page</a>):</p>

          <p>Redistribution and use in source and binary forms,
          with or without modification, are permitted provided that
          the following conditions are met:</p>

          <p>1.Redistributions of source code must retain the above
          copyright notice, this list of conditions and the
          following disclaimer.</p>

          <p>2.Redistributions in binary form must reproduce the
          above copyright notice, this list of conditions and the
          following disclaimer in the documentation and/or other
          materials provided with the distribution.</p>

          <p>3.The name of the author may not be used to endorse or
          promote products derived from this software without
          specific prior written permission.</p>

          <p>&#13;THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
          AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
          LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
          FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
          EVENT SHALL THE AUTHOR, ANY DISTRIBUTOR, OR ANY DOWNLOAD
          HOSTING COMPANY BE LIABLE FOR ANY DIRECT, INDIRECT,
          INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
          (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
          GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
          BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
          OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
          TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
          WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
          THE POSSIBILITY OF SUCH DAMAGE.</p>
        </div>

        <div class="SECT2">
          <hr>

          <h2 class="SECT2"><a name="MANUALVERSION">1.6. Manual
          Version</a></h2>

          <p>This document is version 0.5.1.0 The document version
          number is in S.S.M.M format. S.S. will always match the
          version of the software and M.M. will indicate the
          release of the manual relating to that version. The
          latest version of this document, which will be made
          available in a variety of formats, including plain text,
          HTML (tarred and zipped), Single Html,Adobe Acrobat PDF,
          and the SGML source, can be found at the <a href=
          "http://www.gemini1consulting.com/tekhelp/phpcron/docs/"
          target="_top">Phpcron Document Page</a>.</p>
        </div>

        <div class="SECT2">
          <hr>

          <h2 class="SECT2"><a name="CREDITS">1.7. Credits</a></h2>

          <p>I have the pleasure of acknowledging:</p>

          <ul>
            <li>
              <p><em><a href="http://www.gemini1consulting.com"
              target="_top">Gemini 1 Consulting, LLC</a></em> for
              support during the development of this progam and for
              providing the resources to host the <tt class=
              "FUNCTION">Phpcron</tt>'s documentation page.Gemini 1
              Consulting, LLC is the developer of <span class=
              "TRADEMARK">GemTrend</span>&trade;, a Windows based
              Building Controls Software application,and other
              innovative software products.</p>
            </li>

            <li>
              <p><em><a href="http://www.sourceforge.net" target=
              "_top">SourceForge</a></em>, the host of <tt class=
              "FUNCTION">Phpcron</tt>'s download and development
              page.</p>
            </li>
          </ul>
        </div>

        <div class="SECT2">
          <hr>

          <h2 class="SECT2"><a name="FEEDBACK">1.8.
          Feedback</a></h2>

          <p>Feedback is most certainly welcome for this document.
          Without your submissions and input, this document
          wouldn't exist. An <a href=
          "http://www.gemini1consulting.com/tekhelp/online_manuals/phpcron/html/"
           target="_top">online manual</a> is available for you to
          submit comments for all to read and for consideration for
          incorporation into the next version of this manual.</p>
	  <a href="#questionaire">At the minimum, please fill out the Feedback Form!</a>
        </div>

        <div class="SECT2">
          <hr>

          <h2 class="SECT2"><a name="TRANSLATIONS">1.9.
          Translations</a></h2>

          <p>Translations of this document are welcome. Please use
          the SGML Source, or failing that, the HTML or text
          version, all of which are found at the <a href=
          "http://www.gemini1consulting.com/tekhelp/phpcron/docs/"
          target="_top">document page</a>. Translations can be
          emailed to <a href="mailto:hide@address.com"
          target="_top">David Druffner</a>.</p>
        </div>
      </div>

      <div class="SECT1">
        <hr>

        <h1 class="SECT1"><a name="DOWNLOAD">2. Download
        Phpcron</a></h1>

        <p>The latest version of <span class=
        "APPLICATION">Phpcron</span> can be found on the
        Sourceforge <a href=
        "http://sourceforge.net/projects/phpcron/" target=
        "_top">Phpcron Project Page</a> and at <a href=
        "http://www.gemini1consulting.com/tekhelp/" target=
        "_top">Gemini 1 Consulting, LLC</a>. When the package is
        uncompressed it should contain the following files:</p>

        <ol type="1">
          <li>
            <p><tt class="FILENAME">phpcron.php</tt> <em>(the
            primary Phpcron script)</em></p>
          </li>

          <li>
            <p><tt class="FILENAME">phpcron_admin.php</tt> <em>(the
            Phpcron Admin script</em></p>
          </li>

          <li>
            <p><tt class="FILENAME">phpcron_commonlib.php</tt>
            <em>(contains common library functions)</em></p>
          </li>

          <li>
            <p><tt class="FILENAME">phpcron_userconfig.php</tt>
            <em>(user configuration file, optional only if you
            don't use Phpcron Admin)</em></p>
          </li>

          <li>
            <p><tt class="FILENAME">phpcrontab.conf</tt>
            <em>(sample file which holds scheduling configuration,
            format is similar to Unix crontab)</em></p>
          </li>

          <li>
            <p><tt class="FILENAME">phpcrond</tt> <em>(Linux bash
            shell script for invoking Phpcron as a daemon)</em></p>
          </li>

          <li>
            <p><tt class="FILENAME">phpcron</tt> <em>(Linux bash
            shell script for invoking phpcron.php)</em></p>
          </li>

          <li>
            <p><tt class="FILENAME">phpcron_virtuald</tt>
            <em>(Linux bash shell script for invoking Phpcron as a
            Virtual Daemon - use this on the Unix crontab)</em></p>
          </li>

          <li>
            <p><tt class="FILENAME">phpcron_test.sh</tt> <em>(a
            test shell script to put on phpcrontab.conf to test
            execution of Phpcron)</em></p>
          </li>

          <li>
            <p><tt class="FILENAME">phpcron_manual_big.html</tt>
            <em>(this Phpcron manual in html)</em></p>
          </li>

          <li>
            <p><tt class="FILENAME">phpcron_manual_big.txt</tt>
            <em>(this Phpcron manual in text)</em></p>
          </li>

          <li>
            <p><tt class="FILENAME">LICENSE.txt</tt> <em>(license,
            info)</em></p>
          </li>
        </ol>
      </div>

      <div class="SECT1">
        <hr>

        <h1 class="SECT1"><a name="SYSTEMREQUIREMENTS">3. System
        Requirements</a></h1>

        <p></p>

        <ol type="1">
          <li>
            <p><em><a href="http://www.php.net" target="_top">PHP
            4</a></em> (at least version 4.0.1, it was tested on
            version 4.0.3pl1 ) installed as a <a href=
            "http://www.php.net/manual/en/install.commandline.php"
            target="_top">CGI program</a> which provides a command
            line interpreter. The main engine behind Phpcron and
            Phpcron Admin is <tt class="FILENAME">phpcron.php</tt>,
            a script run at the command line.</p>
          </li>

          <li>
            <p><em>Operating System</em>. While the emphasis in
            development of Phpcron has been on Unix systems, it
            will run on Microsoft Windows platforms. However,
            Phpcron Admin will not be able to start the Phpcron
            Daemon,and the Virtual Daemon is designed to work with
            Unix's Crond.</p>
          </li>

          <li>
            <p>The web server must allow <em>system calls</em>.If
            in safe mode, it won't allow this unless the safe mode
            directory option has been enabled, and then only for
            system calls to commands that are in the safe mode
            directory. See the <a href=
            "http://www.php.net/manual/en/features.safe-mode.php"
            target="_top">safemode</a> section of the <a href=
            "http://www.php.net/manual/en/" target="_top">PHP
            Manual</a> for details.</p>
          </li>

          <li>
            <p>Read/write/execute permissions for the user of the
            server process ( for Apache, usually "nobody", "www",
            "apache" or "httpd" - do a <b class="COMMAND">ps</b><tt
            class="USERINPUT"><b>-ef | grep httpd</b></tt> to find
            out) to the directory containing Phpcron,read
            permissions to all files, write permissions to
            phpcrontab.conf. See <a href=
            "#INSTALLATION">Installation</a> for details. If you
            are operating on a remote server you may need telnet
            access to do this, although some ftp clients allow you
            to set permissions.</p>
          </li>
        </ol>
        <br>
        <br>
      </div>

      <div class="SECT1">
        <hr>

        <h1 class="SECT1"><a name="INSTALLATION">4.
        Installation</a></h1>

        <p></p>

        <ol type="1">
          <li>
            <p>Create a new subdirectory in your web server's
            document root (e.g., phpcron).</p>
          </li>

          <li>
            <p>Copy the tar file to the new subdirectory and
            uncompress it.</p>
          </li>

          <li>
            <p>You can optionally place <tt class=
            "FILENAME">phpcron.php</tt> and <tt class=
            "FILENAME">phpcron_commonlib.php</tt> in a different
            directory than <tt class=
            "FILENAME">phpcron_admin.php</tt>. For example, you may
            wish to place those files in your bin directory outside
            of the web root (so that it is within your path and you
            can execute easily from the command line). If you do,
            you must edit <tt class=
            "FILENAME">phpcron_admin.php</tt>, find the definition
            of the <tt class="VARNAME">$phpcron_directory</tt>
            variable in the beginning of the script, and change it
            to equal a string which contains the path to the
            directory containing <tt class=
            "FILENAME">phpcron.php</tt>. The variable by default is
            set to the current directory.</p>
          </li>

          <li>
            <p>Edit <tt class=
            "FILENAME">phpcron_commonlib.php</tt>, find the
            definition of the <tt class="VARNAME">$php_path</tt>
            variable in the beginning of the script, and change it
            to equal a string which contains the path to the
            directory containing the "php" cgi executable. This
            will often be "/usr/local/bin" or "/usr/bin". Do an "ls
            /usr/local/bin/php" or "ls /usr/bin/php" to find out.
            If you still can't find it, check your $PATH
            environment variable: <b class="COMMAND">"echo
            $PATH"</b> and look in all the directories in your path
            to locate the "php" executable.</p>
          </li>

          <li>
            <p>Edit phpcron_virtuald, and change the definition of
            the <tt class="VARNAME">PHPCRON_DIRECTORY</tt>to equal
            the path to the directory which holds <tt class=
            "FILENAME">phpcron.php</tt>. In addition, change the
            PHP_PATH variable to equal a string which contains the
            path to the directory containing the "php" cgi
            executable (see above).</p>

            <div class="NOTE">
              <table class="NOTE" width="90%" border="0">
                <tr>
                  <td width="25" align="CENTER" valign="TOP"><img
                  src="../images/note.gif" hspace="5" alt=
                  "Note"></td>

                  <td align="LEFT" valign="TOP">
                    <p>If you are in a Windows environment, path
                    names should be written with a forward (/)
                    slash (<em>NOT</em> a backslash <em>or</em> an
                    escaped backslash (\\) ).</p>
                  </td>
                </tr>
              </table>
            </div>
            <br>
            <br>
          </li>

          <li>
            <p>Make sure the web server process has
            read/write/execute permissions to the installation
            directory, to the web server document root directory,
            <tt class="FILENAME">phpcrontab.conf</tt>, and <tt
            class="FILENAME">phpcron_userconfig.php</tt>. (Apache's
            process is usually owned by "www", "nobody", "apache"
            or "httpd").</p>
          </li>

          <li>
            <p>Make the installation directory password protected,
            preferably with ssl login only and allow only web
            and/or system administrators to access (see web server
            documentation). This is crucial as Phpcron allows a
            user to execute system programs!</p>
          </li>

          <li>
            <p>Point your browser to <tt class=
            "FILENAME">phpcron_admin.php</tt>. You probably will
            get some errors indicating that it cannot read your
            output file, log file and/or your phpcrontab.conf file.
            Scroll down until you see the options and edit the text
            boxes for <tt class="VARNAME">$phpcrontab_filename</tt>
            and <tt class="VARNAME">$log_result_file</tt> to point
            to your main installation directory. You will also want
            to change the email address, and any other appropriate
            options. Then click on the Save button. You may
            continue to get errors regarding not being able to read
            the output file until you start Phpcron since that file
            isn't created until Phpcron is run at least once.</p>

            <div class="NOTE">
              <table class="NOTE" width="90%" border="0">
                <tr>
                  <td width="25" align="CENTER" valign="TOP"><img
                  src="../images/note.gif" hspace="5" alt=
                  "Note"></td>

                  <td align="LEFT" valign="TOP">
                    <p>One option you may consider for security
                    reasons is to place your <tt class=
                    "FILENAME">phpcrontab.conf</tt> file outside of
                    your web root. If you do so you will need to
                    change the path of the phpcrontab.conf to point
                    to that location.</p>
                  </td>
                </tr>
              </table>
            </div>
            <br>
            <br>

            <p>For reference, here is a screen shot showing the
            available options:</p>

            <p></p>

            <div class="INFORMALEXAMPLE">
              <a name="AEN241"></a>

              <p><img src="../images/cp_options.gif" align=
              "CENTER"></p>
            </div>
            <br>
            <br>
          </li>

          <li>
            <p>If you are on a Unix/Linux system, and want to
            utilize the <a href="#VIRTUALDAEMON">Virtual Daemon</a>
            you need to edit your Unix crontab file. Go to the
            command prompt (if you are installing on a remote
            system you will need to telnet or ssh to the server)
            and type <b class="COMMAND">crontab -e</b>. If your
            server gives you access to crontab, that should put you
            into <span class="APPLICATION">vi</span> (or some other
            text editor) showing your Crontab file. Insert the
            following line (in Vi you insert by typing the escape
            key, then the letter "i", then the text to be
            inserted):</p>

            <div class="INFORMALEXAMPLE">
              <a name="AEN249"></a>

              <table border="0" bgcolor="#E0E0E0" width="90%">
                <tr>
                  <td>
<pre class="PROGRAMLISTING">
<font color=
"#000000">* * * * * . [full path to phpcron directory]/phpcron_virtuald</font>
</pre>
                  </td>
                </tr>
              </table>
            </div>
            Notice the filename is preceeded by a dot and a space.
            The dot is the bash shell execute command. Many system
            admins (especially on virtual hosts) will require both
            the dot command, as well as the full path to the shell
            command (even if you would expect it already to be in
            your path). Now save and quit (in Vi this would be the
            escape key, then "ZZ"). This will cause Crond to
            execute <tt class="FILENAME">phpcron_virtuald</tt>
            every minute in <a href="#MODES">non-daemon mode</a>,
            which simulates the effect of a Phpcron daemon but
            without its overhead.<br>
            <br>
          </li>

          <li>
            <p>That's it. You can now view output, start and stop
            daemons (actual and virtual), view the log, and set
            options using the Control Panel. Set the schedule of
            programs using the Edit Schedule (Basic) and Edit
            Schedule (Advanced) menu selections. See the section on
            <a href="#PHPCRONADMIN">Phpcron Admin</a> for
            screenshots and explanations of these options.</p>
          </li>

          <li>
            <p>To test your installation, put the phpcron_test.sh
            script on your phpcrontab.conf file. Click on <a href=
            "#EDITTAB">Edit Schedule (Basic)</a> OR Edit Schedule
            (Advanced). For example, if it is Tuesday, enter
            something like this to execute the test script every
            minute (for more information on phpcrontab.conf see <a
            href="#PHPCRONTAB">Phpcrontab</a>):</p>

            <div class="INFORMALEXAMPLE">
              <a name="AEN260"></a>

              <table border="0" bgcolor="#E0E0E0" width="90%">
                <tr>
                  <td>
<pre class="PROGRAMLISTING">
<font color="#000000">* * * * 2 . ./phpcron_test.sh</font>
</pre>
                  </td>
                </tr>
              </table>
            </div>
            Then press Save. This should execute the
            phpcron_test.sh file every minute. This little script
            creates an HTML file called <tt class=
            "FILENAME">phpcron_test.html</tt> and outputs to it the
            time of the script's execution. To verify that it has
            been executed, make sure that the Phpcron daemon
            (either actual or Virtual) is enabled, wait a minute,
            then point your browser to
            http://[yoursite]/[phpcron_installation_directory]/phpcron_test.html.
            You should see the HTML page updated every minute with
            the current time when you press reload on your
            browser.<br>
            <br>
          </li>
        </ol>

        <div class="WARNING">
          <table class="WARNING" width="100%" border="0">
            <tr>
              <td width="25" align="CENTER" valign="TOP"><img src=
              "../images/warning.gif" hspace="5" alt=
              "Warning"></td>

              <td align="LEFT" valign="TOP">
                <p>A Note on privileges in Unix: Using chmod and
                chown, you should make the owner of the server
                process a member of a group (say phpcron_group) and
                grant that group the necessary privileges to read,
                write, and execute files in the phpcron
                installation directory . All other users should be
                denied even read access. These same restrictions
                should be implemented on a Windows system using the
                equivalent permission controls.</p>
              </td>
            </tr>
          </table>
        </div>

        <div class="NOTE">
          <table class="NOTE" width="100%" border="0">
            <tr>
              <td width="25" align="CENTER" valign="TOP"><img src=
              "../images/note.gif" hspace="5" alt="Note"></td>

              <td align="LEFT" valign="TOP">
                <p>The above instructions assume you are going to
                use Phpcron Admin with Phpcron. If you only want to
                use Phpcron at the command line, just copy <tt
                class="FILENAME">phpcron_commonlib.php</tt>, <tt
                class="FILENAME">phpcron.php</tt>, <tt class=
                "FILENAME">phpcrontab.conf</tt>, and in a Unix
                environment, the shell scripts, <tt class=
                "FILENAME">phpcrond</tt>, and <tt class=
                "FILENAME">phpcron</tt> to a directory in your
                path, set the proper permissions, and <a href=
                "#COMMANDLINE">execute</a> with the proper <a href=
                "#OPTIONS">options</a>.</p>
              </td>
            </tr>
          </table>
        </div>
        <br>
        <br>
      </div>

<!------ Start of Feedback Form --->
<hr>
<a name="questionaire"></a>
  <span class="questionaire">
      <span class="qintro">
        <h2 align="center">Your Feedback is Vital</h2>

        <p>I would really appreciate it if
        you could fill out this form and submit it. I was considering a scheme for a really
	annoying splash screen but decided that this form would be better.
	You will need to be connected to the internet when you do so. I have
	had hundreds of downloads of this script but have heard very little back. 
	 I  need <strong>
        your</strong> comments to make the next version of Phpcron better.
	 
        <p>Your email address won't be sold to or used by third
        parties, although, if you wish, we will place you on the developer's 
        mailing list to announce updates. All information, including the email address
	is optional.</p>
      </span>

      <form name="feedback" method="post" action="http://www.gemini1consulting.com/tekhelp/process_feedback.php">

	<input type=hidden name=program_name value=phpcron>
        <!-- Out table just 2 or 3 cells for alignment of columns -->

        <table align="center" border="1" cellspacing="0"
        cellpadding="1">
          <tr>
            <td>
              <table align="center" border="0" cellspacing="0"
              cellpadding="1">
                <tr align="left" valign="middle">
                  <td align="center" colspan="2"><strong>Ratings
                  are on a scale of 1-5 (5 is highest)</strong>
                  </td>
                </tr>
             
            <tr>
<td >
Email Address:
</td>
<td>
<input name="email_address" type=text>
</td>
</tr>
                 
                <tr>
                  <td>Usefulness:</td>

                  <td><select name="useful_rating">
                    <option value="5">
                      5
                    </option>

                    <option value="4">
                      4
                    </option>

                    <option value="3">
                      3
                    </option>

                    <option value="2">
                      2
                    </option>

                    <option value="1">
                      1
                    </option>
                  </select> </td>
                </tr>

                <tr>
                  <td>Ease of install:</td>

                  <td><select name="install_rating">
                    <option value="5">
                      5
                    </option>

                    <option value="4">
                      4
                    </option>

                    <option value="3">
                      3
                    </option>

                    <option value="2">
                      2
                    </option>

                    <option value="1">
                      1
                    </option>
                  </select> </td>
                </tr>

                <tr>
                  <td>Interface Design:</td>

                  <td><select name="interface_rating">
                    <option value="5">
                      5
                    </option>

                    <option value="4">
                      4
                    </option>

                    <option value="3">
                      3
                    </option>

                    <option value="2">
                      2
                    </option>

                    <option value="1">
                      1
                    </option>
                  </select> </td>
                </tr>

                <tr>
                  <td>Quality of Code:</td>

                  <td><select name="code_rating">
                    <option value="5">
                      5
                    </option>

                    <option value="4">
                      4
                    </option>

                    <option value="3">
                      3
                    </option>

                    <option value="2">
                      2
                    </option>

                    <option value="1">
                      1
                    </option>
                  </select> </td>
                </tr>

                <tr>
                  <td>Manual:</td>

                  <td><select name="manual_rating">
                    <option value="5">
                      5
                    </option>

                    <option value="4">
                      4
                    </option>

                    <option value="3">
                      3
                    </option>

                    <option value="2">
                      2
                    </option>

                    <option value="1">
                      1
                    </option>
                  </select> <br>
                   </td>
                </tr>

                <tr>
                  <td>Overall Rating:</td>

                  <td><select name="overall_rating">
                    <option value="5">
                      5
                    </option>

                    <option value="4">
                      4
                    </option>

                    <option value="3">
                      3
                    </option>

                    <option value="2">
                      2
                    </option>

                    <option value="1">
                      1
                    </option>
                  </select> </td>
                </tr>

                <tr>
                  <td>Operating System On<br>
                   Server (not client!)<br>
                   </td>

                  <td><select name="OS">
                    <option value="Linux">
                      Linux
                    </option>

                    <option value="Win95">
                      Win95
                    </option>

                    <option value="Win98">
                      Win98
                    </option>

                    <option value="Win2000">
                      Win2000
                    </option>

                    <option value="Mac">
                      Mac
                    </option>

                    <option value="Unix">
                      Unix
                    </option>
                  </select> <br>
                   </td>
                </tr>

                <tr>
                  <td>OS Brand, Version:</td>

                  <td><input type="text" name="os_specific"> </td>
                </tr>
                <!-- end of inside table for left column -->
              </table>
              Uncheck if don't want comments published: <input
              name="publish_ok" type="checkbox" value="true"
              checked><br>
               Check to receive notice of updates: <input name=
              "email_list" type="checkbox" value="true"> 
            </td>

            <td>
              <table>
                <!-- end of first cell for outer table, begin right column -->

                <tr align="center">
                  <td colspan="2">Install Problems/Resolution
                  Details:<br>
                   <textarea rows="3" cols="40" name=
                  "comments_install"></textarea><br>
                   Describe Bugs and Resolution:<br>
                   <textarea cols="40" rows="3" name=
                  "comments_bugs"></textarea><br>
                   Features to Add/Improve?<br>
                   <textarea cols="40" rows="3" name=
                  "comments_features"></textarea><br>
                   General Comments:<br>
                   <textarea cols="40" rows="3" name=
                  "comments_general"></textarea><br> <!-- end of right column, inside table --> </td>
                </tr>
              </table>
              <!-- end of outer table -->
            </td>
          </tr>
        </table>

        <div align="center">
          <br>
           <input align="center" type="submit" value="Submit">
   
      </form>

      <span align="center" class="hotscripts">
        <form action="http://www.hotscripts.com/cgi-bin/rate.cgi"
        method="POST">
          <!-- you can use this same code but make sure the id is right --><input
           type="hidden" name="ID" value="12699"> 

          <table border="0" cellspacing="0">
            <tr>
              <td align="center">You can also submit your vote on
              Phpcron to <a target="_top" href=
              "http://www.hotscripts.com"><i>HotScripts.com</i></a></td>

              <td align="center">
                <table border="0" cellspacing="2" align="center">
                  <tr>
                    <td align="center"><select name="ex_rate">
                      <option value="5" selected>
                        Excellent!
                      </option>

                      <option value="4">
                        Very Good
                      </option>

                      <option value="3">
                        Good
                      </option>

                      <option value="2">
                        Fair
                      </option>

                      <option value="1">
                        Poor
                      </option>
                    </select></td>

                    <td align="center"><input type="submit" value=
                    "Cast My Vote!"></td>
                  </tr>
                </table>
              </td>
            </tr>
          </table>
	       </div>
        </form>


      </span>
    </span>





<!------ End of Feedback Form ------>










      <div class="SECT1">
        <hr>

        <h1 class="SECT1"><a name="PHPCRONTAB">5. Scheduling
        Program Execution</a></h1>

        <p>Phpcrontab.conf is the text file that holds the Phpcron
        scheduling directives. An example file is included in your
        download package. The format is the same as Crond's
        crontab. The format is:</p>

        <div class="INFORMALEXAMPLE">
          <a name="AEN279"></a>

          <table border="0" bgcolor="#E0E0E0" width="100%">
            <tr>
              <td>
<pre class="PROGRAMLISTING">
<font color=
"#000000"> minute hour   day of month  month   weekday  command
 (0-59) (0-23)   (1-31)      (1-12)   (0-6)
 </font>
</pre>
              </td>
            </tr>
          </table>
        </div>
        <br>
        <br>

        <p>Wild Cards and ranges are allowed. Each parameter is
        separated by one pace, except the command text which can be
        separated from the time parameters by more than one space.
        You can use leading zeros (e.g, 03) but it is not
        necessary. You can comment to the end of a line by
        beginning the comment with a pound sign (#) (shell style
        comments) but multiple C style (e.g., /*comment */) line
        comments are not allowed.</p>

        <div class="EXAMPLE">
          <a name="AEN282"></a>

          <p><b>Example 1. Short Phpcrontab.conf Example</b></p>

          <table border="0" bgcolor="#E0E0E0" width="100%">
            <tr>
              <td>
<pre class="PROGRAMLISTING">
<font color="#000000"> 
 # Example phpcrontab.conf file with wildcard. 
 
 # Executes command every Friday at 3:59
 
 59 3 * * 5     sample_script.sh  
 
 # executes on the 1st and 15th of the month
 
 0 0 1,15 * *   sample_script.sh  
 
 #executes on the 1st-15th of the month 
 #which are any weekday except Wednesday and Saturday
 
 0 0 1-15 * 0-2,4,6 sample_script.sh
 </font>
</pre>
              </td>
            </tr>
          </table>
        </div>
      </div>

      <div class="SECT1">
        <hr>

        <h1 class="SECT1"><a name="COMMANDLINE">6. Command Line
        Execution</a></h1>

        <p>You don't need Phpcron Admin to invoke Phpcron. Assuming
        that the Phpcron scripts are in your path, at your system
        prompt type</p>

        <div class="INFORMALEXAMPLE">
          <a name="AEN290"></a>

          <table border="0" bgcolor="#E0E0E0" width="100%">
            <tr>
              <td>
<pre class="PROGRAMLISTING">
<font color="#000000">php phpcron.php [commandline switches]</font>
</pre>
              </td>
            </tr>
          </table>
        </div>
        <br>
        <br>

        <p>To invoke Phpcron as a daemon type the following:</p>

        <div class="INFORMALEXAMPLE">
          <a name="AEN293"></a>

          <table border="0" bgcolor="#E0E0E0" width="100%">
            <tr>
              <td>
<pre class="PROGRAMLISTING">
<font color="#000000">php phpcron.php --daemon</font>
</pre>
              </td>
            </tr>
          </table>
        </div>
        &#13;<br>
        <br>

        <p>On Linux systems, instead of the above, you can use the
        shell scripts which are simpler:</p>

        <div class="INFORMALEXAMPLE">
          <a name="AEN296"></a>

          <table border="0" bgcolor="#E0E0E0" width="100%">
            <tr>
              <td>
<pre class="PROGRAMLISTING">
<font color="#000000">phpcron [commandline switches]</font>
</pre>
              </td>
            </tr>
          </table>
        </div>
        This executes the bash shell script phpcron which in turns
        executes phpcron.php.<br>
        <br>

        <p>For <em>daemon</em> execution in Linux, type</p>

        <div class="INFORMALEXAMPLE">
          <a name="AEN300"></a>

          <table border="0" bgcolor="#E0E0E0" width="100%">
            <tr>
              <td>
<pre class="PROGRAMLISTING">
<font color="#000000">phpcrond [command line switches]</font>
</pre>
              </td>
            </tr>
          </table>
        </div>
        <br>
        <br>

        <div class="NOTE">
          <table class="NOTE" width="100%" border="0">
            <tr>
              <td width="25" align="CENTER" valign="TOP"><img src=
              "../images/note.gif" hspace="5" alt="Note"></td>

              <td align="LEFT" valign="TOP">
                <p><tt class="FILENAME">phpcron.php</tt> relies on
                the <tt class="FILENAME">phpcron_commonlib.php</tt>
                file for certain critical functions. Thus, while
                <tt class="FILENAME">phpcron.php</tt> can be
                executed at the command line without using Phpcron
                Admin and without relying on the <tt class=
                "FILENAME">phpcron_admin.php</tt> script, it must
                have access to <tt class=
                "FILENAME">phpcron_commonlib.php</tt> file. Make
                sure that <tt class=
                "FILENAME">phpcron_commonlib.php</tt>. is in the
                same directory as <tt class=
                "FILENAME">phpcron.php</tt>.</p>
              </td>
            </tr>
          </table>
        </div>
      </div>

      <div class="SECT1">
        <hr>

        <h1 class="SECT1"><a name="OPTIONS">7. Phpcron
        Options</a></h1>

        <p>There are a host of options to Phpcron - all of which
        can be set either on the command line or through Phpcron
        Admin. To see the entire set of switches type <b class=
        "COMMAND">php phpcron.php -h</b> (or in Linux <b class=
        "COMMAND">phpcron -h</b> at the system prompt). Most of the
        options have either a long format (using --) or a short
        format (-). Some of the more useful options are:</p>

        <div class="VARIABLELIST">
          <p><b>Common Phpcron Command Line Switches</b></p>

          <dl>
            <dt>--daemon, -D</dt>

            <dd>
              <p>Invokes phpcron as a daemon (runs
              continuously)</p>
            </dd>

            <dt>--daemon-off, -d</dt>

            <dd>
              <p>Invokes phpcron.php in non-daemon mode. In this
              mode, it runs once, then exits. Usually only used for
              debugging, also utilized by phpcron_virtuald to
              simulate a daemon.</p>
            </dd>

            <dt>--email-errors EMAIL_ADDRESS, -E EMAIL_ADDRESS</dt>

            <dd>
              <p>Email Errors on - Email failure message if
              scheduled program fails to execute</p>
            </dd>

            <dt>--mail-notification EMAIL_ADDRESS, -M
            EMAIL_ADDRESS</dt>

            <dd>
              <p>&#13; Turn the mail notification feature on</p>
            </dd>

            <dt>--help, -?, -h</dt>

            <dd>
              <p>Help - Gives Explanation of Options</p>
            </dd>

            <dt>--logging LOGFILE, -L LOGFILE</dt>

            <dd>
              <p>Turn logging on and set the path to the log
              file</p>
            </dd>

            <dt>--quit, -q</dt>

            <dd>
              <p>Stops all instances of the phpcron daemon</p>
            </dd>
          </dl>
        </div>

        <div class="NOTE">
          <table class="NOTE" width="100%" border="0">
            <tr>
              <td width="25" align="CENTER" valign="TOP"><img src=
              "../images/note.gif" hspace="5" alt="Note"></td>

              <td align="LEFT" valign="TOP">
                <p>All of the options in phpcron.php have what I
                call "original" defaults, the settings of which you
                can view with the -h switch. However, these are
                overridden by the settings in the optional
                phpcron_userconfig.php file if it exists in the
                Phpcron directory. Phpcron_userconfig.php file is
                also the one which Phpcron Admin parses, displays,
                and changes when it changes options. So if you use
                Phpcron Admin and change any Phpcron options, the
                original defaults will change at the command line.
                Finally,please note that the command line switches
                override <em>both</em> the original defaults
                <em>and</em> the settings in the
                phpcron_userconfig.php file.</p>
              </td>
            </tr>
          </table>
        </div>
        <br>
        <br>
      </div>

      <div class="SECT1">
        <hr>

        <h1 class="SECT1"><a name="PHPCRONADMIN">8. Phpcron
        Admin</a></h1>

        <div class="SECT2">
          <hr>

          <h2 class="SECT2"><a name="ADMINOVERVIEW">8.1.
          Overview</a></h2>

          <p>Phpcron Admin is a browser-based interface to Phpcron
          which allows you to configure Phpcron's options, stop and
          start Phpcron, and view the log file. It is an ideal
          utility for system administrators to use to allow their
          clients to schedule programs in a user friendly
          manner.</p>
        </div>

        <div class="SECT2">
          <hr>

          <h2 class="SECT2"><a name="CONTROLPANEL">8.2. Control
          Panel</a></h2>

          <p>The Phpcron Admin Control Panel allows you to do the
          following:</p>

          <ul>
            <li>
              <p>view status of Phpcron (including PID of any
              currently running process)</p>
            </li>

            <li>
              <p>set all configuration options for Phpcron</p>
            </li>

            <li>
              <p>start and stop Phpcron (both in daemon and
              non-daemon modes)</p>
            </li>

            <li>
              <p>enable and disable the Virtual Daemon,</p>
            </li>

            <li>
              <p>view,download, and email the phpcron log file</p>
            </li>

            <li>
              <p>schedule command execution (either through a
              direct edit of the phpcrontab.conf file or a user
              friendly form that checks entries for correct
              format)</p>
            </li>
          </ul>
          <br>
          <br>

          <p>Below is a screenshot, showing a section of the
          Control Panel. As you can see, the Virtual Daemon has
          been enabled.</p>

          <div class="EXAMPLE">
            <a name="VENABLED"></a>

            <p><b>Example 2. Screenshot: Control Panel (Virtual
            Daemon Enabled)</b></p>

            <p><img src="../images/cp_status_enabledc.gif" align=
            "CENTER"></p>
          </div>
          <br>
          <br>

          <p>The control panel also allows you to view and clear
          the log file, the Phpcron output, and the programs that
          are scheduled (the screen shots of these sections are not
          shown).</p>

          <p>Below is the next section of the Control Panel showing
          the options that can be configured for Phpcron. These
          options mirror the options that can be set using the
          command line <a href="#OPTIONS">options</a>.</p>

          <div class="EXAMPLE">
            <a name="AEN391"></a>

            <p><b>Example 3. Screenshot: Control Panel Option
            Configuration</b></p>

            <p><img src="../images/cp_options.gif" align=
            "CENTER"></p>
          </div>

          <div class="NOTE">
            <table class="NOTE" width="100%" border="0">
              <tr>
                <td width="25" align="CENTER" valign="TOP"><img
                src="../images/note.gif" hspace="5" alt=
                "Note"></td>

                <td align="LEFT" valign="TOP">
                  <p>The options above are generated on the fly by
                  parsing the phpcron_userconfig.php file. This
                  file must exist to run Phpcron Admin (it is not
                  needed to run the Phpcron on the <a href=
                  "#COMMANDLINE">command line</a>). The options
                  shown will also change depending on what
                  variables are defined in the
                  phpcron_userconfig.php file.</p>
                </td>
              </tr>
            </table>
          </div>
          <br>
          <br>
        </div>

        <div class="SECT2">
          <hr>

          <h2 class="SECT2"><a name="EDITTAB">8.3. Edit Scheduled
          Programs</a></h2>

          <p>Phpcron Admin also allows you to edit the
          phpcrontab.conf file and schedule your programs. This can
          be done with the "Edit Schedule (Advanced)" screen which
          allows you to directly edit the file (you can also edit
          the Options directly by selecting the Set Options
          (Advanced) menu choice).</p>

          <p>However, a better (and safer) way to schedule programs
          is to use the "Edit Schedule (Basic)" option on the menu.
          This will present you with a form that allows you to edit
          the schedule parameters, and when saved, will validate
          the parameters to check that they are in the correct
          format (a Javascript validation is used also). Here is a
          screenshot of a portion of the Edit Schedule (Basic)
          screen:</p>

          <div class="EXAMPLE">
            <a name="AEN402"></a>

            <p><b>Example 4. Screenshot: Edit Schedule
            (Basic)</b></p>

            <p><img src="../images/cp_sched.gif" align=
            "CENTER"></p>
          </div>
          <br>
          <br>

          <p>As you can see, the top comments of the file are
          presented in a text box at the top. There is no need to
          add leading #, these are added automatically when the
          file is saved. The schedule parameters can be entered in
          time columns. When the file is saved (the save button is
          not shown in the screenshot) the form will be validated
          (the formats of the time parameters are checked to see if
          they are within the correct ranges, etc.)</p>
        </div>
      </div>

      <div class="SECT1">
        <hr>

        <h1 class="SECT1"><a name="MODESVIRTUALDAEMON">9. Modes and
        the Virtual Daemon</a></h1>

        <div class="SECT2">
          <hr>

          <h2 class="SECT2"><a name="MODES">9.1. Modes (Daemon and
          Non-Daemon)</a></h2>

          <p>Phpcron can be run in one of two "modes". The first is
          the "daemon mode" in which Phpcron runs continuously in
          the background. This mode is appropriate for systems in
          which only one user will be utilizing Phpcron. Unlike
          Unix's Crond daemon, a single Phpcron process parses only
          one configuration file (phpcrontab.conf) and cannot be
          configured to parse multiple users' crontabs. However,
          Phpcron can be run as a "Virtual Daemon" in conjunction
          with Unix's Crond, allowing multiple users on a single
          system to use Phpcron and Phpcron Admin.</p>

          <p>The second mode that Phpcron can be run in is the
          "non-daemon mode". This simply runs the script once and
          quits. It parses the phpcrontab.conf file only once. It
          is not very useful except for testing purposes.</p>
        </div>

        <div class="SECT2">
          <hr>

          <h2 class="SECT2"><a name="VIRTUALDAEMON">9.2. Virtual
          Daemon</a></h2>

          <p>The real advantage that Phpcron has over Crond is the
          ability to use <a href="#PHPCRONADMIN">Phpcron Admin</a>
          - a user friendly web based interface for the various
          scheduling and configuration options. However, in order
          to allow multiple users to use Phpcron on the same
          machine (e.g., in a virtual hosting environment) one
          would ordinarily need to invoke multiple instances of the
          Phpcron daemon - an unacceptable situation since this
          would overwhelm the server (in fact Phpcron is written to
          avoid this situation. It will automatically detect if
          another instance of Phpcron is running, and if so, refuse
          to run in daemon mode). However, one <em>can</em> allow
          multiple users utilize Phpcron by running it as a
          "Virtual Daemon". Instead of Phpcron running
          continuously, it is executed once every minute using