<?php if (!defined('PmWiki')) exit();
/*  Copyright 2004 Patrick R. Michaud (pmichaud@pobox.com)
    This file is distributed under the terms of the GNU General Public 
    License as published by the Free Software Foundation; either 
    version 2 of the License, or (at your option) any later version.  
/*---------------------------------------------------------------

  * Copyright *
  This PmWiki addon was written on March 20, 2004 by Steven Leite
  (steven_leite@kitimat.net).  The same terms and conditions that
  apply to PmWiki also apply to this script.

  * Special Thanks *
  Thanks to  Pm (Patrick Michaud, www.pmichaud.com), for creating
  PmWiki, and for sharing his knowledge  and insightfulness which
  is what made this script possible.

  * Description *
  This add-on allows a PmWiki user to include the contents of any
  external webpage into their WikiPage.

  * Features *
  The script won't overwrite any  existing configuration  date in
  your PmWiki install.

  * Warning *
  Since there's  no filtering of  the imported content (yet), you
  should use caution  if you use this  script.  Users can include
  ANY external page in your Wiki.

  * Installation Instructions *
  1.  Create a new folder: /local/scripts.
  2.  Save this file (x-include.php) in the new directory.
  3.  Add this one line to your config.php file:
      include_once("local/scripts/x-include.php");

  * Usage Instructions *
  Using this script is easy  and intuitive, it uses  the existing
  PmWiki [[Square Bracket]] notation to include an external page.

  Example:  (:includeSite http://www.yahoo.com border=3 scroll=no:)
  or
  Example:  (:includeSite http://www.yahoo.com border=3 scroll=yes:)


  Supported (optional) fields are:

    height = default/pixels/%
    width = default/pixels/%
    border = default/pixels
    scroll = default/yes/no
    align = default/left/right/center

  If the fields  are not specified, the script  defaults  will be
  used.  You can set these defaults in the script (see below).

  * History *
  March 08, 2005 - movement to pmwiki-2
  March 30, 2004 - Slight enhancement to the way the script
                   preserves the url in the <iframe> tag so that


    To use this module, simply place this file in the cookbook/ directory
    and add the following line into config.php:

        include_once('cookbook/includeSite.php');

*/

$DefaultWidth  = '600';        // pixels or %
$DefaultHeight = '400';        // pixels or %
$DefaultAlign  = 'default';    // default, left, right, center
$DefaultScroll = 'default';    // default, yes, no
$DefaultBorder = 'default';    // pixels

function includeSite($str) {
  global $DefaultWidth, $DefaultHeight, $DefaultAlign;
  global $DefaultScroll, $DefaultBorder;

  // parse the [[Double Bracket]] syntax
  $pieces = explode(" ", $str);

  // seperate the pieces in to $key and $value  pairs
  foreach($pieces as $piece) {
    list($key,$value) = explode("=", $piece);
    $vars["$key"] = $value;
   }

  // initialize the <iframe> parameters
  $url         = $vars["url"];
  $width       = $vars["width"];
  $height      = $vars["height"];
  $align       = $vars["align"];
  $scroll      = $vars["scroll"];
  $border      = $vars["border"];


  SDV($url, $pieces[0]);
  SDV($width, $DefaultWidth);
  SDV($height, $DefaultHeight);
  SDV($align, $DefaultAlign);
  SDV($scroll, $DefaultScroll);
  SDV($border, $DefaultBorder);

  $Output .= "\n\n<!-- X-include -->\n\n";
  $Output .= "<iframe width=$width height=$height align=$align frameborder=$border scroll=$scroll src=" . Keep($str) . "></iframe>";
  $Output .= "\n\n<!--/ X-include -->\n\n";
  return $Output;
}

Markup('includeSite', 'directives', "/\\(:includeSite\\s+(http:[^$UrlExcludeChars]*?)\\s*:\\)/e", "includeSite('$1')");


?>