incubator-olio-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ak...@apache.org
Subject svn commit: r737949 - /incubator/olio/webapp/php/trunk/public_html/addPersonResult.php
Date Tue, 27 Jan 2009 00:34:04 GMT
Author: akara
Date: Tue Jan 27 00:34:04 2009
New Revision: 737949

URL: http://svn.apache.org/viewvc?rev=737949&view=rev
Log:
Fix for issue OLIO-45: Separate out transaction from geocoder and file access

Modified:
    incubator/olio/webapp/php/trunk/public_html/addPersonResult.php

Modified: incubator/olio/webapp/php/trunk/public_html/addPersonResult.php
URL: http://svn.apache.org/viewvc/incubator/olio/webapp/php/trunk/public_html/addPersonResult.php?rev=737949&r1=737948&r2=737949&view=diff
==============================================================================
--- incubator/olio/webapp/php/trunk/public_html/addPersonResult.php (original)
+++ incubator/olio/webapp/php/trunk/public_html/addPersonResult.php Tue Jan 27 00:34:04 2009
@@ -19,7 +19,6 @@
         
 require_once("../etc/config.php");
 $connection = DBConnection::getWriteInstance();
-$connection->beginTransaction();
 
 if(isset($_POST['addpersonsubmit'])) {
 	//insert into person table using the data from addPerson page
@@ -49,18 +48,22 @@
 		$img_ext = substr($image_name,$pos,strlen($image_name));
 		$modified_image_name = "P".$username.$img_ext;
 		$resourcedir = '/tmp/';
+        $imagethumb = "P".$username."T".$img_ext;
 		$user_image_location = $resourcedir . $modified_image_name;
 		if (!move_uploaded_file($_FILES['user_image']['tmp_name'], $user_image_location)) {
 			throw new Exception("Error moving uploaded file to $user_image_location");
 		}
-                $imagethumb = "P".$username."T".$img_ext;
-                $thumb_location = $resourcedir . $imagethumb;
-                ImageUtil::createThumb($user_image_location, $thumb_location, 133, 99);
+        $thumb_location = $resourcedir . $imagethumb;
+        ImageUtil::createThumb($user_image_location, $thumb_location, 133, 99);
 		$fs = FileSystem::getInstance();
-		$fs->create($user_image_location, "NO_OP", "NO_OP");
-                $fs->create($thumb_location, "NO_OP", "NO_OP");
-		unlink($user_image_location);
-                unlink($thumb_location);
+        if (!$fs->create($user_image_location, "NO_OP", "NO_OP")) {
+            error_log("Error copying image " . $user_image_location);
+        }
+        if (!$fs->create($thumb_location, "NO_OP", "NO_OP")) {
+            error_log("Error copying thumb " . $thumb_location);
+        }
+        unlink($user_image_location);
+        unlink($thumb_location);
 	} else {
 		$modified_image_name = Web20::$config['includes'] . "userphotomissing.gif";
 		$imagethumb = Web20::$config['includes'] . "userphotomissing.gif";
@@ -71,6 +74,8 @@
 	$insertaddr = "insert into ADDRESS (street1, street2, city, state, zip, country, latitude,
longitude) ".
                       "values ('$strt1', '$street2', '$cty', '$state', '$zip', '$country',
".
                       "'$geocode->latitude', '$geocode->longitude')";
+
+    $connection->beginTransaction();
 	$connection->exec($insertaddr);
 	$cq = "select last_insert_id()";
 	$idres = $connection->query($cq);
@@ -85,9 +90,8 @@
 		$insertsql ="insert into PERSON (username,password,firstname,lastname,email,telephone,imageurl,summary,timezone,ADDRESS_addressid)
 values('$username','$pwd', '$fname','$lname','$email','$telephone','$modified_image_name','$summary','$timezone','$addrid')";
 	}
 	$insertresult = $connection->exec($insertsql);
-}
 
-if (isset($_POST['addpersonsubmitupdate'])) {
+} else if (isset($_POST['addpersonsubmitupdate'])) {
 	//update person table using the data from addPerson page
 	$username=$_POST['add_user_name'];
 	$pwd    =$_POST['psword'];
@@ -107,6 +111,9 @@
 	$timezone=$_POST['timezone'];
 
 	$image_name= basename($_FILES['user_image']['name']);
+
+    $geocode = new Geocoder($street1, $city, $state, $zip);
+
 	if ($image_name != "") {
 		$pos=strpos($image_name,'.');
 		$img_ext = substr($image_name,$pos,strlen($image_name));
@@ -120,12 +127,17 @@
                 $thumb_location = $resourcedir . $imagethumb;
                 ImageUtil::createThumb($user_image_location, $thumb_location, 133, 99);
 		$fs = FileSystem::getInstance();
-		$fs->create($user_image_location, "NO_OP", "NO_OP");
-                $fs->create($thumb_location, "NO_OP", "NO_OP");
-		unlink($user_image_location);
-                unlink($thumb_location);
+        if (!$fs->create($user_image_location, "NO_OP", "NO_OP")) {
+            error_log("Error copying image " . $user_image_location);
+        }
+        if (!$fs->create($thumb_location, "NO_OP", "NO_OP")) {
+            error_log("Error copying thumb " . $thumb_location);
+        }
+        unlink($user_image_location);
+        unlink($thumb_location);
 	} else {
 		$imgquery = "select imageurl from PERSON where username='$username' ";
+        $connection->beginTransaction();
 		$imgresult=$connection->query($imgquery);
 		while ($imgresult->next()) {
 			$modified_image_name = $imgresult->get(1);
@@ -141,8 +153,6 @@
 		unset($sumresult);
 	}
 
-	$geocode = new Geocoder($street1, $city, $state, $zip);
-
 	$insertaddr = "insert into ADDRESS (street1, street2, city, state, zip, country, latitude,
longitude) ".
                       "values ('$strt1', '$street2', '$cty', '$state', '$zip', '$country',
".
                       "'$geocode->latitude', '$geocode->longitude')";



Mime
View raw message