fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [9557] Merge 9554:9556 from trunk


From: Sigurd Nes
Subject: [Fmsystem-commits] [9557] Merge 9554:9556 from trunk
Date: Tue, 12 Jun 2012 09:44:28 +0000

Revision: 9557
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=9557
Author:   sigurdne
Date:     2012-06-12 09:44:28 +0000 (Tue, 12 Jun 2012)
Log Message:
-----------
Merge 9554:9556 from trunk

Modified Paths:
--------------
    branches/Version-1_0-branch/property/inc/class.soentity.inc.php
    
branches/Version-1_0-branch/property/inc/import/default/cvs_import_kunstoversikt_bkb

Property Changed:
----------------
    branches/Version-1_0-branch/


Property changes on: branches/Version-1_0-branch
___________________________________________________________________
Modified: svn:mergeinfo
   - 
/trunk:6439-6441,6443,6445-6447,6449-6464,6466-6468,6470-6474,6476-6477,6479-6480,6483-6488,6490-6491,6493-6494,6496-6501,6503-6504,6506,6508,6510-6511,6513,6515-6516,6518,6520-6524,6526-6528,6533-6534,6536-6541,6543-6565,6567,6569,6571-6576,6578,6580-6586,6588-6596,6598-6600,6602-6604,6606-6607,6609-6611,6613-6625,6629-6639,6641-6643,6645-6646,6648,6650-6654,6656-6659,6661-6663,6665-6666,6668-6669,6672-6673,6675,6677-6678,6680,6682-6686,6688-6717,6719,6721-6722,6724-6728,6730,6732-6734,6736-6739,6741,6743,6745-6746,6748-6756,6758-6762,6764,6766-6788,6790,6792-6798,6800-6814,6816-6819,6821-6822,6824-6826,6828-6837,6839,6841,6843-6849,6851,6853-6869,6871-6874,6876-6877,6879,6881,6883,6885-6886,6888-6893,6895-6897,6899-6901,6903,6905-6907,6909,6911-6929,6931-6936,6938-6947,6949,6951,6953,6955-6956,6958-6959,6961-6968,6970-6971,6973-6974,6976-6978,6980,6982-7017,7019-7025,7027-7035,7037-7039,7041-7045,7047-7055,7057,7059-7065,7067-7069,7071,7073,7075-7076,7078,7080-7081,7083,7085,7087,7089-7097,7099-7102,7104-7105,7107-7111,7113-7120,7122-7124,7126-7129,7131,7133-7141,7143,7145-7146,7148-7150,7152-7153,7155-7158,7160-7164,7166-7167,7169-7170,7172,7174,7176,7178,7180-7181,7183,7185,7187-7188,7190,7192-7196,7198-7199,7201-7203,7205,7207,7209-7210,7212,7214,7216-7217,7219-7222,7224-7226,7228-7229,7231,7233-7234,7236-7238,7240-7241,7243-7244,7246,7248,7250,7252-7256,7258-7259,7261-7264,7266-7273,7275-7279,7281-7332,7334-7338,7340-7348,7350,7352-7353,7355-7361,7363-7366,7368-7370,7372,7374,7376,7378,7380-7386,7388-7400,7402,7404-7433,7435-7439,7441-7446,7448-7458,7460-7469,7471-7483,7485-7487,7489-7490,7492,7494,7496-7497,7499,7501-7502,7504,7506-7507,7509-7511,7513-7517,7519-7521,7523,7525,7527-7529,7531,7533,7535-7538,7540-7542,7544-7549,7551-7552,7554-7561,7563,7565,7567-7573,7575-7578,7580-7584,7586-7591,7593-7624,7627-7636,7638-7656,7658-7718,7720-7732,7734,7736,7738-7750,7754-7759,7761-7767,7769-7780,7782,7784-7809,7811-7812,7814-7835,7837-7847,7849-7887,7889-7895,7897,7899,7901,7903-7905,7907-7921,7923-7925,7927-7933,7935,7937-7952,7954-7968,7970-7974,7976,7978-7979,7981-7982,7984-7988,7990-7992,7994-8041,8043-8066,8068-8087,8089,8091-8108,8110-8124,8126-8129,8131,8133-8150,8152-8154,8156-8162,8164-8167,8169-8170,8172-8179,8181,8183-8196,8198-8207,8209-8211,8213-8214,8216-8217,8219-8220,8222,8224-8225,8227-8247,8249,8251,8253-8282,8284-8352,8354-8368,8370-8396,8398-8430,8432,8434-8440,8442-8445,8447-8453,8455-8456,8458,8460,8462-8464,8466-8473,8475-8479,8481,8483-8501,8503-8523,8525,8527-8531,8533,8535-8536,8538-8550,8552-8554,8556-8557,8559-8579,8581-8587,8589,8591-8592,8594-8595,8597-8601,8603-8610,8612-8613,8615,8617,8619-8645,8647-8650,8652-8661,8663-8666,8668-8669,8671-8683,8685-8691,8693-8730,8732-8737,8739,8741-8767,8769,8771-8772,8774,8776-8797,8799-8812,8814-8819,8821,8823-8833,8835-8837,8839,8841,8843-8849,8852-8858,8860-8867,8869-8870,8872,8874-8877,8879,8881,8883-8888,8890,8892-8901,8903-8911,8913-8917,8920-8923,8925-8933,8935-8938,8940-8943,8945,8947-8948,8950,8952-8953,8955-8962,8964,8966,8968-8970,8972-8975,8977-8983,8985-8993,8995-9001,9003,9005,9007,9009,9011-9019,9021-9023,9025,9027-9028,9030-9044,9046-9047,9049-9050,9052-9056,9058-9059,9061,9063-9064,9066-9068,9071-9092,9094-9112,9114-9117,9119,9121-9160,9162-9166,9169-9207,9209-9211,9213-9215,9217,9219,9221-9253,9255,9257,9259-9260,9262,9264-9269,9271-9273,9275,9277-9278,9280,9282-9283,9285-9289,9291-9299,9301-9310,9312-9313,9315-9320,9322-9324,9326-9338,9340-9342,9344,9346-9348,9350-9358,9360-9362,9364-9366,9368-9374,9376-9382,9384,9386,9388-9390,9392-9396,9398-9402,9404-9410,9412,9414,9416-9417,9419-9425,9427,9429-9430,9432,9434-9463,9465-9502,9504-9506,9508-9521,9523-9526,9528,9530-9537,9539,9541-9551,9553
   + 
/trunk:6439-6441,6443,6445-6447,6449-6464,6466-6468,6470-6474,6476-6477,6479-6480,6483-6488,6490-6491,6493-6494,6496-6501,6503-6504,6506,6508,6510-6511,6513,6515-6516,6518,6520-6524,6526-6528,6533-6534,6536-6541,6543-6565,6567,6569,6571-6576,6578,6580-6586,6588-6596,6598-6600,6602-6604,6606-6607,6609-6611,6613-6625,6629-6639,6641-6643,6645-6646,6648,6650-6654,6656-6659,6661-6663,6665-6666,6668-6669,6672-6673,6675,6677-6678,6680,6682-6686,6688-6717,6719,6721-6722,6724-6728,6730,6732-6734,6736-6739,6741,6743,6745-6746,6748-6756,6758-6762,6764,6766-6788,6790,6792-6798,6800-6814,6816-6819,6821-6822,6824-6826,6828-6837,6839,6841,6843-6849,6851,6853-6869,6871-6874,6876-6877,6879,6881,6883,6885-6886,6888-6893,6895-6897,6899-6901,6903,6905-6907,6909,6911-6929,6931-6936,6938-6947,6949,6951,6953,6955-6956,6958-6959,6961-6968,6970-6971,6973-6974,6976-6978,6980,6982-7017,7019-7025,7027-7035,7037-7039,7041-7045,7047-7055,7057,7059-7065,7067-7069,7071,7073,7075-7076,7078,7080-7081,7083,7085,7087,7089-7097,7099-7102,7104-7105,7107-7111,7113-7120,7122-7124,7126-7129,7131,7133-7141,7143,7145-7146,7148-7150,7152-7153,7155-7158,7160-7164,7166-7167,7169-7170,7172,7174,7176,7178,7180-7181,7183,7185,7187-7188,7190,7192-7196,7198-7199,7201-7203,7205,7207,7209-7210,7212,7214,7216-7217,7219-7222,7224-7226,7228-7229,7231,7233-7234,7236-7238,7240-7241,7243-7244,7246,7248,7250,7252-7256,7258-7259,7261-7264,7266-7273,7275-7279,7281-7332,7334-7338,7340-7348,7350,7352-7353,7355-7361,7363-7366,7368-7370,7372,7374,7376,7378,7380-7386,7388-7400,7402,7404-7433,7435-7439,7441-7446,7448-7458,7460-7469,7471-7483,7485-7487,7489-7490,7492,7494,7496-7497,7499,7501-7502,7504,7506-7507,7509-7511,7513-7517,7519-7521,7523,7525,7527-7529,7531,7533,7535-7538,7540-7542,7544-7549,7551-7552,7554-7561,7563,7565,7567-7573,7575-7578,7580-7584,7586-7591,7593-7624,7627-7636,7638-7656,7658-7718,7720-7732,7734,7736,7738-7750,7754-7759,7761-7767,7769-7780,7782,7784-7809,7811-7812,7814-7835,7837-7847,7849-7887,7889-7895,7897,7899,7901,7903-7905,7907-7921,7923-7925,7927-7933,7935,7937-7952,7954-7968,7970-7974,7976,7978-7979,7981-7982,7984-7988,7990-7992,7994-8041,8043-8066,8068-8087,8089,8091-8108,8110-8124,8126-8129,8131,8133-8150,8152-8154,8156-8162,8164-8167,8169-8170,8172-8179,8181,8183-8196,8198-8207,8209-8211,8213-8214,8216-8217,8219-8220,8222,8224-8225,8227-8247,8249,8251,8253-8282,8284-8352,8354-8368,8370-8396,8398-8430,8432,8434-8440,8442-8445,8447-8453,8455-8456,8458,8460,8462-8464,8466-8473,8475-8479,8481,8483-8501,8503-8523,8525,8527-8531,8533,8535-8536,8538-8550,8552-8554,8556-8557,8559-8579,8581-8587,8589,8591-8592,8594-8595,8597-8601,8603-8610,8612-8613,8615,8617,8619-8645,8647-8650,8652-8661,8663-8666,8668-8669,8671-8683,8685-8691,8693-8730,8732-8737,8739,8741-8767,8769,8771-8772,8774,8776-8797,8799-8812,8814-8819,8821,8823-8833,8835-8837,8839,8841,8843-8849,8852-8858,8860-8867,8869-8870,8872,8874-8877,8879,8881,8883-8888,8890,8892-8901,8903-8911,8913-8917,8920-8923,8925-8933,8935-8938,8940-8943,8945,8947-8948,8950,8952-8953,8955-8962,8964,8966,8968-8970,8972-8975,8977-8983,8985-8993,8995-9001,9003,9005,9007,9009,9011-9019,9021-9023,9025,9027-9028,9030-9044,9046-9047,9049-9050,9052-9056,9058-9059,9061,9063-9064,9066-9068,9071-9092,9094-9112,9114-9117,9119,9121-9160,9162-9166,9169-9207,9209-9211,9213-9215,9217,9219,9221-9253,9255,9257,9259-9260,9262,9264-9269,9271-9273,9275,9277-9278,9280,9282-9283,9285-9289,9291-9299,9301-9310,9312-9313,9315-9320,9322-9324,9326-9338,9340-9342,9344,9346-9348,9350-9358,9360-9362,9364-9366,9368-9374,9376-9382,9384,9386,9388-9390,9392-9396,9398-9402,9404-9410,9412,9414,9416-9417,9419-9425,9427,9429-9430,9432,9434-9463,9465-9502,9504-9506,9508-9521,9523-9526,9528,9530-9537,9539,9541-9551,9553,9555-9556

Modified: branches/Version-1_0-branch/property/inc/class.soentity.inc.php
===================================================================
--- branches/Version-1_0-branch/property/inc/class.soentity.inc.php     
2012-06-12 09:43:44 UTC (rev 9556)
+++ branches/Version-1_0-branch/property/inc/class.soentity.inc.php     
2012-06-12 09:44:28 UTC (rev 9557)
@@ -1814,6 +1814,11 @@
                {
                        $location_id = (int) $location_id;
                        $id = (int) $id;
+
+                       $this->db->query("SELECT id as type FROM fm_bim_type 
WHERE location_id = {$location_id}",__LINE__,__FILE__);
+                       $this->db->next_record();
+                       $type = (int)$this->db->f('type');
+
                        $location_name = str_replace('.', '_', $location_name); 
                
 
                        phpgw::import_class('phpgwapi.xmlhelper');
@@ -1848,7 +1853,7 @@
                        );
 
                        $value_set      = 
$this->db->validate_update($value_set);
-                       return $this->db->query("UPDATE fm_bim_item SET 
$value_set WHERE id = $id",__LINE__,__FILE__);
+                       return $this->db->query("UPDATE fm_bim_item SET 
$value_set WHERE id = $id AND type = {$type}",__LINE__,__FILE__);
                }
 
                function edit($values,$values_attribute,$entity_id,$cat_id)
@@ -2007,6 +2012,8 @@
                        $cat_id         = (int) $cat_id;
                        $id                     = (int) $id;
 
+                       $location2_id   = 
$GLOBALS['phpgw']->locations->get_id($this->type_app[$this->type], 
".{$this->type}.{$entity_id}.{$cat_id}");  
+
                        $admin_entity   = 
CreateObject('property.soadmin_entity');
                        $admin_entity->type = $this->type;
                        $category = 
$admin_entity->read_single_category($entity_id, $cat_id);
@@ -2015,7 +2022,10 @@
 
                        if($category['is_eav'])
                        {
-                               $this->db->query("DELETE FROM fm_bim_item WHERE 
id = $id",__LINE__,__FILE__);
+                               $this->db->query("SELECT id as type FROM 
fm_bim_type WHERE location_id = {$location_id}",__LINE__,__FILE__);
+                               $this->db->next_record();
+                               $type = (int)$this->db->f('type');
+                               $this->db->query("DELETE FROM fm_bim_item WHERE 
id = $id AND type = {$type}",__LINE__,__FILE__);
                        }
                        else
                        {
@@ -2023,7 +2033,7 @@
                                $this->db->query("DELETE FROM $table WHERE id = 
$id",__LINE__,__FILE__);
                        }
 
-                       $location2_id   = 
$GLOBALS['phpgw']->locations->get_id($this->type_app[$this->type], 
".{$this->type}.{$entity_id}.{$cat_id}");                  
+
                        $this->db->query("DELETE FROM phpgw_interlink WHERE 
location2_id ={$location2_id} AND location2_item_id = {$id}",__LINE__,__FILE__);
                        $this->db->transaction_commit();
                }

Modified: 
branches/Version-1_0-branch/property/inc/import/default/cvs_import_kunstoversikt_bkb
===================================================================
--- 
branches/Version-1_0-branch/property/inc/import/default/cvs_import_kunstoversikt_bkb
        2012-06-12 09:43:44 UTC (rev 9556)
+++ 
branches/Version-1_0-branch/property/inc/import/default/cvs_import_kunstoversikt_bkb
        2012-06-12 09:44:28 UTC (rev 9557)
@@ -6,12 +6,26 @@
                public $warnings = array();
                public $errors = array();
                public $debug = true;
+               protected $is_eav;
+               protected $location_id;
+               protected $bim_type_id;
 
                public function __construct()
                {
                        set_time_limit(10000); //Set the time limit for this 
request
                        $this->account          = 
(int)$GLOBALS['phpgw_info']['user']['account_id'];
                        $this->db           = & $GLOBALS['phpgw']->db;
+                       $this->join                     = $this->db->join;
+                       $admin_entity   = 
CreateObject('property.soadmin_entity');
+                       $admin_entity->type = 'entity';
+                       $category = $admin_entity->read_single_category(4, 1);
+                       $this->is_eav = !!$category['is_eav'];
+                       $this->location_id = 
$GLOBALS['phpgw']->locations->get_id('property', ".entity.4.1");
+
+                       $sql = "SELECT fm_bim_type.id FROM fm_bim_type WHERE 
location_id = {$this->location_id}";
+                       $this->db->query($sql,__LINE__,__FILE__);
+                       $this->db->next_record();
+                       $this->bim_type_id = $this->db->f('id');
                }
 
                public function add($data)
@@ -32,7 +46,7 @@
     [12] => Tilstand
 */
                        $error = false;
-                       $table = 'fm_entity_4_1';
+
                        $plassering = explode('.', $data[3]);
                        $byggid = $plassering[1];
                        if(!$byggid)
@@ -63,16 +77,16 @@
 
                        $location_code = substr($byggid,0,4) . '-0' . 
substr($byggid,-1);
 //_debug_array($location_code);
+
                        $location_data = 
execMethod('property.solocation.read_single', $location_code );
-//_debug_array($data);
-//_debug_array($location_data);die();
-                       if(!$location_data)
+                       if(!$location_data['loc1'])
                        {
                                $this->errors[] = "Error importing location: 
{$location_code}";
                                $error = true;
-                               return false;
+                               return true;
                        }
 
+
                        if($location_data['street_name'])
                        {
                                $address[]= $location_data['street_name'];
@@ -80,6 +94,29 @@
                                $address        = 
$this->db->db_addslashes(implode(" ", $address));
                        }
 
+
+                       $loc3_data = explode('.........',$data[3]);
+
+                       $loc3_data2 = explode('.',$loc3_data[1] );
+
+                       if(ctype_digit($loc3_data2[0]))
+                       {
+                               $location_code .= '-' . 
sprintf("%02s",$loc3_data2[0]);
+                       }
+
+/*
+_debug_array($loc3_data2);
+_debug_array($location_code);
+die();
+*/
+                       $_location_data = 
execMethod('property.solocation.read_single', $location_code );
+//_debug_array($data);
+                       if(!$_location_data['loc1'])
+                       {
+                               $location_code = substr($byggid,0,4) . '-0' . 
substr($byggid,-1);
+                       }
+
+
                        if(!$address)
                        {
                                $address = 
$this->db->db_addslashes($location_data['loc1_name']);
@@ -117,6 +154,7 @@
                        $value_set['tilstand']                          = 
$this->db->db_addslashes($data[12]);
                $value_set['tilstandsgrad']                     = 
(int)substr($data[12],0,1) + 1;
                $value_set['paafort_text']                      = 
$this->db->db_addslashes($data[13]);
+
 /*
 *    [0] => Identifikasjonsnr
 *    [1] => Betegnelse
@@ -132,7 +170,134 @@
 *    [11] => Historikk
 *    [12] => Tilstand
 */
+                       if($this->is_eav)
+                       {
+                               $ok = $this->_add_eav($id,$value_set);
+                       }
+                       else
+                       {
+                               $ok = $this->_add_eav($id,$value_set);          
        
+                       }
+                       
+                       return $ok;
 
+               }
+               
+               private function _add_eav($id,$data)
+               {
+                       $location_id = (int)$this->location_id;
+                       $sql = "SELECT fm_bim_item.id FROM fm_bim_item WHERE 
fm_bim_item.type = {$this->bim_type_id} AND fm_bim_item.id = {$id}";
+                       $this->db->query($sql,__LINE__,__FILE__);
+
+//                     $this->db->query("SELECT id as type FROM fm_bim_type 
WHERE location_id = {$location_id}",__LINE__,__FILE__);
+//                     $this->db->next_record();
+                       $type = (int)$this->bim_type_id;
+
+
+                       $location_name = '_entity_4_1';
+               
+                       if($this->db->next_record())
+                       {
+                               $this->warnings[] = "ID finnes fra før: {$id}, 
oppdaterer";
+
+
+                               phpgw::import_class('phpgwapi.xmlhelper');
+
+                               $xmldata = phpgwapi_xmlhelper::toXML($data, 
$location_name);
+                               $doc = new DOMDocument;
+                               $doc->preserveWhiteSpace = true;
+                               $doc->loadXML( $xmldata );
+                               $domElement = 
$doc->getElementsByTagName($location_name)->item(0);
+                               $domAttribute = 
$doc->createAttribute('appname');
+                               $domAttribute->value = 'property';
+
+                               // Don't forget to append it to the element
+                               $domElement->appendChild($domAttribute);
+
+                               // Append it to the document itself
+                               $doc->appendChild($domElement);
+
+                               $doc->formatOutput = true;
+                               $xml = $doc->saveXML();
+
+//                             _debug_array($xml);
+
+                               $value_set = array
+                               (
+                                       'xml_representation'    => 
$this->db->db_addslashes($xml),
+                                       'p_location_id'                 => 
isset($data['p_location_id']) && $data['p_location_id'] ? 
$data['p_location_id'] : '',
+                                       'p_id'                                  
=> isset($data['p_id']) && $data['p_id'] ? $data['p_id'] : '',
+                                       'location_code'                 => 
$data['location_code'],
+                                       'loc1'                                  
=> $data['loc1'],
+                                       'address'                               
=> $data['address'],
+                               );
+
+                               $value_set      = 
$this->db->validate_update($value_set);
+
+                               return $this->db->query("UPDATE fm_bim_item SET 
$value_set WHERE id = $id AND type = {$type}",__LINE__,__FILE__);
+                       }
+                       else
+                       {
+                               $data['id'] = $id;
+                               $this->warnings[] = "Denne er ny: {$id}, legger 
til";
+
+                               phpgw::import_class('phpgwapi.xmlhelper');
+                               $xmldata = phpgwapi_xmlhelper::toXML($data, 
$location_name);
+                               $doc = new DOMDocument;
+                               $doc->preserveWhiteSpace = true;
+                               $doc->loadXML( $xmldata );
+                               $domElement = 
$doc->getElementsByTagName($location_name)->item(0);
+                               $domAttribute = 
$doc->createAttribute('appname');
+                               $domAttribute->value = 'property';
+
+                               // Don't forget to append it to the element
+                               $domElement->appendChild($domAttribute);
+
+                               // Append it to the document itself
+                               $doc->appendChild($domElement);
+                               $doc->formatOutput = true;
+                       
+                               $xml = $doc->saveXML();
+
+                       //      _debug_array($xml);
+
+                               if (function_exists('com_create_guid') === true)
+                               {
+                                       $guid = trim(com_create_guid(), '{}');
+                               }
+                               else
+                               {
+                                       $guid = 
sprintf('%04X%04X-%04X-%04X-%04X-%04X%04X%04X', mt_rand(0, 65535), mt_rand(0, 
65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(32768, 49151), 
mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535));
+                               }
+
+                               $values_insert = array
+                               (
+                                       'id'                                    
=> $id,
+                                       'type'                                  
=> $type,
+                                       'guid'                                  
=> $guid,
+                                       'xml_representation'    => 
$this->db->db_addslashes($xml),
+                                       'model'                                 
=> 0,
+                                       'p_location_id'                 => 
isset($data['p_location_id']) && $data['p_location_id'] ? 
$data['p_location_id'] : '',
+                                       'p_id'                                  
=> isset($data['p_id']) && $data['p_id'] ? $data['p_id'] : '',
+                                       'location_code'                 => 
$data['location_code'],
+                                       'loc1'                                  
=> $data['loc1'],
+                                       'address'                               
=> $data['address'],
+                                       'entry_date'                    => 
time(),
+                                       'user_id'                               
=> $this->account
+                               );
+
+                               return $this->db->query("INSERT INTO 
fm_bim_item (" . implode(',',array_keys($values_insert)) . ') VALUES ('
+                                . 
$this->db->validate_insert(array_values($values_insert)) . 
')',__LINE__,__FILE__);
+
+                       }
+
+               }
+
+               private function _add_sql()
+               {
+                       $request_ok = false;
+                       $table = 'fm_entity_4_1';               
+
                        $this->db->query("SELECT id FROM {$table} WHERE id = 
{$id}",__LINE__,__FILE__);
                        if($this->db->next_record())
                        {
@@ -159,7 +324,7 @@
                                $request_ok = 
$this->db->query($sql,__LINE__,__FILE__);
                        }
 
-                       if(!$error)
+                       if(!$request_ok)
                        {
                                $this->messages[] = "Successfully imported 
location: Title ({$data[1]})";
                                $ok = true;
@@ -170,5 +335,7 @@
                                $ok = false;
                        }
                        return $ok;
+
                }
+
        }




reply via email to

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