fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [8005] fixed duplicate import of arenas


From: Erik Holm-Larsen
Subject: [Fmsystem-commits] [8005] fixed duplicate import of arenas
Date: Thu, 03 Nov 2011 12:16:29 +0000

Revision: 8005
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=8005
Author:   erikhl
Date:     2011-11-03 12:16:29 +0000 (Thu, 03 Nov 2011)
Log Message:
-----------
fixed duplicate import of arenas

Modified Paths:
--------------
    trunk/activitycalendar/inc/class.soarena.inc.php
    trunk/activitycalendar/inc/class.uiimport.inc.php

Modified: trunk/activitycalendar/inc/class.soarena.inc.php
===================================================================
--- trunk/activitycalendar/inc/class.soarena.inc.php    2011-11-03 09:12:52 UTC 
(rev 8004)
+++ trunk/activitycalendar/inc/class.soarena.inc.php    2011-11-03 12:16:29 UTC 
(rev 8005)
@@ -296,5 +296,18 @@
                $result = implode(' ' , $result_arr);
                return $result;
        }
+       
+       public function get_arena_id_by_name($arena_name)
+       {
+               $result = 0;
+               if(isset($arena_name) && $arena_name != ''){
+               $q1="SELECT id FROM activity_arena WHERE UPPER(arena_name) = 
UPPER('{$arena_name}')";
+                       $this->db->query($q1, __LINE__, __FILE__);
+                       while($this->db->next_record()){
+                               $result = $this->db->f('id');
+                       }
+       }
+       return $result;
+       }
 }
 ?>
\ No newline at end of file

Modified: trunk/activitycalendar/inc/class.uiimport.inc.php
===================================================================
--- trunk/activitycalendar/inc/class.uiimport.inc.php   2011-11-03 09:12:52 UTC 
(rev 8004)
+++ trunk/activitycalendar/inc/class.uiimport.inc.php   2011-11-03 12:16:29 UTC 
(rev 8005)
@@ -232,21 +232,30 @@
                                        $arena_name = $this->decode($data[8]);
                                        $arena_address = 
$this->decode($data[10]);
                                        $curr_arena_id = 0;
+                                       $existing_arena_id = 0;
                                        $internal_arena_id = "";
        
                                        if($arena_name){
-                                               
$arena->set_arena_name($arena_name);
-                                               
$arena->set_address($arena_address);
-               
-                                               // All is good, store 
notification
-                                               if ($soarena->store($arena)) {
-                                                       $this->messages[] = 
"Successfully imported arena: Name ({$arena_name})";
-                                                       $curr_arena_id = 
$arena->get_id();
-                                               } else {
-                                                       $this->errors[] = 
"Error importing arena: Name ({$arena_name})";
-                                                       $curr_arena_id = 0;
-                                                       $arenaOK = false;
+                                               $existing_arena_id = 
$soarena->get_arena_id_by_name($arena_name);
+                                               if($existing_arena_id > 0)
+                                               {
+                                                       $curr_arena_id = 
$existing_arena_id;
                                                }
+                                               else
+                                               {
+                                                       
$arena->set_arena_name($arena_name);
+                                                       
$arena->set_address($arena_address);
+                       
+                                                       // All is good, store 
notification
+                                                       if 
($soarena->store($arena)) {
+                                                               
$this->messages[] = "Successfully imported arena: Name ({$arena_name})";
+                                                               $curr_arena_id 
= $arena->get_id();
+                                                       } else {
+                                                               $this->errors[] 
= "Error importing arena: Name ({$arena_name})";
+                                                               $curr_arena_id 
= 0;
+                                                               $arenaOK = 
false;
+                                                       }
+                                               }
                                        }
                                        else
                                        {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]