Mercurial > judyates
view e2gallerypro/e2upload/outputxml.php @ 11:ed6ee381b8fd judyates
[svn r12] compressed photos and assembled them into a working web gallery
author | rlm |
---|---|
date | Mon, 12 Apr 2010 02:31:43 -0400 |
parents | 3f6b44aa6b35 |
children |
line wrap: on
line source
1 <?php include('../e2config.php'); include ("password_protect.php"); ?>2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">4 <html xmlns="http://www.w3.org/1999/xhtml">5 <head>6 <title>(E)2 Gallery Pro File Manager</title>7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />8 <link rel="shortcut icon" href="http://e2interactive.com/favicon.ico" />9 <style type="text/css">10 body {11 font-size: 11px;12 font-family: Tahoma, sans-serif;13 background: #F1F1F1 url(images/bodybg.png) repeat-x top center;14 }15 .dsep{16 clear:both;17 border-bottom: dotted 1px #999;18 margin:20px 0;19 }20 #maincontent img{21 margin: 0 10px 10px;22 }23 #container #header {24 background-image: url(images/adminheader.png);25 background-repeat: no-repeat;26 background-position: center top;27 width:750px;28 text-align: center;29 height: 87px;30 }31 #container {32 text-align: center;33 width: 750px;34 margin:0 auto;35 }36 #container #maincontent {37 text-align: left;38 padding: 10px 10px;39 border: dotted #CCC 1px;40 -moz-border-radius: 10px;41 -khtml-border-radius: 10px;42 -webkit-border-radius: 10px;43 border-radius: 10px;44 margin-top: 10px;45 background: #E1E1E1;46 }47 #container #navigation {48 height: 35px;49 padding: 0 10px;50 }51 #navigation #manage, #navigation #managexml, #navigation #outputxml, #navigation #seegallery {52 background-image: url(images/tab_bg.png);53 background-repeat: repeat-x;54 background-position: center top;55 height: 19px;56 float: left;57 padding: 5px 6px 0;58 margin: 1px 5px 5px;59 border-left: solid 1px #CCC;60 border-right: solid 1px #CCC;61 border-bottom: solid 1px #CCC;62 -moz-border-radius: 0 0 5px 5px;63 -webkit-border-bottom-left-radius: 5px;64 -webkit-border-bottom-right-radius: 5px;65 -khtml-border-bottom-left-radius: 5px;66 -khtml-border-bottom-right-radius: 5px;67 border-bottom-left-radius: 5px;68 border-bottom-right-radius: 5px;69 cursor:pointer;70 }71 #navigation #logout{72 background-image: url(images/tab_bg.png);73 background-repeat: repeat-x;74 background-position: center top;75 height: 19px;76 float: right;77 padding: 5px 6px 0;78 margin: 1px 5px 5px;79 border-left: solid 1px #CCC;80 border-right: solid 1px #CCC;81 border-bottom: solid 1px #CCC;82 -moz-border-radius: 0 0 5px 5px;83 -webkit-border-bottom-left-radius: 5px;84 -webkit-border-bottom-right-radius: 5px;85 -khtml-border-bottom-left-radius: 5px;86 -khtml-border-bottom-right-radius: 5px;87 border-bottom-left-radius: 5px;88 border-bottom-right-radius: 5px;89 cursor:pointer;90 }91 #navigation a{92 text-decoration:none;93 color:#333;94 }95 #navigation a:hover{96 text-decoration:underline;97 color:#333;98 }99 .xmloutput{100 padding:15px;101 background: #FFF;102 margin:10px 3px;103 }104 #maincontent .textinput{105 width:550px;106 font:16px "Trebuchet MS", Verdana, Arial, sans-serif;107 }108 #maincontent .alrignright{109 float:right;110 }111 .floatleft{112 float:left;113 padding:0 15px;114 }115 .clear{116 clear:both;117 }118 .error{119 color:#990000;120 font-size:16px;121 }122 </style>124 <link rel="stylesheet" media="all" type="text/css" href="Css/FileManager.css" />125 <link rel="stylesheet" media="all" type="text/css" href="Css/Additions.css" />127 <script type="text/javascript" src="js/mootools-core.js"></script>128 <script type="text/javascript" src="js/mootools-more.js"></script>130 <script type="text/javascript" src="Source/FileManager.js"></script>131 <script type="text/javascript" src="Source/Language/Language.en.js"></script>132 <script type="text/javascript" src="Source/Language/Language.de.js"></script>133 <script type="text/javascript" src="Source/Additions.js"></script>135 <script type="text/javascript" src="Source/Uploader/Fx.ProgressBar.js"></script>136 <script type="text/javascript" src="Source/Uploader/Swiff.Uploader.js"></script>138 <script type="text/javascript" src="Source/Uploader.js"></script>140 <script type="text/javascript">141 window.addEvent('domready', function(){142 /* Simple Example */143 var manager = new FileManager({144 url: 'manager.php',145 assetBasePath: 'Assets',146 language: 'en',147 uploadAuthData: {session: 'MySessionId'}148 });149 $('manage').addEvent('click', manager.show.bind(manager));151 /* XML upload*/152 var manager = new FileManager({153 url: 'managerxml.php',154 assetBasePath: 'Assets',155 language: 'en',156 uploadAuthData: {session: 'MySessionId'}157 });158 $('managexml').addEvent('click', manager.show.bind(manager));160 });161 </script>162 </head>163 <body>164 <div id="container">165 <a href="index.php"><div id="header"></div></a>166 <div id="navigation">167 <div id="manage">Upload/Manage Images</div>168 <div id="managexml">Upload/Edit XML</div>169 <a href="outputxml.php"><div id="outputxml">Output XML</div></a>170 <a href="../"><div id="seegallery">See Gallery</div></a>171 <a href="?logout=1"><div id="logout">Log Out</div></a>172 </div>173 <div id="maincontent">174 <a href="xml/e2galleryproXMLsample.xml" class="alrignright">Download XML Sample File</a>175 <h2>Output XML for Image Gallery</h2>176 Create the xml for the image inside which folder? Set the folder to look at to create the XML automagically.177 <br />178 <br />179 Default file paths are:<br />180 <?php181 function rp($path) {182 $out=array();183 foreach(explode('/', $path) as $i=>$fold){184 if ($fold=='' || $fold=='.') continue;185 if ($fold=='..' && $i>0 && end($out)!='..') array_pop($out);186 else $out[]= $fold;187 } return ($path{0}=='/'?'/':'').join('/', $out);188 }189 ?>190 <strong>Gallery Path:</strong> Galleries/gallery1/191 <br />192 <strong>Large Path:</strong> Galleries/gallery1/large/193 <br />194 <strong>Thumbnail Path:</strong> Galleries/gallery1/thumbs/195 <br /><br />196 <?php198 function getImages($path, $thumbPath) {200 $files = array();201 $fileNames = array();202 $i = 0;203 $errorMessage='';204 if (is_dir($path)) {205 if ($dh = opendir($path)) {206 while (($file = readdir($dh)) !== false) {207 if ($file == "." || $file == ".." || $file == ".DS_Store") continue;208 $fullpath = $path . "/" . $file;209 $fkey = strtolower($file);210 while (array_key_exists($fkey,$fileNames)) $fkey .= " ";211 $a = stat($fullpath);212 $files[$fkey]['size'] = $a['size'];213 if ($a['size'] == 0) $files[$fkey]['sizetext'] = "-";214 else if ($a['size'] > 1024) $files[$fkey]['sizetext'] = (ceil($a['size']/1024*100)/100) . " K";215 else if ($a['size'] > 1024*1024) $files[$fkey]['sizetext'] = (ceil($a['size']/(1024*1024)*100)/100) . " Mb";216 else $files[$fkey]['sizetext'] = $a['size'] . " bytes";217 $files[$fkey]['name'] = $file;218 $files[$fkey]['type'] = filetype($fullpath);219 $fileNames[$i++] = $fkey;220 }221 closedir($dh);222 } else {$errorMessage= true; echo "<strong class='error'>Cannot open directory: $path | Fill out a valid Gallery Path</strong>";}223 } else {$errorMessage= true; echo "<strong class='error'>Path is not a directory: $path | Fill out a valid Gallery Path</strong>";}224 sort($fileNames,SORT_STRING);225 $sortedFiles = array();226 $i = 0;227 $photos = array();228 $relativePath = rp( dirname($_SERVER['PHP_SELF']) );229 if($errorMessage != true){230 foreach($fileNames as $f) $sortedFiles[$i++] = $files[$f];233 echo'Copy the below XML and create your XML file and upload it via the Upload XML button above:';234 echo'<a href="outputxml.php" class="alrignright">Reset Output</a><div class="clear"></div>';235 echo '<div class="xmloutput">';236 echo'<gallery><br />';237 echo' <title>'.$_GET['gallerytitle'].'</title><br />';238 echo' <description>'.$_GET['galleryDescription'].'</description><br />';239 echo' <gallerypath>'.$relativePath.'/'.$_GET['gallerypath'].'</gallerypath> <br />';240 echo' <largeimgpath>'.$relativePath.'/'.$_GET['largepath'].'</largeimgpath><br />';241 echo' <thumbpath>'.$relativePath.'/'.$_GET['thumbpath'].'</thumbpath><br />';242 echo' <mainthumb>'.$relativePath.'/'.$_GET['gallerypath'].'</mainthumb><br />';243 echo' <mainthumbsrc>mainthumb.jpg</mainthumbsrc><br />';244 $j = 0;246 foreach ($sortedFiles as $file) {248 if($file['type']!='dir'&& $file['name']!='mainthumb.jpg'){249 // get image sizes250 list($width, $height, $type, $attr) = getimagesize($path."/".$file['name'], $info);251 $size = $file['sizetext'];252 if(isset($info['APP13'])){253 $iptc = iptcparse($info['APP13']);254 $title = $iptc['2#005'][0];255 if(isset($iptc['2#120'][0])){256 $description = $iptc['2#120'][0];257 $description = str_replace("\r", "<br/>", $description);258 $description = addslashes($description);259 }260 if(isset($iptc['2#025'][0])){261 $keywords = $iptc['2#025'][0];262 }263 $author = $iptc['2#080'][0];264 $copyright = $iptc['2#116'][0];266 }else if(isset($info['APP0']) && !isset($info['APP13'])){267 $iptc = iptcparse($info['APP0']);268 $title = $iptc['2#005'][0];269 $description = $iptc['2#120'][0];270 $description = str_replace("\r", "<br/>", $description);271 $description = addslashes($description);272 $keywords = $iptc['2#025'][0];273 $author = $iptc['2#080'][0];274 $copyright = $iptc['2#116'][0];275 }else{276 $title = '';277 $description = '';278 $description = '';279 $keywords = '';280 $author = '';281 $copyright = '';282 }285 array_push($photos, $width);286 array_push($photos, $height);288 //echo'<image Thumb="galleries/'.$thumbePath.'/thumbs/'.$file[name].'" Large="galleries/'.$path."/".$file[name].'" Caption="'.$title.'" Colour="000000">';289 //'<copy><![CDATA['.$title.']]></copy>';290 //echo'</image>';292 echo' <item type="image"><br />';293 echo' <title>'.$title.'</title><br />';294 echo' <author>'.$author.'</author><br />';295 echo' <copyright>'.$copyright.'</copyright><br />';296 echo' <description>'.$description.'</description><br />';297 echo' <src>'.$file['name'].'</src><br />';298 echo' <demensions width="'.$width.'" height="'.$height.'" /><br />';299 if(isset($_GET['largepath'])){300 $largePath = $_GET['largepath'];301 if(is_file($largePath."/".$file['name'])){302 list($largeWidth, $largeHeight, $largeType, $largeAttr) = getimagesize($largePath."/".$file['name'], $info);303 echo' <large width="'.$largeWidth.'" height="'.$largeHeight.'" /><br />';304 }305 }306 if(isset($_GET['showforsale'])){307 $showforsale = $_GET['showforsale'];308 if($showforsale=='true'){309 if($_GET['currency']=="USD"){$currencySymbol='$';}else if($_GET['currency']=="EURO"){$currencySymbol='€';}310 echo' <sellprint type="'.$_GET['checkouttype'].'" currency="'.$_GET['currency'].'" currencysymbol="'.$currencySymbol.'"><br />';311 echo' <price size="8x10">15</price><br />';312 echo' <price size="11x14">25</price><br />';313 echo' <price size="16x20">55</price><br />';314 echo' <price size="20x24">65</price><br />';315 echo' </sellprint><br />';316 }317 echo' </item><br />';319 $j++;320 }321 }323 }324 echo' <totalitems>'.$j.'</totalitems><br />';325 echo'</gallery><br />';326 echo'</div>';327 }328 }329 if(isset($_GET['gallerypath'])&&isset($_GET['thumbpath'])){330 getImages($_GET['gallerypath'], $_GET['thumbpath'] );331 ?>332 <a href="outputxml.php" class="alrignright">Reset Output</a><div class="clear"></div>333 <h2>Create New Gallery XML:</h2><br />334 <br />335 <form name="form1" method="get" action="<?php echo $_SERVER['PHP_SELF'] ;?>">336 <label id="gallerytitle"><strong>Gallery Title</strong></label>337 <br />338 <input type="text" class="textinput" name="gallerytitle" value="" />339 <br /><br />340 <label id="galleryDescription"><strong>Gallery Description</strong> <small>(No Special Characters)</small></label>341 <br />342 <textarea name="galleryDescription" rows="4" class="textinput"></textarea>343 <br /><br />344 <label id="gallerypath"><strong>Gallery Path</strong></label>345 <br />346 <input type="text" class="textinput" name="gallerypath" value="Galleries/gallery1/" />347 <br /><br />348 <label id="thumbpath"><strong>Thumbnail Path</strong></label>349 <br />350 <input type="text" class="textinput" name="thumbpath" value="Galleries/gallery1/thumbs/" />351 <br /> <br />352 <label id="largepath"><strong>Large Path</strong></label>353 <br />354 <input type="text" class="textinput" name="largepath" value="Galleries/gallery1/large/" /> <br />355 <small>(Fill out path even if you uploaded no large images it will detect that they're not there. unless there is no large folder)</small>356 <br /> <br />357 <div class="floatleft"><h3>Sell Prints?</h3>358 <input type="radio" name="showforsale" id="true" value="true" align="absmiddle" /><label for="true">Yes</label> <input type="radio" id="false" name="showforsale" value="false" align="absmiddle" /><label for="false">No</label>359 <br /> <br /></div>360 <div class="floatleft"><h3>Checkout Type</h3>361 <input type="radio" value="google" name="checkouttype" id="google" align="absmiddle" /><label for="google">Google Checkout</label> <input type="radio" id="paypal" value="paypal" name="checkouttype" align="absmiddle" /><label for="paypal">Paypal</label>362 <br /> <br /></div>364 <div class="floatleft"><h3>Currency:</h3>365 <input type="radio" value="USD" name="currency" id="USD" align="absmiddle" /><label for="USD">USD</label> <input type="radio" id="EURO" value="EURO" name="currency" align="absmiddle" /><label for="EURO">EURO</label>366 <br /> <br /></div>367 <div class="clear"></div>368 <input type="submit" name="submit" value="Output XML">369 </form>370 <br />371 <?php372 }else{373 ?>374 <form name="form1" method="get" action="<?php echo $_SERVER['PHP_SELF'] ;?>">375 <label id="gallerytitle"><strong>Gallery Title</strong></label>376 <br />377 <input type="text" class="textinput" name="gallerytitle" value="" />378 <br /><br />379 <label id="galleryDescription"><strong>Gallery Description</strong> <small>(No Special Characters)</small></label>380 <br />381 <textarea name="galleryDescription" rows="4" class="textinput"></textarea>382 <br /><br />383 <label id="gallerypath"><strong>Gallery Path</strong></label>384 <br />385 <input type="text" class="textinput" name="gallerypath" value="Galleries/gallery1/" />386 <br /><br />387 <label id="thumbpath"><strong>Thumbnail Path</strong></label>388 <br />389 <input type="text" class="textinput" name="thumbpath" value="Galleries/gallery1/thumbs/" />390 <br /> <br />391 <label id="largepath"><strong>Large Path</strong></label>392 <br />393 <input type="text" class="textinput" name="largepath" value="Galleries/gallery1/large/" /> <br />394 <small>(Fill out path even if you uploaded no large images it will detect that they're not there. unless there is no large folder)</small>395 <br /> <br />396 <div class="floatleft"><h3>Sell Prints?</h3>397 <input type="radio" name="showforsale" id="true" value="true" align="absmiddle" /><label for="true">Yes</label> <input type="radio" id="false" name="showforsale" value="false" align="absmiddle" /><label for="false">No</label>398 <br /> <br /></div>399 <div class="floatleft"><h3>Checkout Type</h3>400 <input type="radio" value="google" name="checkouttype" id="google" align="absmiddle" /><label for="google">Google Checkout</label> <input type="radio" id="paypal" value="paypal" name="checkouttype" align="absmiddle" /><label for="paypal">Paypal</label>401 <br /> <br /></div>403 <div class="floatleft"><h3>Currency:</h3>404 <input type="radio" value="USD" name="currency" id="USD" align="absmiddle" /><label for="USD">USD</label> <input type="radio" id="EURO" value="EURO" name="currency" align="absmiddle" /><label for="EURO">EURO</label>405 <br /> <br /></div>406 <div class="clear"></div>407 <input type="submit" name="submit" value="Output XML">408 </form>409 <?php410 }411 ?>416 <div class="dsep"></div>417 </div>418 </div>419 </body>420 </html>