Basic Integration Questions - Real Beginner Stuff :)

drewread

Joined: 2004-12-07
Posts: 8
Posted: Tue, 2007-02-06 19:41

OK.. Here goes. Try not to flame me too hard. I have read the documentation and am still having problems integrating gallery into my CMS.

My CMS is essentially a custom CMS which is built in Dreamweaver and based on Interakt Onlines (bought by Adobe) MX Kollection (www.interaktonline.com)

My first problem is that I am having problems getting the site to properly integrate into the sites web page.

As you can see it is integrated, however, when I login and edit anything I get a header output error message.

It is very likely that I don't understand where to put the embeded Gallery code. Anyways.. here is the code for that page. Any help would be appreciated. Thanks.

<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/mainAMv1.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<?php require_once('Connections/amwedpub.php'); ?>
<?php
mysql_select_db($database_amwedpub, $amwedpub);
$query_getHeader = "SELECT headFile FROM ws_headers WHERE headVis = 1 ORDER BY RAND() LIMIT 1";
$getHeader = mysql_query($query_getHeader, $amwedpub) or die(mysql_error());
$row_getHeader = mysql_fetch_assoc($getHeader);
$totalRows_getHeader = mysql_num_rows($getHeader);
?>
<!-- InstanceBeginEditable name="doctitle" -->
<title>Alexandra Read and Morgan Ireland's Wedding Site - Image Gallery</title>
<!-- InstanceEndEditable -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="styles/am_lay.css" rel="stylesheet" type="text/css" />
<!-- InstanceBeginEditable name="head" --><!-- InstanceEndEditable -->
<link href="styles/am_text.css" rel="stylesheet" type="text/css" />
<link href="styles/am_menu.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="wrap">
  <div id="header"><img src="uploads/headers/<?php echo $row_getHeader['headFile']; ?>" alt="Header 1" width="770" height="130" /></div> 
  <div id="subHead"></div>
  <div id="main-content">
  <!-- InstanceBeginEditable name="Document body" -->
  	<img src="images/amV1/gallery.jpg" alt="Gallery Header" width="488" height="62" />
	<?php require_once('gallery2/G2emAPPS/g2embed.php'); ?>
	<? echo "USERID: " . $uid . "INTERAKT SESSION LOGIN ID: " . $_SESSION['kt_login_id']; ?>
  	<!-- InstanceEndEditable --></div> 
  <div id="sub-content">
  	<div id="nav">
	<img src="images/amV1/smDivider.jpg" alt="small divider" width="142" height="12" />
	<ul>
		<li><a href="pastUpd.php">Past Updates</a></li>
		<li><a href="links.php">Links</a></li>
		<li><a href="gallery.php">Image Gallery</a></li>
		<li><a href="mailto:alexread@sympatico.ca?subject=Your Wedding...">Contact Us</a></li>
		<li><a href="index.php">Home</a></li>
		<li><a href="login.php">Login</a></li>
	</ul>
	<img src="images/amV1/smDivider.jpg" alt="small divider" width="142" height="12" />	</div>
	<? 	$wedDate = "2007-02-22"; // set the wedding date
		$todayDate = date("Y-m-d"); // get todays date
		
		$weddingDay = strtotime($wedDate);
		$today = strtotime($todayDate);
		$ETA = ($weddingDay / 86400) - ($today / 86400);
	?>
    <h1>Only <? echo number_format($ETA); ?> days until the Wedding!</h1>
  </div> 
  <div id="foot">
  <ul class="hidden-navigation">
  	<li><a href="#navigations" title="Jump to the main navigation">Skip to navigation</a></li>
   	<li><a href="#header" title="Jump to the top of the page">Top of the page</a></li> 
   </ul> 
    <div id="footC">
		<hr />
		<p>Site Designed by: <a href="http://www.readit.ca" target="_blank">Read Consulting Services</a></p>
		<p>Copyright © <? echo date('Y'); ?> Read Consulting Services. All Rights Reserved.</p>
	</div>
</div> 
  <!-- end #wrap --> 
</div> 

</body>
<!-- InstanceEnd --></html>
<?php
mysql_free_result($getHeader);
?>

Here is the g2embed.php file:

<? function runGallery() {

    require_once('./gallery2/embed.php');
    
	$data = array();
	
    // if anonymous user, set g2 activeUser to ''
    $uid = $_SESSION['kt_login_id'];
 
    // initiate G2 
    $ret = GalleryEmbed::init(array('g2Uri' => '/gallery2/', 
				    'embedUri' => '/gallery2.php', 'loginRedirect' => '/login.php',
				    'activeUserId' => $uid));
    if ($ret) {
      $data['bodyHtml'] = $ret->getAsHtml();
      return $data;
    }
		if (!headers_sent()) { //set header type to acceptable type for gallery2
     		header('Content-Type: text/html; charset=UTF-8');
 		}

    // user interface: you could disable sidebar in G2 and get it as separate HTML to put it into a block
    // GalleryCapabilities::set('showSidebarBlocks', false);
GalleryCapabilities::set('login', false);
GalleryCapabilities::set('showSidebarBlocks', false);
    // handle the G2 request
    $g2moddata = GalleryEmbed::handleRequest();
  
    // show error message if isDone is not defined
    if (!isset($g2moddata['isDone'])) {
      $data['bodyHtml'] = 'isDone is not defined, something very bad must have happened.';
      return $data;
    }
    // exit if it was an immediate view / request (G2 already outputted some data)
    if ($g2moddata['isDone']) {
	exit; 
    }
   
    // put the body html from G2 into the xaraya template 
    $data['bodyHtml'] = isset($g2moddata['bodyHtml']) ? $g2moddata['bodyHtml'] : '';

    // get the page title, javascript and css links from the <head> html from G2
    $title = ''; $javascript = array();	$css = array();
 
    if (isset($g2moddata['headHtml'])) {
      list($data['title'], $css, $javascript) = GalleryEmbed::parseHead($g2moddata['headHtml']);
	  $data['headHtml'] = $g2moddata['headHtml'];
    }
    
    
    /* Add G2 javascript  */
    $data['javascript'] = '';
    if (!empty($javascript)) {
      foreach ($javascript as $script) {
	     $data['javascript'] .= "\n".$script;
      }
    }

    /* Add G2 css  */
    $data['css'] = '';
    if (!empty($css)) {
      foreach ($css as $style) {
	     $data['css'] .= "\n".$style;
      }
    }

    // sidebar block
    if (isset($g2moddata['sidebarBlocksHtml']) && !empty($g2moddata['sidebarBlocksHtml'])) {
      $data['sidebarHtml'] = $g2moddata['sidebarBlocksHtml'];
    }
    
    return $data;
} 


?>

<?
$data = runGallery();
$data['title'] = (isset($data['title']) && !empty($data['title'])) ? $data['title'] : 'Gallery';

if (isset($data['bodyHtml'])) {
print <<<EOF
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>{$data['title']}</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
{$data['javascript']}
{$data['css']}
</head>

<body>
{$data['bodyHtml']}
</body>
</html>
EOF;
}
?>
 
valiant

Joined: 2003-01-04
Posts: 32509
Posted: Tue, 2007-02-06 21:26

looks mostly good.
you should remove the newline/space characters between the function block and the $data = runGallery() code.

--------------
Enter the Gallery 2 Theme Contest today!

 
drewread

Joined: 2004-12-07
Posts: 8
Posted: Sat, 2007-03-17 03:40

OK so it is about time that I get off my rear and get this figured out as I have another client interested in a gallery integration as well...

Valiant - thanks for the tip.. I removed the line return, actually I deleted the php close and open '?> <?' altogether. I still seem to be having problems with "header already processed" messages when I try to do anything with the gallery (add, delete, edit, etc.)

This kind of makes sense as I do have the include for the g2embed.php file within the gallery2.php file after the pages headers are already sent. However, if I move the g2embed.php include to the start of the gallery2.php file the gallery exists outside of my site layout.

Maybe I am just not understanding something really simple here.. do I need to make a visually integrated theme first then call the g2embed.php file from within a blank file?

Thanks in Advance for any help that I receive!

Drew Read