Synchronisation client for use with sync.php
HotScript @ RoŲnašn index for more scripts and extensions.
Run this script as an example.
<?php
  
/**
  * @author: Arnoud ten Hoedt - Roonaan Webdevelopment
  * This snippet is for public use
  *
  * @date: 2005/10/31
  * @copy: 2005 Arnoud ten Hoedt
  *
  */

  
error_reporting(E_ALL);
  
  
ob_start();
  
  
/**
   * Remote synchronisation script url.
   */
  
define('SYNC_HOST''http://www.roonaan.nl/hotscripts/LinkToSync.php');
  
  
/**
   * Directory where remote files need to be stores to.
   */
  
define('DIR_BASE'dirname(__FILE__).'/slave');
  
  
/**
   * You can setup the sync.php script on the remote server
   * to allow access based on IP only. However, it is better
   * to always include the "secret" key.
   */
  
define('VALID_DOM_KEY''nomennescio');
  
  
/** 
   * You can run this script standalone, or include it in an
   * php generated image. When the script is called directly
   * it will add html to the output to give a better feel.
   */
  
$htmlMode false;
  
  if(
realpath($_SERVER['SCRIPT_FILENAME']) == realpath(__FILE__)) {
    
    
$htmlMode true;
    
    
/** Script can reload every 15 seconds */
    
if(isset($_REQUEST['reload'])) {
      
header('Refresh:15');
    }
    
?>
    <html>
      <head>
        <title>SimpleSynchronisation</title>
        <style type="text/css">
          body {
            font-family:Verdana, Sans serif;
            font-size:11px;
          }
        </style>
      </head>
      <body>
        <h1>Synchronization started</h1>
        <form method="get" action="<?=$_SERVER['PHP_SELF'];?>">
        <input type="checkbox" name="reload"
               value="true" onclick="this.form.submit();"
               <?=(isset($_REQUEST['reload']) ? 'checked="checked"' '');?>
               /> reload every 15 seconds
        </form>
        <p>Synchronisation started at <?=date('H:i:s');?> on <?=date('Y-m-d');?></p>
    <?php
  
}
  
  
ob_end_flush();
  
  
/**
   * Valid remote key is constructed by hashing the "secret" key with the
   * servers IP-address
   */
  
define('VALID_REMOTE_KEY'md5(VALID_DOM_KEY.$_SERVER['SERVER_ADDR']));
  
  
/**
   * Output from the remote script can be tweaked a little by using
   * the next three Boolean variables:
   *
   * @var Boolean $showUpToDate (default true)
   *                  show "File ... is up to date" messages            
   *
   * @var Boolean $showTotalFiles (default true)
   *                  show "We need to synchronise x files" message
   *
   * @var Boolean $showBytesCopied (default true)
   *                  show "File saved: .. Bytes" messages
   */
  
$showUpToDate   true;
  
//$showTotalFiles = false;
  //$showBytesCopied = false;
  
  // Call remote script
  
include SYNC_HOST.'?domkey='.VALID_REMOTE_KEY;
  
  
// Make sure layout html tags are closed.
  
if($htmlMode) {
    echo 
'</body></html>';
  }
?>