fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [11527] Merge 11524:11526 from trunk


From: Sigurd Nes
Subject: [Fmsystem-commits] [11527] Merge 11524:11526 from trunk
Date: Thu, 12 Dec 2013 13:31:29 +0000

Revision: 11527
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=11527
Author:   sigurdne
Date:     2013-12-12 13:31:29 +0000 (Thu, 12 Dec 2013)
Log Message:
-----------
Merge 11524:11526 from trunk

Modified Paths:
--------------
    branches/Version-1_0-branch/property/inc/class.botts.inc.php
    branches/Version-1_0-branch/property/inc/class.sotts.inc.php
    branches/Version-1_0-branch/property/inc/class.uitts.inc.php
    
branches/Version-1_0-branch/property/inc/cron/default/Import_fra_agresso_X205.php

Added Paths:
-----------
    
branches/Version-1_0-branch/property/inc/cron/default/import_oppdatering_av_bestilling_fra_agresso_bkb.php

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,9555-9556,9558-9578,9580-9581,9583,9585,9587,9589,9591-9624,9626-9655,9657-9700,9702-9726,9728-9729,9731-9749,9751,9753-9754,9756-9832,9834-9836,9838-9839,9841-9846,9848-9850,9852-9858,9860-9863,9865,9867,9869-9871,9873-9893,9895,9897-9912,9914-9919,9921-9928,9930-9952,9954,9956,9958-9963,9965-9993,9995-9997,9999-10001,10003-10004,10006-10007,10009-10012,10014-10031,10033-10073,10075-10107,10109-10165,10167-10210,10222-10226,10228-10311,10313-10378,10380,10382,10384-10393,10395-10478,10480-10482,10484-10494,10496-10503,10505,10507,10509-10521,10523,10525-10528,10530-10540,10542-10543,10545-10568,10570-10584,10586-10590,10592-10594,10596,10598-10599,10601-10611,10613,10615,10617-10626,10628-10636,10638,10640-10654,10656-10658,10660,10662-10672,10674,10676-10682,10684,10686,10688-10690,10692-10694,10696-10697,10699-10701,10703,10705-10706,10708-10724,10726-10731,10734,10736-10748,10750-10796,10798-10939,10941,10943,10945,10947-10953,10955,10957-10961,10963,10965-10966,10968-11001,11003-11030,11032-11034,11036,11038,11040,11042-11053,11055-11059,11061-11062,11064-11068,11070-11073,11075-11077,11079-11083,11085,11087-11088,11090-11093,11095-11108,11110-11111,11113,11115-11116,11118-11120,11122,11124-11129,11131-11132,11134,11136,11138,11140-11151,11153-11161,11163-11185,11187-11189,11191-11229,11231,11233,11235-11264,11266-11267,11269-11278,11280-11282,11284-11291,11293-11295,11297,11299-11302,11304,11306,11309,11311,11313-11316,11318-11323,11325-11332,11334,11336-11344,11346,11348-11354,11356,11358-11360,11363-11386,11388-11389,11391-11392,11394,11396-11403,11405-11406,11408,11410,11412,11415,11417,11419-11420,11422,11424-11429,11431-11442,11444-11445,11447-11460,11462-11464,11466-11470,11472-11475,11477-11478,11480-11487,11489-11492,11494,11496,11498,11500-11502,11504-11506,11508,11510-11511,11513,11515,11517-11523
   + 
/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,9558-9578,9580-9581,9583,9585,9587,9589,9591-9624,9626-9655,9657-9700,9702-9726,9728-9729,9731-9749,9751,9753-9754,9756-9832,9834-9836,9838-9839,9841-9846,9848-9850,9852-9858,9860-9863,9865,9867,9869-9871,9873-9893,9895,9897-9912,9914-9919,9921-9928,9930-9952,9954,9956,9958-9963,9965-9993,9995-9997,9999-10001,10003-10004,10006-10007,10009-10012,10014-10031,10033-10073,10075-10107,10109-10165,10167-10210,10222-10226,10228-10311,10313-10378,10380,10382,10384-10393,10395-10478,10480-10482,10484-10494,10496-10503,10505,10507,10509-10521,10523,10525-10528,10530-10540,10542-10543,10545-10568,10570-10584,10586-10590,10592-10594,10596,10598-10599,10601-10611,10613,10615,10617-10626,10628-10636,10638,10640-10654,10656-10658,10660,10662-10672,10674,10676-10682,10684,10686,10688-10690,10692-10694,10696-10697,10699-10701,10703,10705-10706,10708-10724,10726-10731,10734,10736-10748,10750-10796,10798-10939,10941,10943,10945,10947-10953,10955,10957-10961,10963,10965-10966,10968-11001,11003-11030,11032-11034,11036,11038,11040,11042-11053,11055-11059,11061-11062,11064-11068,11070-11073,11075-11077,11079-11083,11085,11087-11088,11090-11093,11095-11108,11110-11111,11113,11115-11116,11118-11120,11122,11124-11129,11131-11132,11134,11136,11138,11140-11151,11153-11161,11163-11185,11187-11189,11191-11229,11231,11233,11235-11264,11266-11267,11269-11278,11280-11282,11284-11291,11293-11295,11297,11299-11302,11304,11306,11309,11311,11313-11316,11318-11323,11325-11332,11334,11336-11344,11346,11348-11354,11356,11358-11360,11363-11386,11388-11389,11391-11392,11394,11396-11403,11405-11406,11408,11410,11412,11415,11417,11419-11420,11422,11424-11429,11431-11442,11444-11445,11447-11460,11462-11464,11466-11470,11472-11475,11477-11478,11480-11487,11489-11492,11494,11496,11498,11500-11502,11504-11506,11508,11510-11511,11513,11515,11517-11523,11525-11526

Modified: branches/Version-1_0-branch/property/inc/class.botts.inc.php
===================================================================
--- branches/Version-1_0-branch/property/inc/class.botts.inc.php        
2013-12-12 13:29:42 UTC (rev 11526)
+++ branches/Version-1_0-branch/property/inc/class.botts.inc.php        
2013-12-12 13:31:29 UTC (rev 11527)
@@ -1368,7 +1368,11 @@
 
                public function update_status($data, $id = 0)
                {
-                       $receipt        = $this->so->update_status($data, $id);
+                       $receipt = array();
+                       if ($this->so->update_status($data, $id))
+                       {
+                               $receipt['message'][]= array('msg' => 
lang('Ticket %1 has been updated',$id));
+                       }
                        $this->fields_updated = $this->so->fields_updated;
                        return $receipt;
                }

Modified: branches/Version-1_0-branch/property/inc/class.sotts.inc.php
===================================================================
--- branches/Version-1_0-branch/property/inc/class.sotts.inc.php        
2013-12-12 13:29:42 UTC (rev 11526)
+++ branches/Version-1_0-branch/property/inc/class.sotts.inc.php        
2013-12-12 13:31:29 UTC (rev 11527)
@@ -36,6 +36,7 @@
 
        class property_sotts
        {
+               var $fields_updated                     = false;
                var $uicols_related                     = array();
                var $acl_location                       = '.ticket';
                public $total_records           = 0;
@@ -899,7 +900,6 @@
                function update_status($ticket,$id = 0)
                {
                        $id = (int) $id;
-                       $receipt = array();
                        // DB Content is fresher than http posted value.
                        $this->db->query("select * from fm_tts_tickets where 
id='$id'",__LINE__,__FILE__);
                        $this->db->next_record();
@@ -982,7 +982,6 @@
                        if ($this->fields_updated)
                        {
                                $this->db->query('UPDATE fm_tts_tickets SET 
modified_date= ' . time() . " WHERE id={$id}",__LINE__,__FILE__);
-                               $receipt['message'][]= array('msg' => 
lang('Ticket %1 has been updated',$id));
                        }
 
                        if ( !$this->global_lock )
@@ -990,7 +989,7 @@
                                $this->db->transaction_commit();
                        }
 
-                       return $receipt;
+                       return $this->fields_updated;
 
                }
 

Modified: branches/Version-1_0-branch/property/inc/class.uitts.inc.php
===================================================================
--- branches/Version-1_0-branch/property/inc/class.uitts.inc.php        
2013-12-12 13:29:42 UTC (rev 11526)
+++ branches/Version-1_0-branch/property/inc/class.uitts.inc.php        
2013-12-12 13:31:29 UTC (rev 11527)
@@ -296,7 +296,7 @@
                                }
                        }
 
-                       $receipt        = 
$this->bo->update_status(array('status'=>$new_status),$id);
+                       
$this->bo->update_status(array('status'=>$new_status),$id);
                        if 
((isset($this->bo->config->config_data['mailnotification']) && 
$this->bo->config->config_data['mailnotification'])
                                || 
(isset($GLOBALS['phpgw_info']['user']['preferences']['property']['tts_notify_me'])
                                                && 
$GLOBALS['phpgw_info']['user']['preferences']['property']['tts_notify_me']==1
@@ -304,9 +304,17 @@
                                        )
                        )
                        {
-                               $receipt = $this->bo->mail_ticket($id, 
$this->bo->fields_updated, $receipt);
+                               $this->bo->mail_ticket($id, 
$this->bo->fields_updated, $receipt);
                        }
-                       return "id {$id} " . lang('Status has been changed');
+                       
+                       if($this->bo->fields_updated)
+                       {
+                               return "id {$id} " . lang('Status has been 
changed');
+                       }
+                       else
+                       {
+                               return "id {$id} " . lang('Status has not been 
changed');
+                       }
                }
 
                function edit_priority()

Modified: 
branches/Version-1_0-branch/property/inc/cron/default/Import_fra_agresso_X205.php
===================================================================
--- 
branches/Version-1_0-branch/property/inc/cron/default/Import_fra_agresso_X205.php
   2013-12-12 13:29:42 UTC (rev 11526)
+++ 
branches/Version-1_0-branch/property/inc/cron/default/Import_fra_agresso_X205.php
   2013-12-12 13:31:29 UTC (rev 11527)
@@ -449,7 +449,7 @@
                                        {
                                                foreach($files as $file_name)
                                                {
-                                                       if( stripos( 
$file_name, 'x205' ) === 0)
+                                                       if( stripos( 
$file_name, 'Px205' ) === 0)
                                                        {
                                                //              
_debug_array($file_name);
                                                                $file_remote = 
"{$directory_remote}/{$file_name}";         

Copied: 
branches/Version-1_0-branch/property/inc/cron/default/import_oppdatering_av_bestilling_fra_agresso_bkb.php
 (from rev 11526, 
trunk/property/inc/cron/default/import_oppdatering_av_bestilling_fra_agresso_bkb.php)
===================================================================
--- 
branches/Version-1_0-branch/property/inc/cron/default/import_oppdatering_av_bestilling_fra_agresso_bkb.php
                          (rev 0)
+++ 
branches/Version-1_0-branch/property/inc/cron/default/import_oppdatering_av_bestilling_fra_agresso_bkb.php
  2013-12-12 13:31:29 UTC (rev 11527)
@@ -0,0 +1,443 @@
+<?php
+       /**
+       * phpGroupWare - property: a Facilities Management System.
+       *
+       * @author Sigurd Nes <address@hidden>
+       * @copyright Copyright (C) 2003,2004,2005,2006,2007 Free Software 
Foundation, Inc. http://www.fsf.org/
+       * This file is part of phpGroupWare.
+       *
+       * phpGroupWare is free software; you can redistribute it and/or modify
+       * it under the terms of the GNU General Public License as published by
+       * the Free Software Foundation; either version 2 of the License, or
+       * (at your option) any later version.
+       *
+       * phpGroupWare is distributed in the hope that it will be useful,
+       * but WITHOUT ANY WARRANTY; without even the implied warranty of
+       * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+       * GNU General Public License for more details.
+       *
+       * You should have received a copy of the GNU General Public License
+       * along with phpGroupWare; if not, write to the Free Software
+       * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 
 USA
+       *
+       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
+       * @internal Development of this application was funded by 
http://www.bergen.kommune.no/bbb_/ekstern/
+       * @package property
+       * @subpackage import
+       * @version $Id: import_oppdatering_av_bestilling_fra_agresso_bkb.php 
11456 2013-11-13 17:34:50Z sigurdne $
+       */
+
+       /**
+        * Filteret importerer rapporter fra Agresso som grunnlag for 
oppdatering av øknomi og status på meldings_bestilling.
+        * @package property
+        */
+
+
+       class  import_oppdatering_av_bestilling_fra_agresso_bkb
+       {
+               var     $function_name = 
'import_oppdatering_av_bestilling_fra_agresso_bkb';
+               var $debug = false;
+               protected $updated_tickects = array();
+               protected $receipt = array();
+
+
+               function __construct()
+               {
+                       $this->sotts                    = 
CreateObject('property.sotts');
+                       $this->db                               = & 
$GLOBALS['phpgw']->db;
+                       $this->join                             = & 
$this->db->join;
+                       $this->left_join                = & 
$this->db->left_join;
+                       $this->like                             = & 
$this->db->like;
+
+                       $this->config                   = 
CreateObject('admin.soconfig',$GLOBALS['phpgw']->locations->get_id('property', 
'.invoice'));
+                       $this->send                             = 
CreateObject('phpgwapi.send');
+               }
+
+               function pre_run($data = array())
+               {
+                       if(isset($data['enabled']) && $data['enabled']==1)
+                       {
+                               $confirm        = true;
+                               $cron           = true;
+                       }
+                       else
+                       {
+                               $confirm        = phpgw::get_var('confirm', 
'bool', 'POST');
+                               $execute        = phpgw::get_var('execute', 
'bool', 'GET');
+                       }
+
+                       if( isset($data['debug']) && $data['debug'] )
+                       {
+                               $this->debug = true;
+                       }
+                       else
+                       {
+                               $this->debug    = phpgw::get_var('debug', 
'bool');
+                       }
+
+                       if ($confirm)
+                       {
+                               $this->execute($cron);
+                       }
+                       else
+                       {
+                               $this->confirm($execute=false);
+                       }
+               }
+
+               function confirm($execute='')
+               {
+                       $link_data = array
+                       (
+                               'menuaction'    => 
'property.custom_functions.index',
+                               'function'              => $this->function_name,
+                               'execute'               => $execute,
+                               'debug'                 => $this->debug
+                       );
+
+
+                       if(!$execute)
+                       {
+                               $lang_confirm_msg       = lang('do you want to 
perform this action');
+                       }
+
+                       $lang_yes                       = lang('yes');
+
+                       
$GLOBALS['phpgw']->xslttpl->add_file(array('confirm_custom'));
+
+                       $msgbox_data = 
$GLOBALS['phpgw']->common->msgbox_data($this->receipt);
+
+                       $data = array
+                       (
+                               'msgbox_data'                   => 
$GLOBALS['phpgw']->common->msgbox($msgbox_data),
+                               'done_action'                   => 
$GLOBALS['phpgw']->link('/index.php', 
array('menuaction'=>'property.uiasync.index')),
+                               'run_action'                    => 
$GLOBALS['phpgw']->link('/index.php',$link_data),
+                               'message'                               => 
$this->receipt['message'],
+                               'lang_confirm_msg'              => 
$lang_confirm_msg,
+                               'lang_yes'                              => 
$lang_yes,
+                               'lang_yes_statustext'   => 'Importer rapport 
fra Agresso for oppdatering av meldinger',
+                               'lang_no_statustext'    => 'tilbake',
+                               'lang_no'                               => 
lang('no'),
+                               'lang_done'                             => 
'Avbryt',
+                               'lang_done_statustext'  => 'tilbake'
+                       );
+
+                       $appname                = lang('location');
+                       $function_msg   = 'Importer rapport fra Agresso for 
oppdatering av meldinger';
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('property') . ' - ' . $appname . ': ' . $function_msg;
+                       
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('confirm' => $data));
+                       $GLOBALS['phpgw']->xslttpl->pp();
+               }
+
+               private function alert_assigned()
+               {
+
+                       $updated_tickects = array_keys($this->updated_tickects);
+                       
+                       foreach ($updated_tickects as $id)
+                       {
+                               $this->db->query("SELECT assignedto FROM 
fm_tts_tickets WHERE id= '{$id}'",__LINE__,__FILE__);
+                               $this->db->next_record();
+                               $assignedto     = $this->db->f('assignedto');
+                               $this->send_notification($assignedto, $id);
+                       }
+               }
+
+               private function send_notification($assignedto = 0, $id = 0)
+               {
+                       if 
(!isset($GLOBALS['phpgw_info']['server']['smtp_server']) || 
!$GLOBALS['phpgw_info']['server']['smtp_server'])
+                       {
+                               return;
+                       }
+
+                       $subject = 'Melding er oppdatert fra Agresso';
+                       $from = "Ikke svar<address@hidden>";
+                       $prefs = 
$this->bocommon->create_preferences('property', $assignedto);
+                       if(isset($prefs['email']) && $prefs['email'])
+                       {
+                               $body = '<a href ="' . 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'property.uitts.view', 'id' => $id),false,true).'">' . lang('Ticket').' #' .$id 
.'</a>'."\n";
+                               try
+                               {
+                                       $rc = 
$this->send->msg('email',$prefs['email'], $subject, stripslashes($body), '', 
'', '',$from,'','html');
+                               }
+                               catch (phpmailerException $e)
+                               {
+                                       $this->receipt['error'][] = array('msg' 
=> $e->getMessage());
+                               }
+                       }
+               }
+
+               public function execute($cron='')
+               {
+                       $this->get_files();
+
+                       $dirname = 
$this->config->config_data['import']['local_path'];
+                       // prevent path traversal
+                       if ( preg_match('/\./', $dirname) 
+                        || !is_dir($dirname) )
+                       {
+                               return array();
+                       }
+
+                       $file_list = array();
+                       $dir = new DirectoryIterator($dirname); 
+                       if ( is_object($dir) )
+                       {
+                               foreach ( $dir as $file )
+                               {
+                                       if ( $file->isDot()
+                                               || !$file->isFile()
+                                               || !$file->isReadable()
+                                               || strcasecmp( end( explode( 
".", $file->getPathname() ) ), 'csv' ) != 0 )
+                                       {
+                                               continue;
+                                       }
+
+                                       $file_list[] = (string) 
"{$dirname}/{$file}";
+                               }
+                       }
+
+                       if(is_writable("{$dirname}/archive"))
+                       {
+                               foreach($file_list as $file)
+                               {
+                                       $this->db->transaction_begin();
+
+                                       $ok = $this->import($file);
+
+                                       if ($ok)
+                                       {
+                                               // move file
+                                               $_file = basename($file);
+                                               $movefrom = 
"{$dirname}/{$_file}";
+                                               $moveto = 
"{$dirname}/archive/{$_file}";
+
+                                               if( is_file($moveto) )
+                                               {
+                                                       @unlink($moveto);//in 
case of duplicates
+                                               }
+
+                                               $ok = @rename($movefrom, 
$moveto);
+                                               if(!$ok) // Should never happen.
+                                               {
+                                               //      
$this->invoice->delete($bilagsnr);
+                                                       
$this->db->transaction_abort();
+                                                       
$this->receipt['error'][] = array('msg' => "Kunne ikke flytte importfil til 
arkiv, oppdatering avbrutt");
+                                               }
+                                               else
+                                               {
+                                                       
$this->db->transaction_commit();
+                                               }
+                                       }
+                                       else
+                                       {
+                                               $this->db->transaction_abort();
+                                       }
+                               }
+                               
+                               $this->alert_assigned();
+                       }
+                       else
+                       {
+                               $this->receipt['error'][] = array('msg' => 
"Arkiv katalog '{$dirname}/archive/' ikke er ikke skrivbar - kontakt 
systemadminstrator for å korrigere");
+                       }
+
+                       if(!$cron)
+                       {
+                               $this->confirm($execute=false);
+                       }
+
+                       $msgbox_data = 
$GLOBALS['phpgw']->common->msgbox_data($this->receipt);
+
+                       $insert_values= array
+                       (
+                               $cron,
+                               date($this->db->datetime_format()),
+                               $this->function_name,
+                               
$this->db->db_addslashes(implode(',',(array_keys($msgbox_data))))
+                       );
+
+                       $insert_values  = 
$this->db->validate_insert($insert_values);
+
+                       $sql = "INSERT INTO fm_cron_log 
(cron,cron_date,process,message) "
+                                       . "VALUES ($insert_values)";
+                       $this->db->query($sql,__LINE__,__FILE__);
+
+               }
+
+               protected function get_files()
+               {
+                       $server                         = 
$this->config->config_data['common']['host'];
+                       $user                           = 
$this->config->config_data['common']['user'];
+                       $password                       = 
$this->config->config_data['common']['password'];
+                       $directory_remote       = 
rtrim($this->config->config_data['import']['remote_basedir'],'/');
+                       $directory_local        = 
rtrim($this->config->config_data['import']['local_path'],'/');
+
+                       try
+                       {
+                               $connection = ftp_connect($server);
+                       }
+                       catch (Exception $e)
+                       {
+                               $this->receipt['error'][] = array('msg' => 
$e->getMessage());
+                       }
+
+                       // try to authenticate with username root, password 
secretpassword
+                       if(!ftp_login($connection,$user,$password))
+                       {
+                               echo "fail: unable to authenticate\n";
+                       }
+                       else
+                       {
+                               // allright, we're in!
+                               echo "okay: logged in...<br/>";
+
+                               if (!ftp_chdir($connection, $directory_remote))
+                               {
+                                       echo ("Change Dir Failed: 
$dir<BR>\r\n");
+                                       return false;
+                               }
+
+                               // Scan directory
+                               $files = array();
+                               echo "Scanning {$directory_remote}<br/>";
+
+                               $files = ftp_nlist($connection,'.');
+
+                               if ($this->debug)
+                               {
+                                       _debug_array($files);
+                               }
+
+                               foreach($files as $file_name)
+                               {
+                                       if( stripos( $file_name, '.csv' ))
+                                       {
+                                               $file_remote = $file_name;      
   
+                                               $file_local = 
"{$directory_local}/{$file_name}";
+
+                                               $fp = fopen($file_local, "wb");
+
+                                               
if(ftp_fget($connection,$fp,$file_remote,FTP_ASCII))
+                                               {
+                                                       if( 
ftp_delete($connection, $file_remote))
+                                                       {
+                                                               echo "File 
remote: {$file_remote} was copied to local: $file_local<br/>";
+                                                       }
+                                                       else
+                                                       {
+                                                               echo "ERROR! 
File remote: {$file_remote} failed to move to remote: 
{$directory_remote}/archive/{$file_name}<br/>";
+                                                               
if(unlink($file_local))
+                                                               {
+                                                                       echo 
"Lokal file was deleted: {$file_local}<br/>";
+                                                               }
+                                                       }
+                                                       
+                                               }
+                                               fclose($fp);
+                                       }
+                               }
+                       }
+               }
+
+               private function import($file)
+               {
+                       $ok = true;
+
+                       $file_name = basename($file);
+
+                       $fp = fopen($file,'rb');
+                       $row = 1;
+
+                       while (($data = fgetcsv($handle, 1000, ";")) !== false 
&& $ok == true )
+                       {
+                               if($row > 1 && stripos( $file_name, 'penger' ) 
=== 0)
+                               {
+                                       $ok = $this->update_amount($data);
+                               }
+                               else if($row > 1 && stripos( $file_name, 
'status' ) === 0)
+                               {
+                                       $ok = $this->update_status($data);
+                               }
+                               $row ++;
+                       }
+
+                       fclose($fp);
+
+                       return $ok;
+
+               }
+
+               private function update_amount($data)
+               {
+               $agresso_prosjekt       = (int)$data[0];
+                       $prosjektstatus         = trim($data[1]);
+                       $order_id                       = trim($data[2]);
+                       $actual_cost            = (float)trim($data[3]);
+
+                       $this->db->query("SELECT id, status, actual_cost FROM 
fm_tts_tickets WHERE order_id= '{$order_id}'",__LINE__,__FILE__);
+                       $this->db->next_record();
+                       $id                                     = 
$this->db->f('id');
+                       $old_status                     = 
$this->db->f('status');
+                       $old_actual_cost        = $this->db->f('actual_cost');
+
+                       if(!$id)
+                       {
+                               $this->receipt['error'][] = array('msg' 
=>"Oppdatere beløp: fant ikke bestillingen, hopper over: {$order_id}");
+                               return false;
+                       }
+
+                       $this->receipt['message'][] = array('msg' =>"Oppdaterer 
melding #{$id}, gammelt beløp: {$old_actual_cost}, nytt beløp: {$actual_cost}");
+
+                       $value_set = array
+                       (
+                       'agresso_prosjekt' => $agresso_prosjekt,
+                               'actual_cost' => $actual_cost
+                       );
+
+                       $value_set      = 
$this->db->validate_update($value_set);
+                       $ok = $this->db->query("UPDATE fm_tts_tickets SET 
$value_set WHERE id={$id}",__LINE__,__FILE__);
+                       
+                       if($ok)
+                       {
+                               $this->updated_tickects[$id] = true;
+                               $this->update_status($data);
+                       }
+
+                       return $ok;
+               }
+
+               private function update_status($data)
+               {
+               $agresso_prosjekt       = (int)$data[0];
+                       $prosjektstatus         = trim($data[1]);
+
+                       $this->db->query("SELECT id, status FROM fm_tts_tickets 
WHERE agresso_prosjekt= '{$agresso_prosjekt}'",__LINE__,__FILE__);
+                       $this->db->next_record();
+                       $id                     = $this->db->f('id');
+                       $old_status = $this->db->f('status');
+
+                       if(!$id)
+                       {
+                               $this->receipt['error'][] = array('msg' 
=>"Oppdatere status: fant ikke bestillingen, hopper over: {$order_id}");
+                               return false;
+                       }
+
+                       $ok = true;
+                       if(preg_match('/(^C|^P)/i', $prosjektstatus))
+                       {
+                               $ticket = array
+                               (
+                                       'status' => 'C8'; //Avsluttet og 
fakturert (C)
+                               );
+
+                               if( $this->sotts->update_status($ticket,$id))
+                               {
+                                       $this->updated_tickects[$id] = true;
+                               }
+                       }
+
+                       return $ok;
+               }
+
+       }




reply via email to

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