fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [12891] Merge 12824:12890 from trunk


From: Sigurd Nes
Subject: [Fmsystem-commits] [12891] Merge 12824:12890 from trunk
Date: Mon, 23 Mar 2015 12:22:22 +0000

Revision: 12891
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=12891
Author:   sigurdne
Date:     2015-03-23 12:22:21 +0000 (Mon, 23 Mar 2015)
Log Message:
-----------
Merge 12824:12890 from trunk

Modified Paths:
--------------
    branches/Version-1_0-branch/admin/inc/class.menu.inc.php
    branches/Version-1_0-branch/admin/inc/class.uiaccounts.inc.php
    branches/Version-1_0-branch/admin/setup/phpgw_no.lang
    branches/Version-1_0-branch/controller/inc/class.socontrol.inc.php
    branches/Version-1_0-branch/controller/setup/setup.inc.php
    branches/Version-1_0-branch/controller/setup/tables_current.inc.php
    branches/Version-1_0-branch/controller/setup/tables_update.inc.php
    branches/Version-1_0-branch/home.php
    
branches/Version-1_0-branch/phpgwapi/inc/class.vfs_fileoperation_braArkiv.inc.php
    branches/Version-1_0-branch/phpgwapi/inc/class.vfs_sql.inc.php
    branches/Version-1_0-branch/property/inc/class.boentity.inc.php
    branches/Version-1_0-branch/property/inc/class.uientity.inc.php
    branches/Version-1_0-branch/property/templates/base/async.xsl
    branches/Version-1_0-branch/property/templates/base/entity.xsl
    branches/Version-1_0-branch/rental/inc/class.socontract.inc.php
    branches/Version-1_0-branch/setup/index.php
    branches/Version-1_0-branch/setup/templates/base/setup_main.tpl

Added Paths:
-----------
    branches/Version-1_0-branch/admin/templates/base/home_screen_message.xsl
    branches/Version-1_0-branch/phpgwapi/inc/soap_client/
    branches/Version-1_0-branch/property/inc/soap_client/bra5/
    branches/Version-1_0-branch/setup/templates/base/setup_svn_blocks.tpl

Removed Paths:
-------------
    branches/Version-1_0-branch/phpgwapi/inc/class.vfs_braArkiv.inc.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,11525-11526,11528-11531,11533,11535-11538,11540-11546,11548-11560,11563-11572,11574,11576,11578,11580-11581,11583,11585,11587,11589-11592,11594-11595,11597,11599,11601,11603,11605-11607,11609-11611,11613,11615-11619,11621-11622,11624-11630,11632,11634-11635,11637,11639-11640,11642,11644-11655,11657-11659,11661-11675,11677-11679,11681-11684,11686,11688,11690-11691,11693-11706,11708-11709,11711-11714,11716-11718,11720-11728,11730,11732,11734-11739,11741-11757,11759-11760,11762-11766,11768,11770-11771,11773,11775,11777,11779-11780,11782,11784,11786,11788,11790,11792-11793,11795,11797,11799,11801,11803-11804,11806-11807,11809,11811-11814,11816-11820,11822,11824-11826,11828,11830,11832,11834,11836-11837,11839,11841,11843,11845-11847,11849-11852,11854-11856,11858-11860,11862-11863,11865,11867,11869-11870,11872,11874,11876-11879,11881-11891,11893,11895,11897-11899,11901,11903,11905-11906,11908-11917,11919,11921,11923-11925,11927-11931,11933-11954,11956-11962,11964-11969,11971-11973,11975-11976,11978,11980,11982,11984,11986-11991,11993,11995,11997-12000,12002,12004-12006,12008,12010-12011,12013,12015,12017-12018,12020-12021,12023,12025,12027-12028,12030,12032-12036,12038,12040-12042,12044-12045,12047,12049-12052,12054,12056-12063,12065-12073,12075-12086,12088-12092,12094-12095,12097,12099-12102,12104,12106-12107,12109-12182,12184-12201,12203-12210,12212-12231,12233-12239,12241-12248,12250-12328,12330-12363,12365-12384,12386-12397,12399-12401,12403-12434,12436-12455,12457,12459-12461,12463-12465,12467,12469-12477,12479-12518,12520-12527,12529-12532,12534-12595,12597-12601,12603-12655,12657-12670,12672-12683,12685-12686,12688-12707,12709-12730,12732-12750,12752-12755,12757,12759-12761,12763-12819,12821,12823
   + 
/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,11528-11531,11533,11535-11538,11540-11546,11548-11560,11563-11572,11574,11576,11578,11580-11581,11583,11585,11587,11589-11592,11594-11595,11597,11599,11601,11603,11605-11607,11609-11611,11613,11615-11619,11621-11622,11624-11630,11632,11634-11635,11637,11639-11640,11642,11644-11655,11657-11659,11661-11675,11677-11679,11681-11684,11686,11688,11690-11691,11693-11706,11708-11709,11711-11714,11716-11718,11720-11728,11730,11732,11734-11739,11741-11757,11759-11760,11762-11766,11768,11770-11771,11773,11775,11777,11779-11780,11782,11784,11786,11788,11790,11792-11793,11795,11797,11799,11801,11803-11804,11806-11807,11809,11811-11814,11816-11820,11822,11824-11826,11828,11830,11832,11834,11836-11837,11839,11841,11843,11845-11847,11849-11852,11854-11856,11858-11860,11862-11863,11865,11867,11869-11870,11872,11874,11876-11879,11881-11891,11893,11895,11897-11899,11901,11903,11905-11906,11908-11917,11919,11921,11923-11925,11927-11931,11933-11954,11956-11962,11964-11969,11971-11973,11975-11976,11978,11980,11982,11984,11986-11991,11993,11995,11997-12000,12002,12004-12006,12008,12010-12011,12013,12015,12017-12018,12020-12021,12023,12025,12027-12028,12030,12032-12036,12038,12040-12042,12044-12045,12047,12049-12052,12054,12056-12063,12065-12073,12075-12086,12088-12092,12094-12095,12097,12099-12102,12104,12106-12107,12109-12182,12184-12201,12203-12210,12212-12231,12233-12239,12241-12248,12250-12328,12330-12363,12365-12384,12386-12397,12399-12401,12403-12434,12436-12455,12457,12459-12461,12463-12465,12467,12469-12477,12479-12518,12520-12527,12529-12532,12534-12595,12597-12601,12603-12655,12657-12670,12672-12683,12685-12686,12688-12707,12709-12730,12732-12750,12752-12755,12757,12759-12761,12763-12819,12821,12823,12825-12890

Modified: branches/Version-1_0-branch/admin/inc/class.menu.inc.php
===================================================================
--- branches/Version-1_0-branch/admin/inc/class.menu.inc.php    2015-03-23 
12:15:54 UTC (rev 12890)
+++ branches/Version-1_0-branch/admin/inc/class.menu.inc.php    2015-03-23 
12:22:21 UTC (rev 12891)
@@ -113,6 +113,16 @@
                                                                
array('menuaction' => 'admin.uiaccounts.global_message'))
                                );
                        }
+                        
+                        if ( $GLOBALS['phpgw']->acl->check('run', 
phpgwapi_acl::READ, 'admin'))
+                       {
+                               $menus['admin']['home_screen_message'] = array
+                               (
+                                       'text'  => 
$GLOBALS['phpgw']->translation->translate('home screen message', array(), true),
+                                       'url'   => 
$GLOBALS['phpgw']->link('/index.php',
+                                                               
array('menuaction' => 'admin.uiaccounts.home_screen_message'))
+                               );
+                       }
 
                        if (! $GLOBALS['phpgw']->acl->check('account_access', 
phpgwapi_acl::READ, 'admin'))
                        {

Modified: branches/Version-1_0-branch/admin/inc/class.uiaccounts.inc.php
===================================================================
--- branches/Version-1_0-branch/admin/inc/class.uiaccounts.inc.php      
2015-03-23 12:15:54 UTC (rev 12890)
+++ branches/Version-1_0-branch/admin/inc/class.uiaccounts.inc.php      
2015-03-23 12:22:21 UTC (rev 12891)
@@ -56,7 +56,8 @@
                        'sync_accounts_contacts'        => true,
                        'clear_user_cache'                      => true,
                        'clear_cache'                           => true,
-                       'global_message'                        => true
+                       'global_message'                        => true,
+                        'home_screen_message'                   => true
                );
 
                /**
@@ -1564,7 +1565,56 @@
                        $GLOBALS['phpgw']->xslttpl->add_file('global_message');
                        $GLOBALS['phpgw']->xslttpl->set_var('phpgw', 
array('global_message' => $data));
                }
+                
+                /**
+               * Set a message on bottom of home-screen
+               *
+               * @return void
+               */
 
+               function home_screen_message()
+               {
+                       if(     !$GLOBALS['phpgw']->acl->check('run', 
phpgwapi_acl::READ, 'admin') )
+                       {
+                               
$GLOBALS['phpgw']->redirect_link('/admin/index.php');
+                       }
+                        
+                        if(phpgw::get_var('msg_title', 'string'))
+                        {
+                                $msg_title = phpgw::get_var('msg_title', 
'string');
+                        }
+                        else
+                        {
+                                $msg_title = lang("important message");
+                        }
+                        
+                       if(phpgw::get_var('message', 'string'))
+                       {
+                                phpgwapi_cache::system_set('phpgwapi', 
'phpgw_home_screen_message_title',$msg_title);
+                               phpgwapi_cache::system_set('phpgwapi', 
'phpgw_home_screen_message',phpgw::get_var('message', 'html'));                 
 
+                       }
+
+                       if(phpgw::get_var('delete_message', 'bool'))
+                       {
+                                phpgwapi_cache::system_clear('phpgwapi', 
'phpgw_home_screen_message_title');
+                               phpgwapi_cache::system_clear('phpgwapi', 
'phpgw_home_screen_message');
+                       }
+
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('administration');
+
+                       $data = array
+                       (
+                                'value_title'          => 
phpgwapi_cache::system_get('phpgwapi', 'phpgw_home_screen_message_title'),
+                               'value_message'         => 
phpgwapi_cache::system_get('phpgwapi', 'phpgw_home_screen_message'),
+                               'form_action'           => 
$GLOBALS['phpgw']->link('/index.php',
+                                                                               
array('menuaction' => 'admin.uiaccounts.home_screen_message')),
+                               'lang_cancel'           => lang('cancel'),
+                               'lang_submit'           => lang('submit')
+                       );
+                       
$GLOBALS['phpgw']->xslttpl->add_file('home_screen_message');
+                       $GLOBALS['phpgw']->xslttpl->set_var('phpgw', 
array('home_screen_message' => $data));
+               }
+
                /**
                 * Render a confirmation form for clear all cache (user,and 
system)
                 *

Modified: branches/Version-1_0-branch/admin/setup/phpgw_no.lang
===================================================================
--- branches/Version-1_0-branch/admin/setup/phpgw_no.lang       2015-03-23 
12:15:54 UTC (rev 12890)
+++ branches/Version-1_0-branch/admin/setup/phpgw_no.lang       2015-03-23 
12:22:21 UTC (rev 12891)
@@ -36,3 +36,6 @@
 view sessions  admin   no      Vis sessions
 you must enter a password      admin   no      Du må skrive inn et passord
 you must select a file type    admin   no      Du må velge en filtype
+home screen message    admin   no      Melding på hjemmeskjerm
+title  admin   no      Overskrift
+important message      admin   no      Viktig informasjon

Copied: 
branches/Version-1_0-branch/admin/templates/base/home_screen_message.xsl (from 
rev 12890, trunk/admin/templates/base/home_screen_message.xsl)
===================================================================
--- branches/Version-1_0-branch/admin/templates/base/home_screen_message.xsl    
                        (rev 0)
+++ branches/Version-1_0-branch/admin/templates/base/home_screen_message.xsl    
2015-03-23 12:22:21 UTC (rev 12891)
@@ -0,0 +1,56 @@
+<!-- $Id: global_message.xsl 9282 2012-05-04 13:11:20Z sigurdne $ -->
+
+       <xsl:template name="dummy">
+               <xsl:apply-templates select="home_screen_message"/>
+       </xsl:template>
+
+       <xsl:template match="home_screen_message" 
xmlns:php="http://php.net/xsl";>
+               <h1><xsl:value-of select="php:function('lang', 'home screen 
message')" /></h1>
+               <form method="post" action="{form_action}">
+                       <table>
+                                <tr>
+                                       <td valign="top">
+                                                               <xsl:value-of 
select="php:function('lang', 'title')" />
+                                       </td>
+                                       <td>
+                                                <xsl:variable 
name="value_title"><xsl:value-of select="value_title" /></xsl:variable>
+                                               <input type="text" 
name="msg_title" id="msg_title" value="{value_title}" />
+                                       </td>
+                               </tr>
+                                <tr>
+                                    <td colspan="2">&nbsp;</td>
+                                </tr>
+                               <tr>
+                                       <td valign="top">
+                                                               <xsl:value-of 
select="php:function('lang', 'message')" />
+                                       </td>
+                                       <td>
+                                               <textarea cols="40" rows="6" 
id='message' name="message" wrap="virtual">
+                                                       <xsl:attribute 
name="title">
+                                               <xsl:value-of 
select="php:function('lang', 'home screen message')" />
+                                                       </xsl:attribute>
+                                                       <xsl:value-of 
select="value_message" disable-output-escaping="yes" />
+                                               </textarea>
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td>
+                                               <xsl:value-of 
select="php:function('lang', 'delete message')" />
+                                       </td>
+                                       <td>
+                                               <input type="checkbox" 
name="delete_message" value="1" >
+                                                       <xsl:attribute 
name="title">
+                                                               <xsl:value-of 
select="php:function('lang', 'delete message')" />
+                                                       </xsl:attribute>
+                                               </input>
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td>
+                                               <input type="submit" 
name="confirm" value="{lang_submit}"/>
+                                               <input type="submit" 
name="cancel" value="{lang_cancel}" />
+                                       </td>
+                               </tr>
+                       </table>
+               </form>
+       </xsl:template>

Modified: branches/Version-1_0-branch/controller/inc/class.socontrol.inc.php
===================================================================
--- branches/Version-1_0-branch/controller/inc/class.socontrol.inc.php  
2015-03-23 12:15:54 UTC (rev 12890)
+++ branches/Version-1_0-branch/controller/inc/class.socontrol.inc.php  
2015-03-23 12:22:21 UTC (rev 12891)
@@ -833,8 +833,13 @@
                function register_control_to_component($data)
                {
                        $ret = 0;
-                       $assigned_to    = isset($data['assigned_to']) && 
$data['assigned_to'] ? $data['assigned_to'] : null;
+                       $assigned_to            = isset($data['assigned_to']) 
&& $data['assigned_to'] ? $data['assigned_to'] : null;
                        $start_date                     = 
isset($data['start_date']) && $data['start_date'] ? $data['start_date'] : null;
+                       $repeat_type            = isset($data['repeat_type']) 
&& $data['repeat_type'] ? $data['repeat_type'] : null;
+                       $repeat_interval        = 
isset($data['repeat_interval']) && $data['repeat_interval'] ? 
$data['repeat_interval'] : null;
+                       $controle_time          = isset($data['controle_time']) 
&& $data['controle_time'] ? $data['controle_time'] : null;
+                       $service_time           = isset($data['service_time']) 
&& $data['service_time'] ? $data['service_time'] : null;
+                       $duplicate                      = 
isset($data['duplicate']) && $data['duplicate'] ? $data['duplicate'] : null;
 
                        $delete_component = array();
                        $add_component = array();
@@ -867,7 +872,7 @@
                                        
                                        $this->db->query($sql, __LINE__, 
__FILE__);
                        
-                                       if(!$this->db->next_record())
+                                       if(!$this->db->next_record() || 
$duplicate)
                                        {
                                                $values_insert = array
                                                (
@@ -875,7 +880,11 @@
                                                        'location_id'           
=> $location_id,
                                                        'component_id'          
=> $component_id,
                                                        'assigned_to'           
=> $assigned_to,
-                                                       'start_date'            
=> $start_date
+                                                       'start_date'            
=> $start_date,
+                                                       'repeat_type'           
=> $repeat_type,
+                                                       'repeat_interval'       
=> $repeat_interval,
+                                                       'controle_time'         
=> $controle_time,
+                                                       'service_time'          
=> $service_time,
                                                );
 
                                                $this->db->query("INSERT INTO 
controller_control_component_list (" . implode(',',array_keys($values_insert)) 
. ') VALUES ('
@@ -945,7 +954,7 @@
                        $location_id = (int)$data['location_id'];
                        $component_id = (int)$data['component_id'];
 
-                       $sql = "SELECT controller_control_component_list.* , 
controller_control.title, repeat_type, repeat_interval, enabled"
+                       $sql = "SELECT controller_control_component_list.* , 
controller_control.title, enabled"
                        . "  FROM controller_control_component_list"
                        . " {$this->db->join} controller_control ON 
controller_control.id = controller_control_component_list.control_id WHERE 
location_id = {$location_id} AND component_id = {$component_id}";
                        $this->db->query($sql,__LINE__,__FILE__);
@@ -955,16 +964,18 @@
                        {
                                $controls[] = array
                                (
-                                       'id'                    => 
$this->db->f('id'),
-                                       'control_id'    => 
$this->db->f('control_id'),
-                                       'title'                 => 
$this->db->f('title',true),
-                                       'location_id'   => 
$this->db->f('location_id'),
-                                       'component_id'  => 
$this->db->f('component_id'),
-                                       'assigned_to'   => 
$this->db->f('assigned_to'),
-                                       'start_date'    => 
$this->db->f('start_date'),
-                                       'repeat_type'   => 
$this->db->f('repeat_type'),
+                                       'id'                            => 
$this->db->f('id'),
+                                       'control_id'            => 
$this->db->f('control_id'),
+                                       'title'                         => 
$this->db->f('title',true),
+                                       'location_id'           => 
$this->db->f('location_id'),
+                                       'component_id'          => 
$this->db->f('component_id'),
+                                       'assigned_to'           => 
$this->db->f('assigned_to'),
+                                       'start_date'            => 
$this->db->f('start_date'),
+                                       'repeat_type'           => 
$this->db->f('repeat_type'),
                                        'repeat_interval'       => 
$this->db->f('repeat_interval'),
-                                       'enabled'       => 
$this->db->f('enabled'),
+                                       'enabled'                       => 
$this->db->f('enabled'),
+                                       'service_time'          => 
(float)$this->db->f('service_time'),
+                                       'controle_time'         => 
(float)$this->db->f('controle_time'),
                                );
                        }
 

Modified: branches/Version-1_0-branch/controller/setup/setup.inc.php
===================================================================
--- branches/Version-1_0-branch/controller/setup/setup.inc.php  2015-03-23 
12:15:54 UTC (rev 12890)
+++ branches/Version-1_0-branch/controller/setup/setup.inc.php  2015-03-23 
12:22:21 UTC (rev 12891)
@@ -1,6 +1,6 @@
 <?php
        $setup_info['controller']['name'] = 'controller';
-       $setup_info['controller']['version'] = '0.1.49';
+       $setup_info['controller']['version'] = '0.1.50';
        $setup_info['controller']['app_order'] = 100;
        $setup_info['controller']['enable'] = 1;
        $setup_info['controller']['app_group']  = 'office';

Modified: branches/Version-1_0-branch/controller/setup/tables_current.inc.php
===================================================================
--- branches/Version-1_0-branch/controller/setup/tables_current.inc.php 
2015-03-23 12:15:54 UTC (rev 12890)
+++ branches/Version-1_0-branch/controller/setup/tables_current.inc.php 
2015-03-23 12:22:21 UTC (rev 12891)
@@ -148,7 +148,11 @@
                                        'location_id'           => array('type' 
=> 'int', 'precision' => '4', 'nullable' => false),
                                        'component_id'          => array('type' 
=> 'int', 'precision' => '4', 'nullable' => false),
                                        'assigned_to'           => array('type' 
=> 'int', 'precision' => '4', 'nullable' => true),
-                                       'start_date'            => array('type' 
=> 'int', 'precision' => '4', 'nullable' => true),
+                                       'start_date'            => array('type' 
=> 'int', 'precision' => '', 'nullable' => true),
+                                       'repeat_type'           => array('type' 
=> 'int', 'precision' => '2', 'nullable' => true),
+                                       'repeat_interval'               => 
array('type' => 'int', 'precision' => '4', 'nullable' => true),
+                                       'service_time' => array('type' => 
'decimal','precision' => '20','scale' => '2','nullable' => True,'default' => 
'0.00'),
+                                       'controle_time' => array('type' => 
'decimal','precision' => '20','scale' => '2','nullable' => True,'default' => 
'0.00'),
                                ),
                        'pk' => array('id'),
                        'fk' => array(),

Modified: branches/Version-1_0-branch/controller/setup/tables_update.inc.php
===================================================================
--- branches/Version-1_0-branch/controller/setup/tables_update.inc.php  
2015-03-23 12:15:54 UTC (rev 12890)
+++ branches/Version-1_0-branch/controller/setup/tables_update.inc.php  
2015-03-23 12:22:21 UTC (rev 12891)
@@ -991,3 +991,46 @@
                        return 
$GLOBALS['setup_info']['controller']['currentver'];
                }
        }
+
+       /**
+       * Assign responsible user to control at componant from date.
+       **/
+       $test[] = '0.1.49';
+       function controller_upgrade0_1_49()
+       {
+               $GLOBALS['phpgw_setup']->oProc->m_odb->transaction_begin();
+
+               
$GLOBALS['phpgw_setup']->oProc->AddColumn('controller_control_component_list','repeat_type',array(
+                       'type' => 'int',
+                       'precision' => '2',
+                       'nullable' => true
+               ));
+
+                       
$GLOBALS['phpgw_setup']->oProc->AddColumn('controller_control_component_list','repeat_interval',array(
+                       'type' => 'int',
+                       'precision' => '4',
+                       'nullable' => true
+               ));
+
+               
$GLOBALS['phpgw_setup']->oProc->AddColumn('controller_control_component_list','service_time',array(
+                       'type' => 'decimal',
+                       'precision' => 20,
+                       'nullable' => true,
+                       'scale' => '2',
+                       'default' => '0.00'
+               ));
+
+                       
$GLOBALS['phpgw_setup']->oProc->AddColumn('controller_control_component_list','controle_time',array(
+                       'type' => 'decimal',
+                       'precision' => 20,
+                       'nullable' => true,
+                       'scale' => '2',
+                       'default' => '0.00'
+               ));
+
+               if($GLOBALS['phpgw_setup']->oProc->m_odb->transaction_commit())
+               {
+                       $GLOBALS['setup_info']['controller']['currentver'] = 
'0.1.50';
+                       return 
$GLOBALS['setup_info']['controller']['currentver'];
+               }
+       }

Modified: branches/Version-1_0-branch/home.php
===================================================================
--- branches/Version-1_0-branch/home.php        2015-03-23 12:15:54 UTC (rev 
12890)
+++ branches/Version-1_0-branch/home.php        2015-03-23 12:22:21 UTC (rev 
12891)
@@ -201,9 +201,9 @@
                        'addressbook',
                );
        }
-
+        
        $GLOBALS['phpgw']->hooks->process('home', $sorted_apps);
-
+        
        if ( isset($GLOBALS['portal_order']) && 
is_array($GLOBALS['portal_order']) )
        {
                $GLOBALS['phpgw']->preferences->delete('portal_order');
@@ -213,4 +213,12 @@
                }
                $GLOBALS['phpgw']->preferences->save_repository();
        }
+        if( phpgwapi_cache::system_get('phpgwapi', 
'phpgw_home_screen_message'))
+               {
+                        echo "<div class='msg_important'><h2>";
+                        echo nl2br(phpgwapi_cache::system_get('phpgwapi', 
'phpgw_home_screen_message_title'));
+                        echo "</h2>";
+                       echo nl2br(phpgwapi_cache::system_get('phpgwapi', 
'phpgw_home_screen_message'));
+                        echo '</div>';
+               }
        $GLOBALS['phpgw']->common->phpgw_footer();

Deleted: branches/Version-1_0-branch/phpgwapi/inc/class.vfs_braArkiv.inc.php
===================================================================
--- branches/Version-1_0-branch/phpgwapi/inc/class.vfs_braArkiv.inc.php 
2015-03-23 12:15:54 UTC (rev 12890)
+++ branches/Version-1_0-branch/phpgwapi/inc/class.vfs_braArkiv.inc.php 
2015-03-23 12:22:21 UTC (rev 12891)
@@ -1,2838 +0,0 @@
-<?php
-       /**
-       * Virtual File System with SQL backend
-       * @author Jason Wies <address@hidden>
-       * @author Giancarlo Susin
-       * @copyright Copyright(C) 2001 Jason Wies
-       * @copyright Copyright(C) 2004 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * @license http://www.fsf.org/licenses/lgpl.html GNU Lesser General 
Public License
-       * @package phpgwapi
-       * @subpackage vfs
-       * @version $Id$
-       */
-
-       /**
-       * VFS SQL select
-       * @see extra_sql()
-       */
-       define('VFS_SQL_SELECT', 1);
-       /**
-       * VFS SQL delete
-       * @see extra_sql()
-       */
-       define('VFS_SQL_DELETE', 2);
-       /**
-       * VFS SQL update
-       * @see extra_sql()
-       */
-       define('VFS_SQL_UPDATE', 4);
-
-
-       /**
-       * Virtual File System with SQL backend
-       *
-       * @package phpgwapi
-       * @subpackage vfs
-       * @ignore
-       */
-       class phpgwapi_vfs extends phpgwapi_vfs_shared
-       {
-               var $file_actions;
-               var $acl_default;
-
-               /**
-                * constructor, sets up variables
-               *
-                */
-               function __construct()
-               {
-                       parent::__construct();
-                       /*
-                          File/dir attributes, each corresponding to a 
database field.  Useful for use in loops
-                          If an attribute was added to the table, add it here 
and possibly add it to
-                          set_attributes()
-
-                          set_attributes now uses this array().   07-Dec-01 
skeeter
-                       */
-
-                       $this->attributes[] = 'deleteable';
-                       $this->attributes[] = 'content';
-
-                       /*
-                          Decide whether to use any actual filesystem 
calls(fopen(), fread(),
-                          unlink(), rmdir(), touch(), etc.).  If not, then 
we're working completely
-                          in the database.
-                       */
-                       $conf = CreateObject('phpgwapi.config', 'phpgwapi');
-                       $conf->read();
-
-                       if(isset($conf->config_data['file_store_contents']) && 
$conf->config_data['file_store_contents'])
-                       {
-                               $file_store_contents = 
$conf->config_data['file_store_contents'];
-                       }
-                       else
-                       {
-                               $file_store_contents = 'filesystem';
-                       }
-                       
-                       switch ($file_store_contents)
-                       {
-                               case 'filesystem':
-                                       $this->file_actions = 1;
-                                       break;
-                               default:
-                                       $this->file_actions = 0;
-                                       break;
-                       }
-
-                       $this->fileoperation = 
CreateObject("phpgwapi.vfs_fileoperation_{$file_store_contents}");
-
-                       $this->acl_default = $conf->config_data['acl_default'];
-
-                       // test if the files-dir is inside the document-root, 
and refuse working if so
-                       //
-                       if($this->file_actions && 
$this->in_docroot($this->basedir))
-                       {
-                               $GLOBALS['phpgw']->common->phpgw_header();
-                               if($GLOBALS['phpgw_info']['flags']['noheader'])
-                               {
-                                       echo parse_navbar();
-                               }
-                               echo '<p align="center"><font 
color="red"><b>'.lang('Path to user and group files HAS TO BE OUTSIDE of the 
webservers document-root!!!')."</b></font></p>\n";
-                               $GLOBALS['phpgw']->common->phpgw_exit();
-                       }
-
-                       /* We store the linked directories in an array now, so 
we don't have to make the SQL call again */
-                       if($GLOBALS['phpgw_info']['server']['db_type']=='mssql'
-                               || 
$GLOBALS['phpgw_info']['server']['db_type']=='sybase')
-                       {
-                               $query = $GLOBALS['phpgw']->db->query("SELECT 
directory, name, link_directory, link_name"
-                               . " FROM phpgw_vfs WHERE 
CONVERT(varchar,link_directory) != ''"
-                               . " AND CONVERT(varchar,link_name) != ''" . 
$this->extra_sql(array('query_type' => VFS_SQL_SELECT)), __LINE__,__FILE__);
-                       }
-                       else
-                       {
-                               $query = $GLOBALS['phpgw']->db->query("SELECT 
directory, name, link_directory, link_name"
-                               . " FROM phpgw_vfs WHERE(link_directory IS NOT 
NULL or link_directory != '')"
-                               . " AND(link_name IS NOT NULL or link_name != 
'')" . $this->extra_sql(array('query_type' => VFS_SQL_SELECT)), 
__LINE__,__FILE__);
-                       }
-
-                       $this->linked_dirs = array();
-                       while($GLOBALS['phpgw']->db->next_record())
-                       {
-                               $this->linked_dirs[] = $this->Record();
-                       }
-               }
-
-               /**
-                * test if $path lies within the webservers document-root
-               *
-                */
-               function in_docroot($path)
-               {
-                       //$docroots = array(PHPGW_SERVER_ROOT, 
$_SERVER['DOCUMENT_ROOT']);
-                       $docroots = array(PHPGW_SERVER_ROOT);
-                       //in case vfs is called from cli(cron-job)
-
-                       if($_SERVER['DOCUMENT_ROOT'])
-                       {
-                               $docroots[] = $_SERVER['DOCUMENT_ROOT'];
-                       }
-
-                       foreach($docroots as $docroot)
-                       {
-                               $len = strlen($docroot);
-
-                               if($docroot == substr($path,0,$len))
-                               {
-                                       $rest = substr($path,$len);
-
-                                       if(!strlen($rest) || $rest[0] == 
DIRECTORY_SEPARATOR)
-                                       {
-                                               return true;
-                                       }
-                               }
-                       }
-                       return false;
-               }
-
-               /**
-                * Return extra SQL code that should be appended to certain 
queries
-               *
-                * @param query_type The type of query to get extra SQL code 
for, in the form of a VFS_SQL define
-                * @return Extra SQL code
-                */
-               function extra_sql($data)
-               {
-                       if(!is_array($data))
-                       {
-                               $data = array('query_type' => VFS_SQL_SELECT);
-                       }
-
-                       if($data['query_type'] == VFS_SQL_SELECT || 
$data['query_type'] == VFS_SQL_DELETE || $data['query_type'] = VFS_SQL_UPDATE)
-                       {
-                               $sql = ' AND((';
-
-                               reset($this->meta_types);
-                               while(list($num, $type) = 
each($this->meta_types))
-                               {
-                                       if($num)
-                                       {
-                                               $sql .= ' AND ';
-                                       }
-
-                                       $sql .= "mime_type != '{$type}'";
-                               }
-                               $sql .= ') OR mime_type IS NULL)';
-                       }
-
-                       return($sql);
-               }
-
-               /**
-                * Add a journal entry after(or before) completing an operation,
-               *
-                *        and increment the version number.  This function 
should be used internally only
-                * Note that state_one and state_two are ignored for some 
VFS_OPERATION's, for others
-                *               * they are required.  They are ignored for any 
"custom" operation
-                *               * The two operations that require state_two:
-                *               * operation             *      state_two
-                *               * VFS_OPERATION_COPIED fake_full_path of 
copied to
-                *               * VFS_OPERATION_MOVED           * 
fake_full_path of moved to
-
-                *               * If deleting, you must call add_journal() 
before you delete the entry from the database
-                * @param string File or directory to add entry for
-                * @param relatives Relativity array
-                * @param operation The operation that was performed.  Either a 
VFS_OPERATION define or
-                *               *   a non-integer descriptive text string
-                * @param state_one The first "state" of the file or directory. 
 Can be a file name, size,
-                *               *   location, whatever is appropriate for the 
specific operation
-                * @param state_two The second "state" of the file or directory
-                * @param incversion Boolean True/False.  Increment the version 
for the file?  Note that this is
-                *               *    handled automatically for the 
VFS_OPERATION defines.
-                *               *    i.e. VFS_OPERATION_EDITED would increment 
the version, VFS_OPERATION_COPIED
-                *               *    would not
-                * @return Boolean True/False
-                */
-               function add_journal($data)
-               {
-                       if(!is_array($data))
-                       {
-                               $data = array();
-                       }
-
-                       $default_values = array
-                       (
-                               'relatives'             => 
array(RELATIVE_CURRENT),
-                               'state_one'             => false,
-                               'state_two'             => false,
-                               'incversion'    => true
-                       );
-
-                       $data = array_merge($this->default_values($data, 
$default_values), $data);
-
-                       $account_id = 
$GLOBALS['phpgw_info']['user']['account_id'];
-
-                       $p = $this->path_parts(array('string' => 
$data['string'], 'relatives' => array($data['relatives'][0])));
-
-                       /* We check that they have some sort of access to the 
file other than read */
-                       if(!$this->acl_check(array('string' => 
$p->fake_full_path, 'relatives' => array($p->mask), 'operation' => 
PHPGW_ACL_ADD)) &&
-                               !$this->acl_check(array('string' => 
$p->fake_full_path, 'relatives' => array($p->mask), 'operation' => 
PHPGW_ACL_EDIT)) &&
-                               !$this->acl_check(array('string' => 
$p->fake_full_path, 'relatives' => array($p->mask), 'operation' => 
PHPGW_ACL_DELETE)))
-                       {
-                               return false;
-                       }
-
-                       if(!$this->file_exists(array('string' => 
$p->fake_full_path, 'relatives' => array($p->mask))))
-                       {
-                               return false;
-                       }
-
-                       $ls_array = $this->ls(array(
-                                       'string'                => 
$p->fake_full_path,
-                                       'relatives'             => 
array($p->mask),
-                                       'checksubdirs'  => false,
-                                       'mime_type'             => false,
-                                       'nofiles'               => true
-                               )
-                       );
-                       $file_array = $ls_array[0];
-
-                       $sql = 'INSERT INTO phpgw_vfs(';
-                       $sql2 = ' VALUES(';
-                       $morethanone = false;
-                       $modified = false;
-
-                       for($i = 0; list($attribute, $value) = 
each($file_array); $i++)
-                       {
-                               if($attribute == 'file_id' || $attribute == 
'content')
-                               {
-                                       continue;
-                               }
-
-                               if($attribute == 'owner_id')
-                               {
-                                       $value = $account_id;
-                               }
-
-                               if($attribute == 'created')
-                               {
-                                       $value = $this->now;
-                               }
-
-                               if($attribute == 'modified' && !$modified)
-                               {
-                                       unset($value);
-                               }
-
-                               if($attribute == 'mime_type')
-                               {
-                                       $value = 'journal';
-                               }
-
-                               if($attribute == 'comment')
-                               {
-                                       switch($data['operation'])
-                                       {
-                                               case VFS_OPERATION_CREATED:
-                                                       $value = 'Created';
-                                                       $data['incversion'] = 
true;
-                                                       break;
-                                               case VFS_OPERATION_EDITED:
-                                                       $value = 'Edited';
-                                                       $data['incversion'] = 
true;
-                                                       break;
-                                               case 
VFS_OPERATION_EDITED_COMMENT:
-                                                       $value = 'Edited 
comment';
-                                                       $data['incversion'] = 
false;
-                                                       break;
-                                               case VFS_OPERATION_COPIED:
-                                                       if(!$data['state_one'])
-                                                       {
-                                                               
$data['state_one'] = $p->fake_full_path;
-                                                       }
-                                                       if(!$data['state_two'])
-                                                       {
-                                                               return false;
-                                                       }
-                                                       $value = "Copied 
{$data['state_one']} to {$data['state_two']}";
-                                                       $data['incversion'] = 
false;
-                                                       break;
-                                               case VFS_OPERATION_MOVED:
-                                                       if(!$data['state_one'])
-                                                       {
-                                                               
$data['state_one'] = $p->fake_full_path;
-                                                       }
-                                                       if(!$data['state_two'])
-                                                       {
-                                                               return false;
-                                                       }
-                                                       $value = "Moved 
{$data['state_one']} to {$data['state_two']}";
-                                                       $data['incversion'] = 
false;
-                                                       break;
-                                               case VFS_OPERATION_DELETED:
-                                                       $value = 'Deleted';
-                                                       $data['incversion'] = 
false;
-                                                       break;
-                                               default:
-                                                       $value = 
$data['operation'];
-                                                       break;
-                                       }
-                               }
-
-                               /*
-                                  Let's increment the version for the file 
itself.  We keep the current
-                                  version when making the journal entry, 
because that was the version that
-                                  was operated on.  The maximum numbers for 
each part in the version string:
-                                  none.99.9.9
-                               */
-                               if($attribute == 'version' && 
$data['incversion'])
-                               {
-                                       $version_parts = explode(".", $value);
-                                       $newnumofparts = $numofparts = 
count($version_parts);
-
-                                       if($version_parts[3] >= 9)
-                                       {
-                                               $version_parts[3] = 0;
-                                               $version_parts[2]++;
-                                               $version_parts_3_update = 1;
-                                       }
-                                       else if(isset($version_parts[3]))
-                                       {
-                                               $version_parts[3]++;
-                                       }
-
-                                       if($version_parts[2] >= 9 && 
$version_parts[3] == 0 && $version_parts_3_update)
-                                       {
-                                               $version_parts[2] = 0;
-                                               $version_parts[1]++;
-                                       }
-
-                                       if($version_parts[1] > 99)
-                                       {
-                                               $version_parts[1] = 0;
-                                               $version_parts[0]++;
-                                       }
-                                       $newversion = '';
-                                       for($j = 0; $j < $newnumofparts; $j++)
-                                       {
-                                               if(!isset($version_parts[$j]))
-                                               {
-                                                       break;
-                                               }
-
-                                               if($j)
-                                               {
-                                                       $newversion .= '.';
-                                               }
-
-                                               $newversion .= 
$version_parts[$j];
-                                       }
-
-                                       $this->set_attributes(array(
-                                                       'string'                
=> $p->fake_full_path,
-                                                       'relatives'             
=> array($p->mask),
-                                                       'attributes'    => 
array(
-                                                                               
'version' => $newversion
-                                                                       )
-                                               )
-                                       );
-                               }
-                               if(isset($value) && !empty($value))
-                               {
-                                       if($morethanone)
-                                       {
-                                               $sql .= ', ';
-                                               $sql2 .= ', ';
-                                       }
-                                       else
-                                       {
-                                               $morethanone = true;
-                                       }
-                                       $sql .= "$attribute";
-                                       $sql2 .= "'" . 
$this->clean_string(array('string' => $value)) . "'";
-                               }
-                       }
-                       unset($morethanone);
-                       $sql .= ')';
-                       $sql2 .= ')';
-
-                       $sql .= $sql2;
-
-                       /*
-                          These are some special situations where we need to 
flush the journal entries
-                          or move the 'journal' entries to 'journal-deleted'.  
Kind of hackish, but they
-                          provide a consistent feel to the system
-                       */
-                       $flush_path = '';
-                       if($data['operation'] == VFS_OPERATION_CREATED)
-                       {
-                               $flush_path = $p->fake_full_path;
-                               $deleteall = true;
-                       }
-
-                       if($data['operation'] == VFS_OPERATION_COPIED || 
$data['operation'] == VFS_OPERATION_MOVED)
-                       {
-                               $flush_path = $data['state_two'];
-                               $deleteall = false;
-                       }
-
-                       if($flush_path)
-                       {
-                               $flush_path_parts = $this->path_parts(array(
-                                               'string'        => $flush_path,
-                                               'relatives'     => 
array(RELATIVE_NONE)
-                                       )
-                               );
-
-                               $this->flush_journal(array(
-                                               'string'        => 
$flush_path_parts->fake_full_path,
-                                               'relatives'     => 
array($flush_path_parts->mask),
-                                               'deleteall'     => $deleteall
-                                       )
-                               );
-                       }
-
-                       if($data['operation'] == VFS_OPERATION_COPIED)
-                       {
-                               /*
-                                  We copy it going the other way as well, so 
both files show the operation.
-                                  The code is a bad hack to prevent recursion. 
 Ideally it would use VFS_OPERATION_COPIED
-                               */
-                               $this->add_journal(array(
-                                               'string'        => 
$data['state_two'],
-                                               'relatives'     => 
array(RELATIVE_NONE),
-                                               'operation'     => "Copied 
{$data['state_one']} to {$data['state_two']}",
-                                               'state_one'     => null,
-                                               'state_two'     => null,
-                                               'incversion'    => false
-                                       )
-                               );
-                       }
-
-                       if($data['operation'] == VFS_OPERATION_MOVED)
-                       {
-                               $state_one_path_parts = $this->path_parts(array(
-                                               'string'        => 
$data['state_one'],
-                                               'relatives'     => 
array(RELATIVE_NONE)
-                                       )
-                               );
-
-                               $query = $GLOBALS['phpgw']->db->query("UPDATE 
phpgw_vfs SET mime_type='journal-deleted'"
-                                . " WHERE 
directory='{$state_one_path_parts->fake_leading_dirs_clean}'"
-                                . " AND 
name='{$state_one_path_parts->fake_name_clean}' AND mime_type='journal'");
-
-                               /*
-                                  We create the file in addition to logging 
the MOVED operation.  This is an
-                                  advantage because we can now search for 
'Create' to see when a file was created
-                               */
-                               $this->add_journal(array(
-                                               'string'        => 
$data['state_two'],
-                                               'relatives'     => 
array(RELATIVE_NONE),
-                                               'operation'     => 
VFS_OPERATION_CREATED
-                                       )
-                               );
-                       }
-
-                       /* This is the SQL query we made for THIS request, 
remember that one? */
-                       $query = $GLOBALS['phpgw']->db->query($sql, __LINE__, 
__FILE__);
-
-                       /*
-                          If we were to add an option of whether to keep 
journal entries for deleted files
-                          or not, it would go in the if here
-                       */
-                       if($data['operation'] == VFS_OPERATION_DELETED)
-                       {
-                               $query = $GLOBALS['phpgw']->db->query("UPDATE 
phpgw_vfs SET mime_type='journal-deleted'"
-                               . " WHERE 
directory='{$p->fake_leading_dirs_clean}' AND name='{$p->fake_name_clean}' AND 
mime_type='journal'");
-                       }
-
-                       return true;
-               }
-
-               /**
-                * Flush journal entries for $string.  Used before adding 
$string
-               *
-                * flush_journal() is an internal function and should be called 
from add_journal() only
-                * @param string File/directory to flush journal entries of
-                * @param relatives Realtivity array
-                * @param deleteall Delete all types of journal entries, 
including the active Create entry.
-                *               *   Normally you only want to delete the 
Create entry when replacing the file
-                *               *   Note that this option does not effect 
$deleteonly
-                * @param deletedonly Only flush 'journal-deleted' 
entries(created when $string was deleted)
-                * @return Boolean True/False
-                */
-               function flush_journal($data)
-               {
-                       if(!is_array($data))
-                       {
-                               $data = array();
-                       }
-
-                       $default_values = array
-                       (
-                               'relatives'             => 
array(RELATIVE_CURRENT),
-                               'deleteall'             => false,
-                               'deletedonly'   => false
-                       );
-
-                       $data = array_merge($this->default_values($data, 
$default_values), $data);
-
-                       $p = $this->path_parts(array(
-                                       'string'        => $data['string'],
-                                       'relatives'     => 
array($data['relatives'][0])
-                               )
-                       );
-
-                       $sql = "DELETE FROM phpgw_vfs WHERE 
directory='{$p->fake_leading_dirs_clean}' AND name='{$p->fake_name_clean}'";
-
-                       if(!$data['deleteall'])
-                       {
-                               $sql .= " AND(mime_type != 'journal' AND 
comment != 'Created')";
-                       }
-
-                       $sql .= "  AND(mime_type='journal-deleted'";
-
-                       if(!$data['deletedonly'])
-                       {
-                               $sql .= " OR mime_type='journal'";
-                       }
-
-                       $sql .= ")";
-
-                       $query = $GLOBALS['phpgw']->db->query($sql, __LINE__, 
__FILE__);
-
-                       if($query)
-                       {
-                               return true;
-                       }
-                       else
-                       {
-                               return false;
-                       }
-               }
-
-               /*
-                * See vfs_shared
-                */
-               function get_journal($data)
-               {
-                       if(!is_array($data))
-                       {
-                               $data = array();
-                       }
-
-                       $default_values = array
-                               (
-                                       'relatives'     => 
array(RELATIVE_CURRENT),
-                                       'type'  => false
-                               );
-
-                       $data = array_merge($this->default_values($data, 
$default_values), $data);
-
-                       $p = $this->path_parts(array(
-                                       'string'        => $data['string'],
-                                       'relatives'     => 
array($data['relatives'][0])
-                               )
-                       );
-
-                       if(!$this->acl_check(array(
-                                       'string' => $p->fake_full_path,
-                                       'relatives' => array($p->mask)
-                               )))
-                       {
-                               return false;
-                       }
-
-                       $sql = "SELECT * FROM phpgw_vfs WHERE 
directory='{$p->fake_leading_dirs_clean}' AND name='{$p->fake_name_clean}'";
-
-                       if($data['type'] == 1)
-                       {
-                               $sql .= " AND mime_type='journal'";
-                       }
-                       elseif($data['type'] == 2)
-                       {
-                               $sql .= " AND mime_type='journal-deleted'";
-                       }
-                       else
-                       {
-                               $sql .= " AND(mime_type='journal' OR 
mime_type='journal-deleted')";
-                       }
-
-                       $query = $GLOBALS['phpgw']->db->query($sql, __LINE__, 
__FILE__);
-
-                       while($GLOBALS['phpgw']->db->next_record())
-                       {
-                               $rarray[] = $this->Record();
-                       }
-
-                       return $rarray;
-               }
-
-               /*
-                * See vfs_shared
-                */
-               function acl_check($data)
-               {
-                       //echo 'checking vfs_sql::acl_check(' . print_r($data, 
true) . '</pre>';
-                       if(!is_array($data))
-                       {
-                               $data = array();
-                       }
-
-                       $default_values = array
-                               (
-                                       'relatives'     => 
array(RELATIVE_CURRENT),
-                                       'operation'     => PHPGW_ACL_READ,
-                                       'must_exist'    => false
-                               );
-
-                       $data = array_merge($this->default_values($data, 
$default_values), $data);
-
-                       /* Accommodate special situations */
-                       if($this->override_acl || $data['relatives'][0] == 
RELATIVE_USER_APP)
-                       {
-                               return true;
-                       }
-
-                       if(!isset($data['owner_id']) || !$data['owner_id'])
-                       {
-                               $p = $this->path_parts(array(
-                                               'string'        => 
$data['string'],
-                                               'relatives'     => 
array($data['relatives'][0])
-                                       )
-                               );
-
-                               /* Temporary, until we get symlink type files 
set up */
-                               if($p->outside)
-                               {
-                                       return true;
-                               }
-
-                               /* Read access is always allowed here, but 
nothing else is */
-                               if($data['string'] == '/' || $data['string'] == 
$this->fakebase)
-                               {
-                                       if($data['operation'] == PHPGW_ACL_READ)
-                                       {
-                                               return true;
-                                       }
-                                       else
-                                       {
-                                               return false;
-                                       }
-                               }
-
-                               /* If the file doesn't exist, we get ownership 
from the parent directory */
-                               if(!$this->file_exists(array(
-                                               'string'        => 
$p->fake_full_path,
-                                               'relatives'     => 
array($p->mask)
-                                       ))
-                               )
-                               {
-                                       if($data['must_exist'])
-                                       {
-                                               return false;
-                                       }
-
-                                       $data['string'] = $p->fake_leading_dirs;
-                                       $p2 = $this->path_parts(array(
-                                                       'string'        => 
$data['string'],
-                                                       'relatives'     => 
array($p->mask)
-                                               )
-                                       );
-
-                                       if(!$this->file_exists(array(
-                                                       'string'        => 
$data['string'],
-                                                       'relatives'     => 
array($p->mask)
-                                               ))
-                                       )
-                                       {
-                                               return false;
-                                       }
-                               }
-                               else
-                               {
-                                       $p2 = $p;
-                               }
-
-                               /*
-                                  We don't use ls() to get owner_id as we 
normally would,
-                                  because ls() calls acl_check(), which would 
create an infinite loop
-                               */
-                               $query = $GLOBALS['phpgw']->db->query("SELECT 
owner_id FROM phpgw_vfs WHERE directory='{$p2->fake_leading_dirs_clean}'"
-                               . " AND name='{$p2->fake_name_clean}'" . 
$this->extra_sql(array('query_type' => VFS_SQL_SELECT)), __LINE__, __FILE__);
-                               $GLOBALS['phpgw']->db->next_record();
-
-                               $record         = $this->Record();
-                               $owner_id       = $record['owner_id'];
-                       }
-                       else
-                       {
-                               $owner_id = $data['owner_id'];
-                       }
-
-                       /* This is correct.  The ACL currently doesn't handle 
undefined values correctly */
-                       if(!$owner_id)
-                       {
-                               $owner_id = 0;
-                       }
-
-                       $user_id = $GLOBALS['phpgw_info']['user']['account_id'];
-
-                       /* They always have access to their own files */
-                       if($owner_id == $user_id)
-                       {
-                               return true;
-                       }
-
-                       $currentapp = 
$GLOBALS['phpgw_info']['flags']['currentapp'];
-                       return $GLOBALS['phpgw']->acl->check('run', 
PHPGW_ACL_READ, $currentapp);
-               }
-
-               /*
-                * See vfs_shared
-                */
-               function read($data)
-               {
-                       if(!is_array($data))
-                       {
-                               $data = array();
-                       }
-
-                       $default_values = array
-                       (
-                               'relatives'     => array(RELATIVE_CURRENT)
-                       );
-
-                       $data = array_merge($this->default_values($data, 
$default_values), $data);
-
-                       $p = $this->path_parts(array(
-                                       'string'        => $data['string'],
-                                       'relatives'     => 
array($data['relatives'][0])
-                               )
-                       );
-
-                       if(!$this->acl_check(array(
-                                       'string'        => $p->fake_full_path,
-                                       'relatives'     => array($p->mask),
-                                       'operation'     => PHPGW_ACL_READ
-                               ))
-                       )
-                       {
-                               return false;
-                       }
-
-                       if($this->file_actions || $p->outside)
-                       {
-                               if($p->outside)
-                               {
-                                       $contents = null;
-                                       if( $filesize = 
filesize($p->real_full_path) > 0 && $fp = fopen($p->real_full_path, 'rb'))
-                                       {
-                                               $contents = fread($fp, 
$filesize);
-                                               fclose ($fp);
-                                       }
-                               }
-                               else
-                               {
-                                       $contents = 
$this->fileoperation->read($p);
-                               }
-                       }
-                       else
-                       {
-                               $ls_array = $this->ls(array(
-                                               'string'        => 
$p->fake_full_path,
-                                               'relatives'     => 
array($p->mask)
-                                       )
-                               );
-
-                               $contents = $ls_array[0]['content'];
-                       }
-
-                       return $contents;
-               }
-
-               /*
-                * See vfs_shared
-                */
-               function write($data)
-               {
-                       if(!is_array($data))
-                       {
-                               $data = array();
-                       }
-
-                       $default_values = array
-                       (
-                               'relatives'     => array(RELATIVE_CURRENT),
-                               'content'       => ''
-                       );
-
-                       $data = array_merge($this->default_values($data, 
$default_values), $data);
-
-                       $p = $this->path_parts(array(
-                                       'string'        => $data['string'],
-                                       'relatives'     => 
array($data['relatives'][0])
-                               )
-                       );
-
-                       if($this->file_exists(array(
-                                       'string'        => $p->fake_full_path,
-                                       'relatives'     => array($p->mask)
-                               ))
-                       )
-                       {
-                               $acl_operation = PHPGW_ACL_EDIT;
-                               $journal_operation = VFS_OPERATION_EDITED;
-                       }
-                       else
-                       {
-                               $acl_operation = PHPGW_ACL_ADD;
-                       }
-
-                       if(!$this->acl_check(array(
-                                       'string'        => $p->fake_full_path,
-                                       'relatives'     => array($p->mask),
-                                       'operation'     => $acl_operation
-                               ))
-                       )
-                       {
-                               return false;
-                       }
-
-                       umask(000);
-
-                       /*
-                          If 'string' doesn't exist, touch() creates both the 
file and the database entry
-                          If 'string' does exist, touch() sets the 
modification time and modified by
-                       */
-                       $this->touch(array(
-                                       'string'        => $p->fake_full_path,
-                                       'relatives'     => array($p->mask)
-                               )
-                       );
-
-                       if($this->file_actions)
-                       {
-                               $write_ok = $this->fileoperation->write($p, 
$data['content']);
-                       }
-
-                       if($write_ok || !$this->file_actions)
-                       {
-                               if($this->file_actions)
-                               {
-                                       $set_attributes_array = array(
-                                               'size'  => 
strlen($data['content']),
-                                       );
-                               }
-                               else
-                               {
-                                       $set_attributes_array = array(
-                                               'size'  => 
strlen($data['content']),
-                                               'content'       => 
$data['content']
-                                       );
-                               }
-
-                               $this->set_attributes(array
-                                       (
-                                               'string'        => 
$p->fake_full_path,
-                                               'relatives'     => 
array($p->mask),
-                                               'attributes'    => 
$set_attributes_array
-                                       )
-                               );
-
-                               if($journal_operation)
-                               {
-                                       $this->add_journal(array(
-                                                       'string'        => 
$p->fake_full_path,
-                                                       'relatives'     => 
array($p->mask),
-                                                       'operation'     => 
$journal_operation
-                                               )
-                                       );
-                               }
-
-                               return true;
-                       }
-                       else
-                       {
-                               return false;
-                       }
-               }
-
-               /*
-                * See vfs_shared
-                */
-               function touch($data)
-               {
-                       if(!is_array($data))
-                       {
-                               $data = array();
-                       }
-
-                       $default_values = array
-                       (
-                               'relatives'     => array(RELATIVE_CURRENT)
-                       );
-
-                       $data = array_merge($this->default_values($data, 
$default_values), $data);
-
-                       $account_id = 
$GLOBALS['phpgw_info']['user']['account_id'];
-                       $currentapp = 
$GLOBALS['phpgw_info']['flags']['currentapp'];
-
-                       $p = $this->path_parts(array(
-                                       'string'        => $data['string'],
-                                       'relatives'     => 
array($data['relatives'][0])
-                               )
-                       );
-
-                       umask(000);
-
-                       if($this->file_actions)
-                       {
-                               /*
-                                  PHP's touch function will automatically 
decide whether to
-                                  create the file or set the modification time
-                               */
-
-                               /* In case of $p->outside: touch on local disk 
*/
-                               if($p->outside)
-                               {
-                                       return @touch($p->real_full_path);
-                               }
-                               else
-                               {
-                                       $rr = $this->fileoperation->touch($p);
-                               }
-                       }
-
-                       /* We, however, have to decide this ourselves */
-                       if($this->file_exists(array(
-                                       'string'        => $p->fake_full_path,
-                                       'relatives'     => array($p->mask)
-                               ))
-                       )
-                       {
-                               if(!$this->acl_check(array(
-                                               'string'        => 
$p->fake_full_path,
-                                               'relatives'     => 
array($p->mask),
-                                               'operation'     => 
PHPGW_ACL_EDIT
-                                       )))
-                               {
-                                       return false;
-                               }
-
-                               $vr = $this->set_attributes(array(
-                                               'string'                => 
$p->fake_full_path,
-                                               'relatives'             => 
array($p->mask),
-                                               'attributes'    => array(
-                                                                       
'modifiedby_id' => $account_id,
-                                                                       
'modified'              => $this->now
-                                                               )
-                                               )
-                                       );
-                       }
-                       else
-                       {
-                               if(!$this->acl_check(array(
-                                               'string'        => 
$p->fake_full_path,
-                                               'relatives'     => 
array($p->mask),
-                                               'operation'     => PHPGW_ACL_ADD
-                                       ))
-                               )
-                               {
-                                       return false;
-                               }
-
-                               $query = $GLOBALS['phpgw']->db->query("INSERT 
INTO phpgw_vfs (owner_id, directory, name)"
-                                . " 
VALUES({$this->working_id},'{$p->fake_leading_dirs_clean}', 
'{$p->fake_name_clean}')", __LINE__, __FILE__);
-
-                               $this->set_attributes(array(
-                                       'string'                => 
$p->fake_full_path,
-                                       'relatives'             => 
array($p->mask),
-                                       'attributes'    => array(
-                                                               'createdby_id'  
=> $account_id,
-                                                               'created'       
        => $this->now,
-                                                               'size'          
        => 0,
-                                                               'deleteable'    
=> 'Y',
-                                                               'app'           
        => $currentapp
-                                                       )
-                                       )
-                               );
-                               $this->correct_attributes(array(
-                                               'string'        => 
$p->fake_full_path,
-                                               'relatives'     => 
array($p->mask)
-                                       )
-                               );
-
-                               $this->add_journal(array(
-                                               'string'        => 
$p->fake_full_path,
-                                               'relatives'     => 
array($p->mask),
-                                               'operation'     => 
VFS_OPERATION_CREATED
-                                       )
-                               );
-                       }
-
-                       if($rr || $vr || $query)
-                       {
-                               return true;
-                       }
-                       else
-                       {
-                               return false;
-                       }
-               }
-
-               /*
-                * See vfs_shared
-                */
-               function cp($data)
-               {
-                       if(!$data['from'])
-                       {
-                               throw new Exception('nothing to copy from');
-                       }
-
-                       if(!is_array($data))
-                       {
-                               $data = array();
-                       }
-
-                       $default_values = array
-                       (
-                               'relatives'     => array(RELATIVE_CURRENT, 
RELATIVE_CURRENT)
-                       );
-
-                       $data = array_merge($this->default_values($data, 
$default_values), $data);
-
-                       $account_id = 
$GLOBALS['phpgw_info']['user']['account_id'];
-
-                       $f = $this->path_parts(array(
-                                       'string'        => $data['from'],
-                                       'relatives'     => 
array($data['relatives'][0])
-                               )
-                       );
-
-                       $t = $this->path_parts(array(
-                                       'string'        => $data['to'],
-                                       'relatives'     => 
array($data['relatives'][1])
-                               )
-                       );
-
-                       if(!$this->fileoperation->check_target_directory($t))
-                       {
-                               $GLOBALS['phpgw']->log->error(array(
-                                       'text' => 'vfs::cp() : missing target 
directory %1',
-                                       'p1'   => $t->real_leading_dirs,
-                                       'p2'     => '',
-                                       'line' => __LINE__,
-                                       'file' => __FILE__
-                               ));
-
-                               return false;
-                       }
-
-                       if(!$this->acl_check(array(
-                                       'string'        => $f->fake_full_path,
-                                       'relatives'     => array($f->mask),
-                                       'operation'     => PHPGW_ACL_READ
-                               ))
-                       )
-                       {
-                               return false;
-                       }
-
-                       if($this->file_exists(array(
-                                       'string'        => $t->fake_full_path,
-                                       'relatives'     => array($t->mask)
-                               ))
-                       )
-                       {
-                               if(!$this->acl_check(array(
-                                               'string'        => 
$t->fake_full_path,
-                                               'relatives'     => 
array($t->mask),
-                                               'operation'     => 
PHPGW_ACL_EDIT
-                                       ))
-                               )
-                               {
-                                       return false;
-                               }
-                       }
-                       else
-                       {
-                               if(!$this->acl_check(array(
-                                               'string'        => 
$t->fake_full_path,
-                                               'relatives'     => 
array($t->mask),
-                                               'operation'     => PHPGW_ACL_ADD
-                                       ))
-                               )
-                               {
-                                       return false;
-                               }
-
-                       }
-
-                       umask(000);
-
-                       if($this->file_type(array(
-                                       'string'        => $f->fake_full_path,
-                                       'relatives'     => array($f->mask)
-                               )) != 'Directory'
-                       )
-                       {
-                               if($this->file_actions)
-                               {
-                                       if(!$this->fileoperation->copy($f, $t))
-                                       {
-                                               return false;
-                                       }
-
-                                       $size = 
$this->fileoperation->filesize($t);
-                               }
-                               else
-                               {
-                                       $content = $this->read(array(
-                                                       'string'        => 
$f->fake_full_path,
-                                                       'relatives'     => 
array($f->mask)
-                                               )
-                                       );
-
-                                       $size = strlen($content);
-                               }
-
-                               if($t->outside)
-                               {
-                                       return true;
-                               }
-
-                               $ls_array = $this->ls(array(
-                                               'string'        => 
$f->real_full_path, // Sigurd: seems to work better with real - old: 'string'   
     => $f->fake_full_path,
-                                               'relatives'     => 
array($f->mask),
-                                               'checksubdirs'  => false,
-                                               'mime_type'     => false,
-                                               'nofiles'       => true
-                                       )
-                               );
-                               $record = $ls_array[0];
-
-                               if($this->file_exists(array(
-                                               'string'        => $data['to'],
-                                               'relatives'     => 
array($data['relatives'][1])
-                                       ))
-                               )
-                               {
-                                       $query = 
$GLOBALS['phpgw']->db->query("UPDATE phpgw_vfs SET 
owner_id='{$this->working_id}',"
-                                       . " 
directory='{$t->fake_leading_dirs_clean}',"
-                                       . " name='{$t->fake_name_clean}'"
-                                       . " WHERE 
owner_id='{$this->working_id}' AND directory='{$t->fake_leading_dirs_clean}'"
-                                       . " AND name='{$t->fake_name_clean}'" . 
$this->extra_sql(VFS_SQL_UPDATE), __LINE__, __FILE__);
-
-                                       $set_attributes_array = array
-                                       (
-                                               'createdby_id'  => $account_id,
-                                               'created'               => 
$this->now,
-                                               'size'                  => 
$size,
-                                               'mime_type'             => 
$record['mime_type'],
-                                               'deleteable'    => 
$record['deleteable'],
-                                               'comment'               => 
$record['comment'],
-                                               'app'                   => 
$record['app']
-                                       );
-
-                                       if(!$this->file_actions)
-                                       {
-                                               
$set_attributes_array['content'] = $content;
-                                       }
-
-                                       $this->set_attributes(array(
-                                               'string'        => 
$t->fake_full_path,
-                                               'relatives'     => 
array($t->mask),
-                                               'attributes'    => 
$set_attributes_array
-                                               )
-                                       );
-
-                                       $this->add_journal(array(
-                                                       'string'        => 
$t->fake_full_path,
-                                                       'relatives'     => 
array($t->mask),
-                                                       'operation'     => 
VFS_OPERATION_EDITED
-                                               )
-                                       );
-                               }
-                               else
-                               {
-                                       $this->touch(array(
-                                                       'string'        => 
$t->fake_full_path,
-                                                       'relatives'     => 
array($t->mask)
-                                               )
-                                       );
-
-                                       $set_attributes_array = array
-                                       (
-                                               'createdby_id'  => $account_id,
-                                               'created'               => 
$this->now,
-                                               'size'                  => 
$size,
-                                               'mime_type'             => 
$record['mime_type'],
-                                               'deleteable'    => 
$record['deleteable'],
-                                               'comment'               => 
$record['comment'],
-                                               'app'                   => 
$record['app']
-                                       );
-
-                                       if(!$this->file_actions)
-                                       {
-                                               
$set_attributes_array['content'] = $content;
-                                       }
-
-                                       $this->set_attributes(array(
-                                                       'string'        => 
$t->fake_full_path,
-                                                       'relatives'     => 
array($t->mask),
-                                                       'attributes'    => 
$set_attributes_array
-                                               )
-                                       );
-                               }
-                               $this->correct_attributes(array(
-                                               'string'        => 
$t->fake_full_path,
-                                               'relatives'     => 
array($t->mask)
-                                       )
-                               );
-                       }
-                       else    /* It's a directory */
-                       {
-                               /* First, make the initial directory */
-                               if($this->mkdir(array(
-                                               'string'        => $data['to'],
-                                               'relatives'     => 
array($data['relatives'][1])
-                                       )) === false
-                               )
-                               {
-                                       return false;
-                               }
-
-                               /* Next, we create all the directories below 
the initial directory */
-                               $ls = $this->ls(array(
-                                               'string'        => 
$f->fake_full_path,
-                                               'relatives'     => 
array($f->mask),
-                                               'checksubdirs'  => true,
-                                               'mime_type'     => 'Directory'
-                                       )
-                               );
-
-                               while(list($num, $entry) = each($ls))
-                               {
-                                       $newdir = preg_replace("/^" . 
str_replace('/', '\/', $f->fake_full_path). "/", $t->fake_full_path, 
$entry['directory']);
-
-                                       if($this->mkdir(array(
-                                                       'string'        => 
"{$newdir}/{$entry['name']}",
-                                                       'relatives'     => 
array($t->mask)
-                                               )) === false
-                                       )
-                                       {
-                                               return false;
-                                       }
-                               }
-
-                               /* Lastly, we copy the files over */
-                               $ls = $this->ls(array(
-                                               'string'        => 
$f->fake_full_path,
-                                               'relatives'     => 
array($f->mask)
-                                       )
-                               );
-
-                               while(list($num, $entry) = each($ls))
-                               {
-                                       if($entry['mime_type'] == 'Directory')
-                                       {
-                                               continue;
-                                       }
-
-                                       $newdir = preg_replace("/^" . 
str_replace('/', '\/', $f->fake_full_path). "/", $t->fake_full_path, 
$entry['directory']);
-                                       $this->cp(array(
-                                                       'from'  => 
"{$entry[directory]}/{$entry[name]}",
-                                                       'to'    => 
"{$newdir}/{$entry[name]}",
-                                                       'relatives'     => 
array($f->mask, $t->mask)
-                                               )
-                                       );
-                               }
-                       }
-
-                       if(!$f->outside)
-                       {
-                               $this->add_journal(array(
-                                               'string'        => 
$f->fake_full_path,
-                                               'relatives'     => 
array($f->mask),
-                                               'operation'     => 
VFS_OPERATION_COPIED,
-                                               'state_one'     => NULL,
-                                               'state_two'     => 
$t->fake_full_path
-                                       )
-                               );
-                       }
-
-                       return true;
-               }
-               /*
-                * Same as cp function, except an exception is thrown if there 
is a failure
-                * errors have also been expanded
-                */
-               function cp2($data)
-               {
-                       if(!is_array($data))
-                       {
-                               $data = array();
-                       }
-
-                       $default_values = array
-                       (
-                               'relatives'     => array(RELATIVE_CURRENT, 
RELATIVE_CURRENT)
-                       );
-
-                       $data = array_merge($this->default_values($data, 
$default_values), $data);
-
-                       $account_id = 
$GLOBALS['phpgw_info']['user']['account_id'];
-
-                       $f = $this->path_parts(array(
-                                       'string'        => $data['from'],
-                                       'relatives'     => 
array($data['relatives'][0])
-                               )
-                       );
-
-                       $t = $this->path_parts(array(
-                                       'string'        => $data['to'],
-                                       'relatives'     => 
array($data['relatives'][1])
-                               )
-                       );
-
-                       if(!$this->acl_check(array(
-                                       'string'        => $f->fake_full_path,
-                                       'relatives'     => array($f->mask),
-                                       'operation'     => PHPGW_ACL_READ
-                               ))
-                       )
-                       {
-                               throw new Exception('ACL(READ) check failed!');
-                       }
-
-                       if($this->file_exists(array(
-                                       'string'        => $t->fake_full_path,
-                                       'relatives'     => array($t->mask)
-                               ))
-                       )
-                       {
-                               if(!$this->acl_check(array(
-                                               'string'        => 
$t->fake_full_path,
-                                               'relatives'     => 
array($t->mask),
-                                               'operation'     => 
PHPGW_ACL_EDIT
-                                       ))
-                               )
-                               {
-                                       throw new Exception('ACL(EDIT) check 
failed!');
-                               }
-                       }
-                       else
-                       {
-                               if(!$this->acl_check(array(
-                                               'string'        => 
$t->fake_full_path,
-                                               'relatives'     => 
array($t->mask),
-                                               'operation'     => PHPGW_ACL_ADD
-                                       ))
-                               )
-                               {
-                                       throw new Exception('ACL(ADD) check 
failed!');
-                               }
-
-                       }
-
-                       umask(000);
-
-                       if($this->file_type(array(
-                                       'string'        => $f->fake_full_path,
-                                       'relatives'     => array($f->mask)
-                               )) != 'Directory'
-                       )
-                       {
-                               if($this->file_actions)
-                               {
-                                       if(!$this->fileoperation->copy($f, $t))
-                                       {
-                                               $error = "Copy failed!\n";
-                                               $error = $error. 
"f->real_full_path: $f->real_full_path \n";
-                                               $error = $error. 
"t->real_full_path: $t->real_full_path \n";
-                                               throw new Exception($error);
-                                       }
-                                       $size = 
$this->fileoperation->filesize($t);
-                               }
-                               else
-                               {
-                                       $content = $this->read(array(
-                                                       'string'        => 
$f->fake_full_path,
-                                                       'relatives'     => 
array($f->mask)
-                                               )
-                                       );
-
-                                       $size = strlen($content);
-                               }
-
-                               if($t->outside)
-                               {
-                                       return true;
-                               }
-
-                               $ls_array = $this->ls(array(
-                                               'string'                => 
$f->real_full_path, // Sigurd: seems to work better with real - old: 'string'   
     => $f->fake_full_path,
-                                               'relatives'             => 
array($f->mask),
-                                               'checksubdirs'  => false,
-                                               'mime_type'             => 
false,
-                                               'nofiles'               => true
-                                       )
-                               );
-                               $record = $ls_array[0];
-
-                               if($this->file_exists(array(
-                                               'string'        => $data['to'],
-                                               'relatives'     => 
array($data['relatives'][1])
-                                       ))
-                               )
-                               {
-                                       $query = 
$GLOBALS['phpgw']->db->query("UPDATE phpgw_vfs SET 
owner_id='{$this->working_id}',"
-                                       . " 
directory='{$t->fake_leading_dirs_clean}',"
-                                       . " name='{$t->fake_name_clean}'"
-                                       . " WHERE 
owner_id='{$this->working_id}' AND directory='{$t->fake_leading_dirs_clean}'"
-                                       . " AND name='$t->fake_name_clean'" . 
$this->extra_sql(VFS_SQL_UPDATE), __LINE__, __FILE__);
-
-                                       $set_attributes_array = array
-                                       (
-                                               'createdby_id'          => 
$account_id,
-                                               'created'                       
=> $this->now,
-                                               'size'                          
=> $size,
-                                               'mime_type'                     
=> $record['mime_type'],
-                                               'deleteable'            => 
$record['deleteable'],
-                                               'comment'                       
=> $record['comment'],
-                                               'app'                           
=> $record['app']
-                                       );
-
-                                       if(!$this->file_actions)
-                                       {
-                                               
$set_attributes_array['content'] = $content;
-                                       }
-
-                                       $this->set_attributes(array(
-                                               'string'                => 
$t->fake_full_path,
-                                               'relatives'             => 
array($t->mask),
-                                               'attributes'    => 
$set_attributes_array
-                                               )
-                                       );
-
-                                       $this->add_journal(array(
-                                                       'string'        => 
$t->fake_full_path,
-                                                       'relatives'     => 
array($t->mask),
-                                                       'operation'     => 
VFS_OPERATION_EDITED
-                                               )
-                                       );
-                               }
-                               else
-                               {
-                                       $this->touch(array(
-                                                       'string'        => 
$t->fake_full_path,
-                                                       'relatives'     => 
array($t->mask)
-                                               )
-                                       );
-
-                                       $set_attributes_array = array
-                                       (
-                                               'createdby_id'          => 
$account_id,
-                                               'created'                       
=> $this->now,
-                                               'size'                          
=> $size,
-                                               'mime_type'                     
=> $record['mime_type'],
-                                               'deleteable'            => 
$record['deleteable'],
-                                               'comment'                       
=> $record['comment'],
-                                               'app'                           
=> $record['app']
-                                       );
-
-                                       if(!$this->file_actions)
-                                       {
-                                               
$set_attributes_array['content'] = $content;
-                                       }
-
-                                       $this->set_attributes(array(
-                                                       'string'                
=> $t->fake_full_path,
-                                                       'relatives'             
=> array($t->mask),
-                                                       'attributes'    => 
$set_attributes_array
-                                               )
-                                       );
-                               }
-                               $this->correct_attributes(array(
-                                               'string'        => 
$t->fake_full_path,
-                                               'relatives'     => 
array($t->mask)
-                                       )
-                               );
-                       }
-                       else    /* It's a directory */
-                       {
-                               /* First, make the initial directory */
-                               if($this->mkdir(array(
-                                               'string'        => $data['to'],
-                                               'relatives'     => 
array($data['relatives'][1])
-                                       )) === false
-                               )
-                               {
-                                       throw new Exception('Error, it is a 
directory');
-                               }
-
-                               /* Next, we create all the directories below 
the initial directory */
-                               $ls = $this->ls(array(
-                                               'string'                => 
$f->fake_full_path,
-                                               'relatives'             => 
array($f->mask),
-                                               'checksubdirs'  => true,
-                                               'mime_type'             => 
'Directory'
-                                       )
-                               );
-
-                               while(list($num, $entry) = each($ls))
-                               {
-                                       $newdir = preg_replace("/^" . 
str_replace('/', '\/', $f->fake_full_path). "/", $t->fake_full_path, 
$entry['directory']);
-                                       if($this->mkdir(array(
-                                                       'string'        => 
"{$newdir}/{$entry['name']}",
-                                                       'relatives'     => 
array($t->mask)
-                                               )) === false
-                                       )
-                                       {
-                                               throw new Exception('While loop 
error!');
-                                       }
-                               }
-
-                               /* Lastly, we copy the files over */
-                               $ls = $this->ls(array(
-                                               'string'        => 
$f->fake_full_path,
-                                               'relatives'     => 
array($f->mask)
-                                       )
-                               );
-
-                               while(list($num, $entry) = each($ls))
-                               {
-                                       if($entry['mime_type'] == 'Directory')
-                                       {
-                                               continue;
-                                       }
-
-                                       $newdir = preg_replace("/^" . 
str_replace('/', '\/', $f->fake_full_path). "/", $t->fake_full_path, 
$entry['directory']);
-
-                                       $this->cp(array(
-                                                       'from'          => 
"{$entry[directory]}/{$entry[name]}",
-                                                       'to'            => 
"{$newdir}/{$entry[name]}",
-                                                       'relatives'     => 
array($f->mask, $t->mask)
-                                               )
-                                       );
-                               }
-                       }
-
-                       if(!$f->outside)
-                       {
-                               $this->add_journal(array(
-                                               'string'        => 
$f->fake_full_path,
-                                               'relatives'     => 
array($f->mask),
-                                               'operation'     => 
VFS_OPERATION_COPIED,
-                                               'state_one'     => NULL,
-                                               'state_two'     => 
$t->fake_full_path
-                                       )
-                               );
-                       }
-
-                       return true;
-               }
-               /*
-                * See vfs_shared
-                */
-               function mv($data)
-               {
-                       if(!is_array($data))
-                       {
-                               $data = array();
-                       }
-
-                       $default_values = array
-                       (
-                               'relatives'     => array(RELATIVE_CURRENT, 
RELATIVE_CURRENT)
-                       );
-
-                       $data = array_merge($this->default_values($data, 
$default_values), $data);
-
-                       $account_id = 
$GLOBALS['phpgw_info']['user']['account_id'];
-                       $f = $this->path_parts(array(
-                                       'string'        => $data['from'],
-                                       'relatives'     => 
array($data['relatives'][0])
-                               )
-                       );
-
-                       $t = $this->path_parts(array(
-                                       'string'        => $data['to'],
-                                       'relatives'     => 
array($data['relatives'][1])
-                               )
-                       );
-                       if(!$this->acl_check(array(
-                                       'string'        => $f->fake_full_path,
-                                       'relatives'     => array($f->mask),
-                                       'operation'     => PHPGW_ACL_READ
-                               ))
-                               || !$this->acl_check(array(
-                                       'string'        => $f->fake_full_path,
-                                       'relatives'     => array($f->mask),
-                                       'operation'     => PHPGW_ACL_DELETE
-                               ))
-                       )
-                       {
-                               return false;
-                       }
-
-                       if(!$this->acl_check(array(
-                                       'string'        => $t->fake_full_path,
-                                       'relatives'     => array($t->mask),
-                                       'operation'     => PHPGW_ACL_ADD
-                               ))
-                       )
-                       {
-                               return false;
-                       }
-
-                       if($this->file_exists(array(
-                                       'string'        => $t->fake_full_path,
-                                       'relatives'     => array($t->mask)
-                               ))
-                       )
-                       {
-                               if(!$this->acl_check(array(
-                                               'string'        => 
$t->fake_full_path,
-                                               'relatives'     => 
array($t->mask),
-                                               'operation'     => 
PHPGW_ACL_EDIT
-                                       ))
-                               )
-                               {
-                                       return false;
-                               }
-                       }
-
-                       umask(000);
-
-                       /* We can't move directories into themselves */
-                       if(($this->file_type(array(
-                                       'string'        => $f->fake_full_path,
-                                       'relatives'     => array($f->mask)
-                               ) == 'Directory'))
-//                             && preg_match("/^{$f->fake_full_path}/", 
$t->fake_full_path)
-                               && preg_match("/^" . str_replace('/', '\/', 
$f->fake_full_path). "/", $t->fake_full_path)
-                       )
-                       {
-                               if(($t->fake_full_path == $f->fake_full_path) 
|| substr($t->fake_full_path, strlen($f->fake_full_path), 1) == '/')
-                               {
-                                       return false;
-                               }
-                       }
-                       if($this->file_exists(array(
-                                       'string'        => $f->fake_full_path,
-                                       'relatives'     => array($f->mask)
-                               ))
-                       )
-                       {
-                               /* We get the listing now, because it will 
change after we update the database */
-                               $ls = $this->ls(array(
-                                               'string'        => 
$f->fake_full_path,
-                                               'relatives'     => 
array($f->mask)
-                                       )
-                               );
-
-                               if($this->file_exists(array(
-                                               'string'        => 
$t->fake_full_path,
-                                               'relatives'     => 
array($t->mask)
-                                       ))
-                               )
-                               {
-                                       $this->rm(array(
-                                                       'string'        => 
$t->fake_full_path,
-                                                       'relatives'     => 
array($t->mask)
-                                               )
-                                       );
-                               }
-
-                               /*
-                                  We add the journal entry now, before we 
delete.  This way the mime_type
-                                  field will be updated to 'journal-deleted' 
when the file is actually deleted
-                               */
-                               if(!$f->outside)
-                               {
-                                       $this->add_journal(array(
-                                                       'string'        => 
$f->fake_full_path,
-                                                       'relatives'     => 
array($f->mask),
-                                                       'operation'     => 
VFS_OPERATION_MOVED,
-                                                       'state_one'     => 
$f->fake_full_path,
-                                                       'state_two'     => 
$t->fake_full_path
-                                               )
-                                       );
-                               }
-
-                               /*
-                                  If the from file is outside, it won't have a 
database entry,
-                                  so we have to touch it and find the size
-                               */
-                               if($f->outside)
-                               {
-                                       $size = filesize($f->real_full_path);
-                                       if( $size === false )
-                                       {
-                                               _debug_array($f);
-                                               $size = 1;
-                                       }
-                                       $this->touch(array(
-                                                       'string'        => 
$t->fake_full_path,
-                                                       'relatives'     => 
array($t->mask)
-                                               )
-                                       );
-                                       $query = 
$GLOBALS['phpgw']->db->query("UPDATE phpgw_vfs SET size={$size}"
-                                       . " WHERE 
directory='{$t->fake_leading_dirs_clean}'"
-                                       . " AND name='{$t->fake_name_clean}'" . 
$this->extra_sql(array('query_type' => VFS_SQL_UPDATE)), __LINE__, __FILE__);
-                               }
-                               elseif(!$t->outside)
-                               {
-                                       $query = 
$GLOBALS['phpgw']->db->query("UPDATE phpgw_vfs SET 
name='{$t->fake_name_clean}', directory='{$t->fake_leading_dirs_clean}'"
-                                       . " WHERE 
directory='{$f->fake_leading_dirs_clean}'"
-                                       . " AND name='{$f->fake_name_clean}'" . 
$this->extra_sql(array('query_type' => VFS_SQL_UPDATE)), __LINE__, __FILE__);
-                               }
-
-                               $this->set_attributes(array(
-                                               'string'        => 
$t->fake_full_path,
-                                               'relatives'     => 
array($t->mask),
-                                               'attributes'    => array(
-                                                                       
'modifiedby_id' => $account_id,
-                                                                       
'modified' => $this->now
-                                                               )
-                                       )
-                               );
-
-                               $this->correct_attributes(array(
-                                               'string'        => 
$t->fake_full_path,
-                                               'relatives'     => 
array($t->mask)
-                                       )
-                               );
-
-                               if($this->file_actions)
-                               {
-                                       $rr = $this->fileoperation->rename($f, 
$t);
-                               }
-
-                               /*
-                                  This removes the original entry from the 
database
-                                  The actual file is already deleted because 
of the rename() above
-                               */
-                               if($t->outside)
-                               {
-                                       $this->rm(array(
-                                                       'string'        => 
$f->fake_full_path,
-                                                       'relatives'     => 
$f->mask
-                                               )
-                                       );
-                               }
-                       }
-                       else
-                       {
-                               return false;
-                       }
-
-                       if($this->file_type(array(
-                                       'string'        => $t->fake_full_path,
-                                       'relatives'     => array($t->mask)
-                               )) == 'Directory'
-                       )
-                       {
-                               /* We got $ls from above, before we renamed the 
directory */
-                               while(list($num, $entry) = each($ls))
-                               {
-                                       $newdir = preg_replace("/^" . 
str_replace('/', '\/', $f->fake_full_path). "/", $t->fake_full_path, 
$entry['directory']);
-                                       $newdir_clean = 
$this->clean_string(array('string' => $newdir));
-
-                                       $query = 
$GLOBALS['phpgw']->db->query("UPDATE phpgw_vfs SET directory='{$newdir_clean}'"
-                                       . " WHERE file_id='{$entry[file_id]}'" 
. $this->extra_sql(array('query_type' => VFS_SQL_UPDATE)), __LINE__, __FILE__);
-
-                                       $this->correct_attributes(array(
-                                                       'string'        => 
"{$newdir}/{$entry[name]}",
-                                                       'relatives'     => 
array($t->mask)
-                                               )
-                                       );
-                               }
-                       }
-
-                       $this->add_journal(array(
-                                       'string'        => $t->fake_full_path,
-                                       'relatives'     => array($t->mask),
-                                       'operation'     => VFS_OPERATION_MOVED,
-                                       'state_one'     => $f->fake_full_path,
-                                       'state_two'     => $t->fake_full_path
-                               )
-                       );
-
-                       return true;
-               }
-
-               /*
-                * See vfs_shared
-                */
-               function rm($data)
-               {
-                       if(!is_array($data))
-                       {
-                               $data = array();
-                       }
-
-                       $default_values = array
-                       (
-                               'relatives'     => array(RELATIVE_CURRENT)
-                       );
-
-                       $data = array_merge($this->default_values($data, 
$default_values), $data);
-
-                       $p = $this->path_parts(array(
-                                       'string'        => $data['string'],
-                                       'relatives'     => 
array($data['relatives'][0])
-                               )
-                       );
-
-                       if(!$this->acl_check(array(
-                                       'string'        => $p->fake_full_path,
-                                       'relatives'     => array($p->mask),
-                                       'operation'     => PHPGW_ACL_DELETE
-                               ))
-                       )
-                       {
-                               return false;
-                       }
-
-                       if(!$this->file_exists(array(
-                                       'string'        => $data['string'],
-                                       'relatives'     => 
array($data['relatives'][0])
-                               ))
-                       )
-                       {
-                               if($this->file_actions)
-                               {
-                                       $rr = $this->fileoperation->unlink($p);
-                               }
-                               else
-                               {
-                                       $rr = true;
-                               }
-
-                               if($rr)
-                               {
-                                       return true;
-                               }
-                               else
-                               {
-                                       return false;
-                               }
-                       }
-
-                       if($this->file_type(array(
-                                       'string'        => $data['string'],
-                                       'relatives'     => 
array($data['relatives'][0])
-                               )) != 'Directory'
-                       )
-                       {
-                               $this->add_journal(array(
-                                               'string'        => 
$p->fake_full_path,
-                                               'relatives'     => 
array($p->mask),
-                                               'operation'     => 
VFS_OPERATION_DELETED
-                                       )
-                               );
-
-                               $query = $GLOBALS['phpgw']->db->query("DELETE 
FROM phpgw_vfs"
-                               . " WHERE 
directory='{$p->fake_leading_dirs_clean}'"
-                               . " AND name='{$p->fake_name_clean}'" . 
$this->extra_sql(array('query_type' => VFS_SQL_DELETE)), __LINE__, __FILE__);
-
-                               if($this->file_actions)
-                               {
-                                       $rr = $this->fileoperation->unlink($p);
-                               }
-                               else
-                               {
-                                       $rr = true;
-                               }
-
-                               if($query || $rr)
-                               {
-                                       return true;
-                               }
-                               else
-                               {
-                                       return false;
-                               }
-                       }
-                       else
-                       {
-                               $ls = $this->ls(array(
-                                               'string'        => 
$p->fake_full_path,
-                                               'relatives'     => 
array($p->mask)
-                                       )
-                               );
-
-                               /* First, we cycle through the entries and 
delete the files */
-                               while(list($num, $entry) = each($ls))
-                               {
-                                       if($entry['mime_type'] == 'Directory')
-                                       {
-                                               continue;
-                                       }
-
-                                       $this->rm(array(
-                                                       'string'        => 
"{$entry['directory']}/{$entry['name']}",
-                                                       'relatives'     => 
array($p->mask)
-                                               )
-                                       );
-                               }
-
-                               /* Now we cycle through again and delete the 
directories */
-                               reset($ls);
-                               while(list($num, $entry) = each($ls))
-                               {
-                                       if($entry['mime_type'] != 'Directory')
-                                       {
-                                               continue;
-                                       }
-
-                                       /* Only the best in confusing recursion 
*/
-                                       $this->rm(array(
-                                                       'string'        => 
"{$entry['directory']}/{$entry['name']}",
-                                                       'relatives'     => 
array($p->mask)
-                                               )
-                                       );
-                               }
-
-                               /* If the directory is linked, we delete the 
placeholder directory */
-                               $ls_array = $this->ls(array(
-                                               'string'                => 
$p->fake_full_path,
-                                               'relatives'             => 
array($p->mask),
-                                               'checksubdirs'  => false,
-                                               'mime_type'             => 
false,
-                                               'nofiles'               => true
-                                       )
-                               );
-                               $link_info = $ls_array[0];
-
-                               if($link_info['link_directory'] && 
$link_info['link_name'])
-                               {
-                                       $path = $this->path_parts(array(
-                                                       'string'        => 
"{$link_info['directory']}/{$link_info['name']}",
-                                                       'relatives'     => 
array($p->mask),
-                                                       'nolinks'       => true
-                                               )
-                                       );
-
-                                       if($this->file_actions)
-                                       {
-                                               
$this->fileoperation->rmdir($path);
-                                       }
-                               }
-
-                               /* Last, we delete the directory itself */
-                               $this->add_journal(array(
-                                               'string'        => 
$p->fake_full_path,
-                                               'relatives'     => 
array($p->mask),
-                                               'operaton'      => 
VFS_OPERATION_DELETED
-                                       )
-                               );
-
-                               $query = $GLOBALS['phpgw']->db->query("DELETE 
FROM phpgw_vfs"
-                               . " WHERE 
directory='{$p->fake_leading_dirs_clean}' AND name='{$p->fake_name_clean}'" . 
$this->extra_sql(array('query_type' => VFS_SQL_DELETE)), __LINE__, __FILE__);
-
-                               if($this->file_actions)
-                               {
-                                       $this->fileoperation->rmdir($p);
-                               }
-
-                               return true;
-                       }
-               }
-
-               /*
-                * See vfs_shared
-                */
-               function mkdir($data)
-               {
-                       if(!is_array($data))
-                       {
-                               $data = array();
-                       }
-
-                       $default_values = array
-                       (
-                               'relatives'     => array(RELATIVE_CURRENT)
-                       );
-
-                       $data = array_merge($this->default_values($data, 
$default_values), $data);
-
-                       $account_id = 
$GLOBALS['phpgw_info']['user']['account_id'];
-                       $currentapp = 
$GLOBALS['phpgw_info']['flags']['currentapp'];
-
-                       $p = $this->path_parts(array(
-                                       'string'        => $data['string'],
-                                       'relatives'     => 
array($data['relatives'][0])
-                               )
-                       );
-
-                       if(!$this->acl_check(array(
-                                       'string'        => $p->fake_full_path,
-                                       'relatives'     => array($p->mask),
-                                       'operation'     => PHPGW_ACL_ADD)
-                               )
-                       )
-                       {
-                               return false;
-                       }
-
-                       /* We don't allow /'s in dir names, of course */
-                       if(preg_match('/\//', $p->fake_name))
-                       {
-                               return false;
-                       }
-
-                       umask(000);
-
-                       if($this->file_actions)
-                       {
-                               
if(!$this->fileoperation->check_target_directory($p))
-                               {
-                                       $GLOBALS['phpgw']->log->error(array(
-                                               'text' => 'vfs::mkdir() : 
missing leading directory %1 when attempting to create %2',
-                                               'p1'   => $p->real_leading_dirs,
-                                               'p2'     => $p->real_full_path,
-                                               'line' => __LINE__,
-                                               'file' => __FILE__
-                                       ));
-
-                                       return false;
-                               }
-
-                               /* Auto create home */
-
-                               
$this->fileoperation->auto_create_home($this->basedir);
-
-                               if($this->fileoperation->file_exists($p))
-                               {
-                                       if(!$this->fileoperation->is_dir($p))
-                                       {
-                                               return false;
-                                       }
-                               }
-                               else if(!$this->fileoperation->mkdir($p))
-                               {
-                                       $GLOBALS['phpgw']->log->error(array(
-                                               'text' => 'vfs::mkdir() : 
failed to create directory %1',
-                                               'p1'   => $p->real_full_path,
-                                               'p2'     => '',
-                                               'line' => __LINE__,
-                                               'file' => __FILE__
-                                       ));
-
-                                       return false;
-                               }
-
-                       }
-
-                       if(!$this->file_exists(array(
-                                       'string'        => $p->fake_full_path,
-                                       'relatives'     => array($p->mask)
-                               ))
-                       )
-                       {
-                               $query = $GLOBALS['phpgw']->db->query("INSERT 
INTO phpgw_vfs(owner_id, name, directory)"
-                               . " VALUES({$this->working_id}, 
'{$p->fake_name_clean}', '{$p->fake_leading_dirs_clean}')", __LINE__, __FILE__);
-                               $this->set_attributes(array(
-                                       'string'                => 
$p->fake_full_path,
-                                       'relatives'             => 
array($p->mask),
-                                       'attributes'    => array(
-                                                               'createdby_id'  
=> $account_id,
-                                                               'size'          
        => 4096,
-                                                               'mime_type'     
        => 'Directory',
-                                                               'created'       
        => $this->now,
-                                                               'deleteable'    
=> 'Y',
-                                                               'app'           
        => $currentapp
-                                                       )
-                                       )
-                               );
-
-                               $this->correct_attributes(array(
-                                               'string'        => 
$p->fake_full_path,
-                                               'relatives'     => 
array($p->mask)
-                                       )
-                               );
-
-                               $this->add_journal(array(
-                                               'string'        => 
$p->fake_full_path,
-                                               'relatives'     => 
array($p->mask),
-                                               'operation'     => 
VFS_OPERATION_CREATED
-                                       )
-                               );
-                       }
-                       else
-                       {
-                               return false;
-                       }
-
-                       return true;
-               }
-
-               /*
-                * See vfs_shared
-                */
-               function make_link($data)
-               {
-                       /* Does not seem to be used */
-                       return false;
-
-                       if(!is_array($data))
-                       {
-                               $data = array();
-                       }
-
-                       $default_values = array
-                       (
-                               'relatives'     => array(RELATIVE_CURRENT, 
RELATIVE_CURRENT)
-                       );
-
-                       $data = array_merge($this->default_values($data, 
$default_values), $data);
-
-                       $account_id = 
$GLOBALS['phpgw_info']['user']['account_id'];
-                       $currentapp = 
$GLOBALS['phpgw_info']['flags']['currentapp'];
-
-                       $vp = $this->path_parts(array(
-                                       'string'        => $data['vdir'],
-                                       'relatives'     => 
array($data['relatives'][0])
-                               )
-                       );
-
-                       $rp = $this->path_parts(array(
-                                       'string'        => $data['rdir'],
-                                       'relatives'     => 
array($data['relatives'][1])
-                               )
-                       );
-
-                       if(!$this->acl_check(array(
-                                       'string'        => $vp->fake_full_path,
-                                       'relatives'     => array($vp->mask),
-                                       'operation'     => PHPGW_ACL_ADD
-                               ))
-                       )
-                       {
-                               return false;
-                       }
-
-                       if($this->file_exists(array(
-                                       'string'        => $rp->real_full_path,
-                                       'relatives'     => array($rp->mask)
-                               ))
-                       )
-                       {
-                               if(!$this->fileoperation->is_dir($rp))
-                               {
-                                       return false;
-                               }
-                       }
-                       elseif(!$this->fileoperation->mkdir($rp))
-                       {
-                               return false;
-                       }
-
-                       if(!$this->mkdir(array(
-                                       'string'        => $vp->fake_full_path,
-                                       'relatives'     => array($vp->mask)
-                               ))
-                       )
-                       {
-                               return false;
-                       }
-
-                       //FIXME real_full_path...
-                       $size = $this->get_size(array(
-                                       'string'        => $rp->real_full_path,
-                                       'relatives'     => array($rp->mask)
-                               )
-                       );
-
-                       $this->set_attributes(array(
-                                       'string'        => $vp->fake_full_path,
-                                       'relatives'     => array($vp->mask),
-                                       'attributes'    => array(
-                                                               
'link_directory' => $rp->real_leading_dirs,
-                                                               'link_name' => 
$rp->real_name,
-                                                               'size' => $size
-                                                       )
-                               )
-                       );
-
-                       $this->correct_attributes(array(
-                                       'string'        => $vp->fake_full_path,
-                                       'relatives'     => array($vp->mask)
-                               )
-                       );
-
-                       return true;
-               }
-
-               /*
-                * See vfs_shared
-                */
-               function set_attributes($data)
-               {
-                       if(!is_array($data))
-                       {
-                               $data = array();
-                       }
-
-                       $default_values = array
-                               (
-                                       'relatives'     => 
array(RELATIVE_CURRENT),
-                                       'attributes'    => array()
-                               );
-
-                       $data = array_merge($this->default_values($data, 
$default_values), $data);
-
-                       $p = $this->path_parts(array(
-                                       'string'        => $data['string'],
-                                       'relatives'     => 
array($data['relatives'][0])
-                               )
-                       );
-
-                       /*
-                          This is kind of trivial, given that set_attributes() 
can change owner_id,
-                          size, etc.
-                       */
-                       if(!$this->acl_check(array(
-                                       'string'        => $p->fake_full_path,
-                                       'relatives'     => array($p->mask),
-                                       'operation'     => PHPGW_ACL_EDIT
-                               ))
-                       )
-                       {
-                               return false;
-                       }
-
-                       if(!$this->file_exists(array(
-                                       'string'        => $data['string'],
-                                       'relatives'     => 
array($data['relatives'][0])
-                               ))
-                       )
-                       {
-                               return false;
-                       }
-
-                       /*
-                          All this voodoo just decides which attributes to 
update
-                          depending on if the attribute was supplied in the 
'attributes' array
-                       */
-
-                       $ls_array = $this->ls(array(
-                                       'string'        => $p->fake_full_path,
-                                       'relatives'     => array($p->mask),
-                                       'checksubdirs'  => false,
-                                       'nofiles'       => true
-                               )
-                       );
-                       $record = $ls_array[0];
-
-                       $sql = 'UPDATE phpgw_vfs SET ';
-
-                       $change_attributes = 0;
-                       $edited_comment = false;
-
-                       reset($this->attributes);
-                       $value_set = array();
-
-                       foreach($this->attributes as $num => $attribute)
-                       {
-                               if(isset($data['attributes'][$attribute]))
-                               {
-                                       $$attribute = 
$data['attributes'][$attribute];
-
-                                       /*
-                                          Indicate that the EDITED_COMMENT 
operation needs to be journaled,
-                                          but only if the comment changed
-                                       */
-                                       if($attribute == 'comment' && 
$data['attributes'][$attribute] != $record[$attribute])
-                                       {
-                                               $edited_comment = true;
-                                       }
-
-                                       if($attribute == 'owner_id' && 
!$$attribute)
-                                       {
-                                               $$attribute = 
$GLOBALS['phpgw_info']['user']['account_id'];
-                                       }
-
-                                       $$attribute = 
$this->clean_string(array('string' => $$attribute));
-
-                                       $value_set[$attribute] = $$attribute;
-
-                                       $change_attributes++;
-                               }
-                       }
-
-                       if( $change_attributes )
-                       {
-                               $value_set      = 
$GLOBALS['phpgw']->db->validate_update($value_set);
-                               $sql .= " {$value_set} WHERE file_id=" 
.(int)$record['file_id'];
-                               $sql .= $this->extra_sql(array('query_type' => 
VFS_SQL_UPDATE));
-
-                               //echo 'sql: ' . $sql;
-
-                               $query = $GLOBALS['phpgw']->db->query($sql, 
__LINE__, __FILE__);
-                               if($query)
-                               {
-                                       if($edited_comment)
-                                       {
-                                               $this->add_journal(array(
-                                                               'string'        
=> $p->fake_full_path,
-                                                               'relatives'     
=> array($p->mask),
-                                                               'operation'     
=> VFS_OPERATION_EDITED_COMMENT
-                                                       )
-                                               );
-                                       }
-
-                                       return true;
-                               }
-                               else
-                               {
-                                       return false;
-                               }
-                       }
-                       else
-                       {
-                               //Nothing was done, because nothing required !
-                               //This is a kind of bug isn't it ?
-                               //So I let people choose to debug here :/
-                               //FIXME : decide what we are doing here !
-                               return true;
-                       }
-               }
-
-               /*
-                * See vfs_shared
-                */
-               function file_type($data)
-               {
-                       if(!is_array($data))
-                       {
-                               $data = array();
-                       }
-
-                       $default_values = array
-                       (
-                               'relatives'     => array(RELATIVE_CURRENT)
-                       );
-
-                       $data = array_merge($this->default_values($data, 
$default_values), $data);
-
-                       $p = $this->path_parts(array(
-                                       'string'        => $data['string'],
-                                       'relatives'     => 
array($data['relatives'][0])
-                               )
-                       );
-
-                       if(!$this->acl_check(array(
-                                       'string'        => $p->fake_full_path,
-                                       'relatives'     => array($p->mask),
-                                       'operation'     => PHPGW_ACL_READ,
-                                       'must_exist'    => true
-                               ))
-                       )
-                       {
-                               return false;
-                       }
-
-                       /*
-                       * The file is outside the virtual root
-                       */
-                       if($p->outside)
-                       {
-                               if(is_dir($p->real_full_path))
-                               {
-                                       return('Directory');
-                               }
-
-                               /*
-                                  We don't return an empty string here, 
because it may still match with a database query
-                                  because of linked directories
-                               */
-                       }
-
-                       /*
-                          We don't use ls() because it calls file_type() to 
determine if it has been
-                          passed a directory
-                       */
-                       $db2 = clone($GLOBALS['phpgw']->db);
-                       $db2->query("SELECT mime_type FROM phpgw_vfs WHERE 
directory='{$p->fake_leading_dirs_clean}'"
-                       . " AND name='{$p->fake_name_clean}'"
-                       . $this->extra_sql(array('query_type' => 
VFS_SQL_SELECT)), __LINE__, __FILE__);
-
-                       $db2->next_record();
-                       $mime_type = $db2->f('mime_type');
-
-                       if(!$mime_type)
-                       {
-                               $mime_type = 
$this->get_ext_mime_type(array('string' => $data['string']));
-                               {
-                                       $db2->query("UPDATE phpgw_vfs SET 
mime_type='{$mime_type}'"
-                                       . " WHERE 
directory='{$p->fake_leading_dirs_clean}' AND name='{$p->fake_name_clean}'"
-                                       . $this->extra_sql(array('query_type' 
=> VFS_SQL_SELECT)), __LINE__, __FILE__);
-                               }
-                       }
-
-                       return $mime_type;
-               }
-
-               /*
-                * See vfs_shared
-                */
-               function file_exists($data)
-               {
-                       if(!is_array($data))
-                       {
-                               $data = array();
-                       }
-
-                       $default_values = array
-                       (
-                               'relatives'     => array(RELATIVE_CURRENT)
-                       );
-
-                       $data = array_merge($this->default_values($data, 
$default_values), $data);
-
-                       $p = $this->path_parts(array(
-                                       'string'        => $data['string'],
-                                       'relatives'     => 
array($data['relatives'][0])
-                               )
-                       );
-
-                       if($p->outside)
-                       {
-                               $rr = file_exists($p->real_full_path);
-
-                               return $rr;
-                       }
-
-                       $db2 = clone($GLOBALS['phpgw']->db);
-                       $db2->query("SELECT name FROM phpgw_vfs WHERE 
directory='{$p->fake_leading_dirs_clean}'"
-                       . " AND name='{$p->fake_name_clean}'"
-                       . $this->extra_sql(array('query_type' => 
VFS_SQL_SELECT)), __LINE__, __FILE__);
-
-                       if($db2->next_record())
-                       {
-                               return true;
-                       }
-                       else
-                       {
-                               return false;
-                       }
-               }
-
-               /*
-                * See vfs_shared
-                */
-               function get_size($data)
-               {
-                       $size = parent::get_size($data);
-                       /*XXX Caeies : Not sure about this, but ... */
-                       /* If the virtual size is always 4096, we don't need 
this ... */
-/*                     if($data['checksubdirs'])
-                       {
-                               $query = $GLOBALS['phpgw']->db->query("SELECT 
size FROM phpgw_vfs WHERE directory='".$p->fake_leading_dirs_clean."' AND 
name='".$p->fake_name_clean."'" . $this->extra_sql(array('query_text' => 
VFS_SQL_SELECT)));
-                               $GLOBALS['phpgw']->db->next_record();
-                               $size += $GLOBALS['phpgw']->db->Record[0];
-                       }
-*/
-                       return $size;
-               }
-
-               /* temporary wrapper function for not working Record function 
in adodb layer(ceb)*/
-               function Record()
-               {
-                       $values = array();
-                       foreach($this->attributes as $attribute)
-                       {
-                               $values[$attribute] = 
$GLOBALS['phpgw']->db->f($attribute);
-                       }
-                       return $values;
-               }
-
-               /*
-                * See vfs_shared
-                */
-               function ls($data)
-               {
-                       if(!is_array($data))
-                       {
-                               $data = array();
-                       }
-
-                       $default_values = array
-                       (
-                               'relatives'     => array(RELATIVE_CURRENT),
-                               'checksubdirs'  => true,
-                               'mime_type'     => false,
-                               'nofiles'       => false,
-                               'orderby'       => 'directory'
-                       );
-
-                       $data = array_merge($this->default_values($data, 
$default_values), $data);
-                       //_debug_array($data);
-
-                       $p = $this->path_parts(array(
-                                       'string'        => $data['string'],
-                                       'relatives'     => 
array($data['relatives'][0])
-                               )
-                       );
-
-                       //_debug_array($p);
-
-                       $ftype = $this->file_type( array('string' => 
$p->fake_full_path, 'relatives' => array($p->mask) ) );
-                       /* If they pass us a file or 'nofiles' is set, return 
the info for $dir only */
-                       if(($ftype != 'Directory' || $data['nofiles'] ) && 
!$p->outside)
-                       {
-                               /* SELECT all, the, attributes */
-                               $sql = 'SELECT ' . implode(', ', 
$this->attributes)
-                                               . " FROM phpgw_vfs WHERE 
directory='{$p->fake_leading_dirs_clean}' AND name='{$p->fake_name_clean}' "
-                                               . 
$this->extra_sql(array('query_type' => VFS_SQL_SELECT));
-
-                               $query = $GLOBALS['phpgw']->db->query($sql, 
__LINE__, __FILE__);
-                               if($GLOBALS['phpgw']->db->num_rows() == 0)
-                               {
-                                       return array();
-                               }
-                               $GLOBALS['phpgw']->db->next_record();
-                               $record = $this->Record();
-                               //echo 'record: ' . _debug_array($record);
-
-                               /* We return an array of one array to maintain 
the standard */
-                               $rarray = array();
-                               reset($this->attributes);
-                                               $db2 = 
clone($GLOBALS['phpgw']->db);
-                               while(list($num, $attribute) = 
each($this->attributes))
-                               {
-                                       if($attribute == 'mime_type' && 
!$record[$attribute])
-                                       {
-                                               $record[$attribute] = 
$this->get_ext_mime_type(array(
-                                                               'string' => 
$p->fake_name_clean
-                                                       )
-                                               );
-
-                                               if($record[$attribute])
-                                               {
-                                                       $db2->query("UPDATE 
phpgw_vfs SET mime_type='{$record[$attribute]}'"
-                                                       . " WHERE 
directory='{$p->fake_leading_dirs_clean}' AND name='{$p->fake_name_clean}'"
-                                                       . 
$this->extra_sql(array('query_type' => VFS_SQL_SELECT)), __LINE__, __FILE__);
-                                               }
-                                       }
-
-                                       $rarray[0][$attribute] = 
$record[$attribute];
-                               }
-
-                               return $rarray;
-                       }
-
-                       //WIP - this should recurse using the same options the 
virtual part of ls() does
-                       /* If $dir is outside the virutal root, we have to 
check the file system manually */
-                       if($p->outside)
-                       {
-                               if($this->file_type(array(
-                                               'string'        => 
$p->fake_full_path,
-                                               'relatives'     => 
array($p->mask)
-                                       )) == 'Directory'
-                                       && !$data['nofiles']
-                               )
-                               {
-                                       $dir_handle = 
opendir($p->real_full_path);
-                                       while($filename = readdir($dir_handle))
-                                       {
-                                               if($filename == '.' || 
$filename == '..')
-                                               {
-                                                       continue;
-                                               }
-                                               $rarray[] = 
$this->get_real_info(array(
-                                                               'string'        
=> "{$p->real_full_path}/{$filename}",
-                                                               'relatives'     
=> array($p->mask)
-                                                       )
-                                               );
-                                       }
-                               }
-                               else
-                               {
-                                       $rarray[] = $this->get_real_info(array(
-                                                       'string'        => 
$p->real_full_path,
-                                                       'relatives'     => 
array($p->mask)
-                                               )
-                                       );
-                               }
-
-                               return $rarray;
-                       }
-
-                       /* $dir's not a file, is inside the virtual root, and 
they want to check subdirs */
-                       /* SELECT all, the, attributes FROM phpgw_vfs WHERE 
file=$dir */
-                       $sql = 'SELECT ' . implode(',', $this->attributes);
-
-                       $dir_clean = $this->clean_string(array('string' => 
$p->fake_full_path));
-                       $sql .= " FROM phpgw_vfs WHERE directory LIKE 
'{$dir_clean}%'";
-                       $sql .= $this->extra_sql(array('query_type' => 
VFS_SQL_SELECT));
-
-                       if($data['mime_type'])
-                       {
-                               $sql .= " AND mime_type='{$data['mime_type']}'";
-                       }
-
-                       $sql .= " ORDER BY {$data['orderby']}";
-
-                       $query = $GLOBALS['phpgw']->db->query($sql, __LINE__, 
__FILE__);
-
-                       $rarray = array();
-                       while( $GLOBALS['phpgw']->db->next_record() )
-                       {
-                               $record = $this->Record();
-
-                               //_debug_array($record);
-                               /* Further checking on the directory.  This 
makes sure /home/user/test won't match /home/user/test22 */
-                       //      if(address@hidden("^{$p->fake_full_path}(/|$)", 
$record['directory']))
-                               if(!preg_match("/^" . str_replace('/', '\/', 
$p->fake_full_path). "(\/|$)/", $record['directory']))
-                               {
-                                       continue;
-                               }
-
-                               /* If they want only this directory, then $dir 
should end without a trailing / */
-//                             if(!$data['checksubdirs'] && 
preg_match("/^{$p->fake_full_path}\//", $record['directory']))
-                               if(!$data['checksubdirs'] && preg_match("/^" . 
str_replace('/', '\/', $p->fake_full_path). "\//", $record['directory']))
-                               {
-                                       continue;
-                               }
-
-                               $db2 = clone($GLOBALS['phpgw']->db);
-                               if( isset($this->attributes['mime_type']) && 
!isset($record['mime_type']) )
-                               {
-                                       $record['mime_type'] == 
$this->get_ext_mime_type(array('string' => $p->fake_name_clean));
-
-                                       if( $record['mime_type'] )
-                                       {
-                                               $db2->query("UPDATE phpgw_vfs 
SET mime_type='{$record[$attribute]}'"
-                                               . " WHERE 
directory='{$p->fake_leading_dirs_clean}' AND name='{$p->fake_name_clean}'"
-                                               . 
$this->extra_sql(array('query_type' => VFS_SQL_SELECT)), __LINE__, __FILE__);
-
-                                       }
-                               }
-                               $rarray[] = $record;
-                       }
-                       return $rarray;
-               }
-
-               /*
-                * See vfs_shared
-                */
-               function update_real($data)
-               {
-                       if(!is_array($data))
-                       {
-                               $data = array();
-                       }
-
-                       $default_values = array
-                       (
-                               'relatives'     => array(RELATIVE_CURRENT)
-                       );
-
-                       $data = array_merge($this->default_values($data, 
$default_values), $data);
-
-                       $p = $this->path_parts(array(
-                                       'string'        => $data['string'],
-                                       'relatives'     => 
array($data['relatives'][0])
-                               )
-                       );
-
-                       if(file_exists($p->real_full_path))
-                       {
-                               if(is_dir($p->real_full_path))
-                               {
-                                       $dir_handle = 
opendir($p->real_full_path);
-                                       while($filename = readdir($dir_handle))
-                                       {
-                                               if($filename == '.' || 
$filename == '..')
-                                               {
-                                                       continue;
-                                               }
-
-                                               $rarray[] = 
$this->get_real_info(array(
-                                                               'string'        
=> $p->fake_full_path . '/' . $filename,
-                                                               'relatives'     
=> array(RELATIVE_NONE)
-                                                       )
-                                               );
-                                       }
-                               }
-                               else
-                               {
-                                       $rarray[] = $this->get_real_info(array(
-                                                       'string'        => 
$p->fake_full_path,
-                                                       'relatives'     => 
array(RELATIVE_NONE)
-                                               )
-                                       );
-                               }
-
-                               if(!is_array($rarray))
-                               {
-                                       $rarray = array();
-                               }
-
-                               while(list($num, $file_array) = each($rarray))
-                               {
-                                       $p2 = $this->path_parts(array(
-                                                       'string'        => 
$file_array['directory'] . '/' . $file_array['name'],
-                                                       'relatives'     => 
array(RELATIVE_NONE)
-                                               )
-                                       );
-
-                                       /* Note the mime_type.  This can be 
"Directory", which is how we create directories */
-                                       $set_attributes_array = array(
-                                               'size' => $file_array['size'],
-                                               'mime_type' => 
$file_array['mime_type']
-                                       );
-
-                                       if(!$this->file_exists(array(
-                                                       'string'        => 
$p2->fake_full_path,
-                                                       'relatives'     => 
array(RELATIVE_NONE)
-                                               ))
-                                       )
-                                       {
-                                               $this->touch(array(
-                                                               'string'        
=> $p2->fake_full_path,
-                                                               'relatives'     
=> array(RELATIVE_NONE)
-                                                       )
-                                               );
-
-                                               $this->set_attributes(array(
-                                                               'string'        
=> $p2->fake_full_path,
-                                                               'relatives'     
=> array(RELATIVE_NONE),
-                                                               'attributes'    
=> $set_attributes_array
-                                                       )
-                                               );
-                                       }
-                                       else
-                                       {
-                                               $this->set_attributes(array(
-                                                               'string'        
=> $p2->fake_full_path,
-                                                               'relatives'     
=> array(RELATIVE_NONE),
-                                                               'attributes'    
=> $set_attributes_array
-                                                       )
-                                               );
-                                       }
-                               }
-                       }
-               }
-
-               /* Helper functions */
-
-               /* This fetchs all available file system information for 
string(not using the database) */
-               function get_real_info($data)
-               {
-                       if(!is_array($data))
-                       {
-                               $data = array();
-                       }
-
-                       $default_values = array
-                       (
-                               'relatives'     => array(RELATIVE_CURRENT)
-                       );
-
-                       $data = array_merge($this->default_values($data, 
$default_values), $data);
-
-                       $p = $this->path_parts(array(
-                                       'string'        => $data['string'],
-                                       'relatives'     => 
array($data['relatives'][0])
-                               )
-                       );
-
-                       if(is_dir($p->real_full_path))
-                       {
-                               $mime_type = 'Directory';
-                       }
-                       else
-                       {
-                               $mime_type = $this->get_ext_mime_type(array(
-                                               'string'        => $p->fake_name
-                                       )
-                               );
-
-                               if($mime_type)
-                               {
-                                       $GLOBALS['phpgw']->db->query("UPDATE 
phpgw_vfs SET mime_type='{$mime_type}'"
-                                       . " WHERE 
directory='{$p->fake_leading_dirs_clean}' AND name='{$p->fake_name_clean}'"
-                                       . $this->extra_sql(array('query_type' 
=> VFS_SQL_SELECT)), __LINE__, __FILE__);
-                               }
-                       }
-
-                       $size = filesize($p->real_full_path);
-                       $rarray = array(
-                               'directory' => $p->fake_leading_dirs,
-                               'name' => $p->fake_name,
-                               'size' => $size,
-                               'mime_type' => $mime_type
-                       );
-
-                       return($rarray);
-               }
-       }

Modified: 
branches/Version-1_0-branch/phpgwapi/inc/class.vfs_fileoperation_braArkiv.inc.php
===================================================================
--- 
branches/Version-1_0-branch/phpgwapi/inc/class.vfs_fileoperation_braArkiv.inc.php
   2015-03-23 12:15:54 UTC (rev 12890)
+++ 
branches/Version-1_0-branch/phpgwapi/inc/class.vfs_fileoperation_braArkiv.inc.php
   2015-03-23 12:22:21 UTC (rev 12891)
@@ -24,9 +24,14 @@
                along with this program.  If not, see 
<http://www.gnu.org/licenses/>.
         */
 
+       /**
+        * Load autoload
+        */
+       require_once PHPGW_API_INC . '/soap_client/bra5/Bra5Autoload.php';
+
        class phpgwapi_vfs_fileoperation_braArkiv
        {
-               private $Services;
+               public  $external_ref = true;
                private $secKey;
                private $db;
                private $meta_types = array ('journal', 'journal-deleted');
@@ -54,22 +59,37 @@
                                throw new Exception('braArkiv is not 
configured');
                        }
 
-                       $options=array();
-                       $options['soap_version']        = SOAP_1_2;
-                       $options['location']            = $location_url;
-                       $options['uri']                         = $location_url;
-                       $options['trace']                       = false;
-                       $options['encoding']            = 'UTF-8';
-
                        $wdsl = "{$location_url}?WSDL";
-                       $Services = new Services($wdsl, $options);
-                       $Login = new Login();
-                       $Login->userName = $braarkiv_user;
-                       $Login->password = $braarkiv_pass;
-                       $LoginResponse = $Services->Login($Login);
-                       $secKey = $LoginResponse->LoginResult;
-                       $this->Services = $Services;
-                       $this->secKey = $secKey;
+                       $options = array();
+
+                       $options[Bra5WsdlClass::WSDL_URL] = $wdsl;
+                       $options[Bra5WsdlClass::WSDL_ENCODING] = 'UTF-8';
+                       $options[Bra5WsdlClass::WSDL_TRACE] = false;
+                       $options[Bra5WsdlClass::WSDL_SOAP_VERSION] = SOAP_1_2;
+
+                       try
+                       {
+                               $wsdlObject = new Bra5WsdlClass($options);
+                       }
+                       catch(Exception $e)
+                       {
+                               if($e)
+                               {
+                                       
phpgwapi_cache::message_set($e->getMessage(), 'error');
+                                       return false;
+                               }
+                       }
+
+
+                       $bra5ServiceLogin = new Bra5ServiceLogin();
+                       if($bra5ServiceLogin->Login(new 
Bra5StructLogin($braarkiv_user,$braarkiv_pass)))
+                       {
+                               $this->secKey = 
$bra5ServiceLogin->getResult()->getLoginResult()->LoginResult;
+                       }
+                       else
+                       {
+                               throw new 
Exception('vfs_fileoperation_braArkiv::Login failed');
+                       }
                }
 
 
@@ -125,6 +145,7 @@
                {
                        $sql = "SELECT external_id FROM phpgw_vfs WHERE  
directory='{$p->fake_leading_dirs_clean}' AND name='{$p->fake_name_clean}'"
                                . " AND ((mime_type != 'journal' AND mime_type 
!= 'journal-deleted') OR mime_type IS NULL)";
+//     _debug_array($sql);
                        $this->db->query($sql, __LINE__, __FILE__);
                        $this->db->next_record();
                        return $this->db->f('external_id');
@@ -153,28 +174,21 @@
 
                        if($fileid)
                        {
-                               $getAvailableFileVariants = new 
getAvailableFileVariants();
-                               $getAvailableFileVariants->secKey = 
$this->secKey;
-                               $getAvailableFileVariants->documentId = $fileid;
+                               $bra5ServiceGet = new Bra5ServiceGet();
 
-                               $getAvailableFileVariantsResponse = 
$this->Services->getAvailableFileVariants($getAvailableFileVariants);
-
-                               $getFileAsByteArray = new getFileAsByteArray();
-                               $getFileAsByteArray->secKey = $this->secKey;
-                               $getFileAsByteArray->documentId = $fileid;
-                               $getFileAsByteArray->variant = 
$getAvailableFileVariantsResponse->getAvailableFileVariantsResult->string[0];
-                               $getFileAsByteArray->versjon = 1;
-
-                               $getFileAsByteArrayResponse = 
$this->Services->getFileAsByteArray($getFileAsByteArray);
-
-                               $getFileAsByteArrayResult = 
$getFileAsByteArrayResponse->getFileAsByteArrayResult;
-
-                               if($getFileAsByteArrayResult)
+                               if($bra5ServiceGet->getFileAsByteArray(new 
Bra5StructGetFileAsByteArray($this->secKey, $fileid)))
                                {
-                                       $file = 
base64_decode($getFileAsByteArrayResult);
+//                                     
_debug_array($bra5ServiceGet->getResult());
+                                       $file_result = 
$bra5ServiceGet->getResult()->getFileAsByteArrayResult;
+                                       $file = 
base64_decode($file_result->getFileAsByteArrayResult);
                                }
+                               else
+                               {
+                                       
_debug_array($bra5ServiceGet->getLastError());
+                                       $GLOBALS['phpgw']->common->phpgw_exit();
+                               }
                        }
-
+//die();
                        return $file;
                }
 
@@ -183,10 +197,22 @@
                * @param object $p path_parts
                * @return boolean.  True if copy is ok, False otherwise.
                */
-               public function copy($from, $to)
+               public function copy($from, $to, $document_id = 0)
                {
-                       $document_id = $this->touch($to);//creates the document
+/*
+                       //FIXME
+                       //$filesize = filesize($from->real_full_path);
+                       $content = $this->read($from);
+                       $document_id = $this->get_file_id($from);
 
+                       return $this->write($to, $content,$document_id);
+*/
+
+                       if(!$document_id)
+                       {
+                               $document_id = $this->get_file_id($from);
+                       }
+
                        $filesize = filesize($from->real_full_path);
                        $content = false;
                        if( $filesize  > 0 && $fp = 
fopen($from->real_full_path, 'rb'))
@@ -197,6 +223,7 @@
 
                        return $this->write($to, $content,$document_id);
 
+
                }
 
                /**
@@ -211,54 +238,41 @@
                        {
                                $fileid = $this->get_file_id($to); //this 
represent the document
                        }
-/*                     
-                       $putFileAsByteArray = new putFileAsByteArray();
-                       $putFileAsByteArray->secKey = $this->secKey;
-                       $putFileAsByteArray->documentId = $fileid;
-                       $putFileAsByteArray->filename = $to->fake_name_clean;
-                       $putFileAsByteArray->file = base64_encode($content);
-                       $putFileAsByteArrayResponse = 
$this->Services->putFileAsByteArray($putFileAsByteArray);
-*/
-                       $fileTransferSendChunkedInit = new 
fileTransferSendChunkedInit();
-                       $fileTransferSendChunkedInit->secKey = $this->secKey;
-                       $fileTransferSendChunkedInit->docid = $fileid;
-                       $fileTransferSendChunkedInit->filename = 
$to->fake_name_clean;
 
-                       $fileTransferSendChunkedInitResponse = 
$this->Services->fileTransferSendChunkedInit($fileTransferSendChunkedInit);
-                       $transaction_id = 
$fileTransferSendChunkedInitResponse->fileTransferSendChunkedInitResult;
-//                     _debug_array($transaction_id);die();
+                       $bra5ServiceFile = new Bra5ServiceFile();
+                       if($bra5ServiceFile->fileTransferSendChunkedInit(new 
Bra5StructFileTransferSendChunkedInit($this->secKey, $fileid, 
$to->fake_name_clean)))
+                       {
+                               $transaction_id = 
$bra5ServiceFile->getResult()->getfileTransferSendChunkedInitResult()->fileTransferSendChunkedInitResult;
+                       }
+                       else
+                       {
+                               _debug_array($bra5ServiceFile->getLastError());
+                               die();
+                       }
+
                        $new_string = 
chunk_split(base64_encode($content),1048576);// Definerer en 
bufferstørrelse/pakkestørrelse på ca 1mb.
 
                        $content_arr = explode('\r\n', $new_string);
 
                        foreach($content_arr as $content_part)
                        {
-                               $fileTransferSendChunk = new 
fileTransferSendChunk();
-                               $fileTransferSendChunk->secKey = $this->secKey;
-                               $fileTransferSendChunk->fileid = 
$transaction_id; //internal transcation id - not the file/document id
-                               $fileTransferSendChunk->chunk = $content_part;
-                               
-                               
$this->Services->fileTransferSendChunk($fileTransferSendChunk);
+                               $bra5ServiceFile->fileTransferSendChunk(new 
Bra5StructFileTransferSendChunk($this->secKey, $transaction_id, $content_part));
                        }
+
                        
-                       $fileTransferSendChunkedEnd = new 
fileTransferSendChunkedEnd();
-                       $fileTransferSendChunkedEnd->secKey = $this->secKey;
-                       $fileTransferSendChunkedEnd->fileid = $transaction_id;
+                       $ok = 
!!$bra5ServiceFile->fileTransferSendChunkedEnd(new 
Bra5StructFileTransferSendChunkedEnd($this->secKey, $transaction_id));
+/*
+                       _debug_array($bra5ServiceFile->getResult());
+*/
+//                     die();
 
-                       try
+                       if ( !$ok )
                        {
-                               $fileTransferSendChunkedEndResponse = 
$this->Services->fileTransferSendChunkedEnd($fileTransferSendChunkedEnd);
+                               _debug_array($bra5ServiceFile->getLastError());
                        }
 
-                       catch(Exception $e)
-                       {
-                               if ( $e )
-                               {
-                                       throw $e;
-                               }
-                       }
-
-                       return true;
+//     _debug_array($fileid);
+                       return $ok;
                }
 
 
@@ -273,103 +287,198 @@
                        
                        if($check_document[$p>real_full_path])
                        {
-                               return true;
+                               return $check_document[$p>real_full_path];
                        }
 
-                       $check_document[$p>real_full_path] = true;
 /*
                        $bt = debug_backtrace();
                        echo "<b>db::{$bt[0]['function']} Called from file: 
{$bt[0]['file']} line: {$bt[0]['line']}</b><br/>";
                        unset($bt);
 */
-                       $document = new Document();
-                       $document->BBRegTime = date('Y-m-d');
-                       $document->BaseClassName = "Eiendomsarkiver";
-                       $document->ClassName = "Byggesak";
 
+/*
+     * @uses Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVSTRING
+     * @uses Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVLONGTEXT
+     * @uses Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVINT
+     * @uses Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVFLOAT
+     * @uses Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVDATE
+     * @uses Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVMATRIKKEL
+     * @uses Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVADDRESS
+     * @uses Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVPAIR
+     * @uses Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVBOOLEAN
+     * @uses Bra5EnumBraArkivAttributeType::VALUE_UNKNOWN
+*/
+/*
+-       * @param boolean $_bFDoubleSided
+-    * @param boolean $_bFSeparateKeySheet
+-    * @param boolean $_classified
+-    * @param int $_priority
+     * @param int $_productionLineID
+     * @param int $_docSplitTypeID
+     * @param Bra5StructArrayOfAttribute $_attributes
+     * @param string $_iD
+     * @param string $_bFDocKey
+     * @param string $_bFNoSheets
+     * @param string $_bBRegTime
+     * @param string $_name
+     * @param string $_className
+     * @param string $_baseClassName
+
+*/
+                       $document = new Bra5StructDocument();
+                       $document->setBFDoubleSided(false);
+                       $document->setBFSeparateKeySheet(false);
+                       $document->setClassified(false);
+                       $document->setPriority(0);
+                       $document->setProductionLineID(1);
+//                     $document->setDocSplitTypeID(0);
+//                     $document->setID('');
+//                     $document->setBFDocKey('');
+//                     $document->setBFNoSheets('');
+                       $document->setBBRegTime(date('Y-m-d'));
+//                     $document->setName('');
+                       $document->setClassName("Byggesak");
+                       $document->setBaseClassName("Eiendomsarkiver");
+
                        $attributter = array();
 
-                       $att1 = new Attribute();
-                       $att1->AttribType = 'braArkivDate';
-                       $att1->Name = "Saksdato";
-//                     $att1->Value = array(date('Y-m-d'));
-                       $att1->Value = date('Y-m-d');
+                       $att0 = new Bra5StructAttribute();
+                       $att0->setUsesLookupValues(false);
+                       
$att0->setAttribType(Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVADDRESS);
+                       $att0->setName("Adresse");
+               //      $att0->setValue(new Bra5StructArrayOfAnyType());
+                       $_gate = 'Lønborglien'; $_nummer = 285; $_bokstav = 
NULL;
+                       $att0->setValue(new Bra5StructArrayOfAnyType(new 
Bra5StructAddress($_gate, $_nummer, $_bokstav)));
+                       $attributter[] = $att0;
+
+
+                       $att1 = new Bra5StructAttribute();
+                       $att1->setUsesLookupValues(true);
+                       
$att1->setAttribType(Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVSTRING);
+                       $att1->setName("Sakstype");
+//                     $att1->setValue(new Bra5StructArrayOfAnyType(100));
+                       $att1->setValue(array('100'));
                        $attributter[] = $att1;
 
-                       $att2 = new Attribute();
-                       $att2->AttribType = 'braArkivString';
-                       $att2->Name = "Tiltakstype";
-                       $att2->Value = array("Testtittel");
-                       $att2->Value = "Tiltakstype";
+                       $att2 = new Bra5StructAttribute();
+                       $att2->setUsesLookupValues(false);
+                       
$att2->setAttribType(Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVSTRING);
+                       $att2->setName("ASTA_Signatur");
+                       $att2->setValue(new 
Bra5StructArrayOfAnyType("BBA/A-0430/H/Ha/L1002"));
                        $attributter[] = $att2;
 
-                       $att3 = new Attribute();
-                       $att3->AttribType = 'braArkivString';
-                       $att3->Name = "Tiltaksart";
-//                     $att3->Value = array("Testtittel");
-                       $att3->Value = 'Tiltaksart';
+                       $att3 = new Bra5StructAttribute();
+                       $att3->setUsesLookupValues(false);
+                       
$att3->setAttribType(Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVMATRIKKEL);
+                       $att3->setName("Eiendom");
+                       $_gNr = 164;
+                       $_bNr = 1401;
+                       $_fNr = 0;
+                       $_sNr = 0;
+                       $att3->setValue(new Bra5StructArrayOfAnyType(new 
Bra5StructMatrikkel($_gNr, $_bNr, $_fNr, $_sNr)));
                        $attributter[] = $att3;
 
-                       $att4 = new Attribute();
-                       $att4->AttribType = 'braArkivString';
-                       $att4->Name = "ASTA_Signatur";
-                       $att4->Value = array("1");
-                       $att4->Value = "ASTA_Signatur";
+                       $att4 = new Bra5StructAttribute();
+                       $att4->setUsesLookupValues(false);
+                       
$att4->setAttribType(Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVSTRING);
+                       $att4->setName("Byggnr");
+               //      $att4->setValue(new 
Bra5StructArrayOfAnyType(array('139276655')));
+                       $att4->setValue(array('139276655'));
+
+                       //$att4->setValue("139276655");
                        $attributter[] = $att4;
 
-                       $att5 = new Attribute();
-                       $att5->AttribType = 'braArkivDate';
-                       $att5->Name = "Dokumentdato";
-//                     $att5->Value = array(date('Y-m-d'));
-                       $att5->Value = date('Y-m-d');
-                       $attributter[] = $att5;
+                       $att5 = new Bra5StructAttribute();
+                       $att5->setUsesLookupValues(false);
+                       
$att5->setAttribType(Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVSTRING);
+                       $att5->setName("Saksnr");
+                       $att5->setValue(array(1));
 
-                       $att6 = new Attribute();
-                       $att6->AttribType = 'braArkivString';
-                       $att6->Name = "BrukerID";
-//                     $att6->Value = array("1");
-                       $att6->Value = "BrukerID";
+                       $attributter[] = $att5;
+/*
+                       $att6 = new Bra5StructAttribute();
+                       $att6->setUsesLookupValues(false);
+                       
$att6->setAttribType(Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVDATE);
+                       $att6->setName("Saksdato");
+                       $att6->setValue(array(date('Y-m-d')));
                        $attributter[] = $att6;
 
-                       $att7 = new Attribute();
-                       $att7->AttribType = 'braArkivString';
-                       $att7->Name = "Team";
-//                     $att7->Value = array("Testtittel");
-                       $att7->Value = "Team";
+                       $att7 = new Bra5StructAttribute();
+                       $att7->setUsesLookupValues(false);
+                       
$att7->setAttribType(Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVDATE);
+                       $att7->setName("Dokumentdato");
+                       $att7->setValue(array(date('Y-m-d')));
                        $attributter[] = $att7;
-
-                       $att8 = new Attribute();
-                       $att8->AttribType = 'braArkivString';
-                       $att8->Name = "Sakstype";
-//                     $att8->Value = array("Testtittel");
-                       $att8->Value = "Sakstype";
+*/
+                       $att8 = new Bra5StructAttribute();
+                       $att8->setUsesLookupValues(true);
+                       
$att8->setAttribType(Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVSTRING);
+                       $att8->setName("Tiltakstype");
+                       $att8->setValue( array('BOL3'));
                        $attributter[] = $att8;
 
-                       $att9 = new Attribute();
-                       $att9->AttribType = 'braArkivString';
-                       $att9->Name = "Dokumentkategori";
-//                     $att9->Value = array("Testtittel");
-                       $att9->Value = "Dokumentkategori";
+                       $att9 = new Bra5StructAttribute();
+                       $att9->setUsesLookupValues(true);
+                       
$att9->setAttribType(Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVSTRING);
+                       $att9->setName("Tiltaksart");
+                       $att9->setValue(array('10'));
                        $attributter[] = $att9;
 
-                       $att10 = new Attribute();
-                       $att10->AttribType = 'braArkivString';
-                       $att10->Name = "Dokumentstatus";
-                       $att10->Value = array("Testtittel");
-                       $att10->Value = "Dokumentstatus";
+                       $att10 = new Bra5StructAttribute();
+                       $att10->setUsesLookupValues(true);
+                       
$att10->setAttribType(Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVSTRING);
+                       $att10->setName("Dokumentstatus");
+                       $att10->setValue( array('Gjeldende'));
                        $attributter[] = $att10;
-       
-                       $document->Attributes = $attributter;
 
-                       $createDocument = new createDocument();
-                       $createDocument->secKey = $this->secKey;
-                       $createDocument->assignDocKey = 0;
-                       $createDocument->doc = $document;
+                       $att11 = new Bra5StructAttribute();
+                       $att11->setUsesLookupValues(true);
+                       
$att11->setAttribType(Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVSTRING);
+                       $att11->setName("Dokumentkategori");
+                       $att11->setValue(array('Søknad'));
+                       $attributter[] = $att11;
 
-//_debug_array($createDocument);//die();
+                       $att12 = new Bra5StructAttribute();
+                       $att12->setUsesLookupValues(true);
+                       
$att12->setAttribType(Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVSTRING);
+                       $att12->setName("Merknad");
+                       $att12->setValue( array(''));
+                       $attributter[] = $att12;
+/*
+                       $att13 = new Bra5StructAttribute();
+                       $att13->setUsesLookupValues(true);
+                       
$att13->setAttribType(Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVINT);
+                       $att13->setName("BrukerID");
+                       $att13->setValue(array(13));
+                       $attributter[] = $att13;
+*/
+                       $att14 = new Bra5StructAttribute();
+                       $att14->setUsesLookupValues(true);
+                       
$att14->setAttribType(Bra5EnumBraArkivAttributeType::VALUE_BRAARKIVSTRING);
+                       $att14->setName("Gradering");
+                       $att14->setValue(array(''));
+                       $attributter[] = $att14;
 
-                       $createDocumentResponse = 
$this->Services->createDocument($createDocument);
-                       $document_id =  
$createDocumentResponse->createDocumentResult->ID;
+                       $document->setAttributes($attributter);
+
+                       $bra5ServiceCreate = new Bra5ServiceCreate();
+                       $bra5ServiceCreateDocument = new 
Bra5StructCreateDocument($_assignDocKey = false, $this->secKey, $document);
+//                     _debug_array($bra5ServiceCreateDocument);
+//                     die();
+                       
if($bra5ServiceCreate->createDocument($bra5ServiceCreateDocument))
+                       {
+//                             _debug_array($bra5ServiceCreate->getResult());
+                       }
+                       else
+                       {
+                               
_debug_array($bra5ServiceCreate->getLastError());
+                       }
+
+                       $document_id =  
$bra5ServiceCreate->getResult()->getCreateDocumentResult()->getcreateDocumentResult()->ID;
+                       $check_document[$p>real_full_path] = $document_id;
+
+//     _debug_array($document_id);
+//die();
                        return $document_id;
 
                }
@@ -384,39 +493,25 @@
                public function rename($from, $to)
                {
                        $fileid = $this->get_file_id($from);
+
+                       $bra5ServiceGet = new Bra5ServiceGet();
+                       $bra5ServiceGet->getDocument(new 
Bra5StructGetDocument($this->secKey, $fileid));
+                       $document = 
$bra5ServiceGet->getResult()->getGetDocumentResult();
                        
-                       $getDocument = new getDocument();
-                       $getDocument->secKey = $this->secKey;
-                       $getDocument->documentId = $fileid;
-                       $getDocumentResponse = 
$this->Services->getDocument($getDocument);
-                       
-                       $document = $getDocumentResponse->getDocumentResult;
-                       
                        foreach($document->Attributes as & $Attribute)
                        {
-                               if($Attribute->Name == 'Tittel')
+                               if($Attribute->getName() == 'Tittel')
                                {
-                                       $Attribute->Value = 
$to->fake_name_clean;
+                                       
$Attribute->setValue(array($to->fake_name_clean));
                                }
                        }
-                       $updateDocument = new $updateDocument();
-                       $updateDocument->secKey = $this->secKey;
-                       $updateDocument->document = $document;
-
-                       try
+                       $bra5ServiceUpdate = new Bra5ServiceUpdate();
+                       $ok = false;
+                       if(!$ok = $bra5ServiceUpdate->updateDocument(new 
Bra5StructUpdateDocument($this->secKey, $document)))
                        {
-                               $updateDocumentResponse = 
$this->Services->updateDocument($getDocument);
+                               _debug_array($bra5ServiceUpdate->getResult());
                        }
-
-                       catch(Exception $e)
-                       {
-                               if ( $e )
-                               {
-                                       throw $e;
-                               }
-                       }
-
-                       return true;
+                       return $ok;
                }
 
                /**
@@ -427,24 +522,13 @@
                public function unlink($p)
                {
                        $fileid = $this->get_file_id($p);
-                       $deleteDocument = new deleteDocument();
-                       $deleteDocument->secKey = $this->secKey;
-                       $deleteDocument->documentId = $fileid;
 
-                       try
+                       $bra5ServiceDelete = new bra5ServiceDelete();
+                       
+                       if($bra5ServiceDelete->deleteDocument(new 
Bra5StructDeleteDocument($this->secKey,$fileid)))
                        {
-                               $deleteDocumentResponse = 
$this->Services->deleteDocument($deleteDocument);
+                               return true;
                        }
-
-                       catch(Exception $e)
-                       {
-                               if ( $e )
-                               {
-                                       throw $e;
-                               }
-                       }
-
-                       return true;
                }
 
 
@@ -456,19 +540,14 @@
                public function file_exists($p)
                {
                        $fileid = $this->get_file_id($p);
+
                        if($fileid)
                        {
-                               $getAvailableFileVariants = new 
getAvailableFileVariants();
-                               $getAvailableFileVariants->secKey = 
$this->secKey;
-                               $getAvailableFileVariants->documentId = $fileid;
-
-                               $getAvailableFileVariantsResponse = 
$this->Services->getAvailableFileVariants($getAvailableFileVariants);
+                               $bra5ServiceGet = new Bra5ServiceGet();
+                               return 
!!$bra5ServiceGet->getFileAsByteArray(new 
Bra5StructGetFileAsByteArray($this->secKey, $fileid));
                        }
-
-                       return 
!!$getAvailableFileVariantsResponse->getAvailableFileVariantsResult->string[0];
                }
 
-
                /**
                * Removes directory
                * Does not apply to braArkiv
@@ -515,2502 +594,4 @@
                        return true;
                }
 
-       }
-
-       /**
-        * soap client for http://geomatikk.no/ braArkiv
-        * this code is generated by the 
http://code.google.com/p/wsdl2php-interpreter/
-        *
-        * @package phpgwapi
-        * @subpackage vfs
-        */
-
-       if ( !class_exists( "Login" ) )
-       {
-
-               /**
-                * Login
-                */
-               class Login
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $userName;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $password;
-               }
-
-       }
-
-       if ( !class_exists( "LoginResponse" ) )
-       {
-
-               /**
-                * LoginResponse
-                */
-               class LoginResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $LoginResult;
-
-               }
-
-       }
-
-       if ( !class_exists( "Logout" ) )
-       {
-
-               /**
-                * Logout
-                */
-               class Logout
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-               }
-
-       }
-
-       if ( !class_exists( "LogoutResponse" ) )
-       {
-
-               /**
-                * LogoutResponse
-                */
-               class LogoutResponse
-               {
-
-               }
-
-       }
-
-       if ( !class_exists( "getProductionLines" ) )
-       {
-
-               /**
-                * getProductionLines
-                */
-               class getProductionLines
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $seckey;
-
-               }
-
-       }
-
-       if ( !class_exists( "getProductionLinesResponse" ) )
-       {
-
-               /**
-                * getProductionLinesResponse
-                */
-               class getProductionLinesResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var ArrayOfProductionLine
-                        */
-                       public $getProductionLinesResult;
-
-               }
-
-       }
-
-       if ( !class_exists( "ProductionLine" ) )
-       {
-
-               /**
-                * ProductionLine
-                */
-               class ProductionLine
-               {
-
-                       /**
-                        * @access public
-                        * @var sint
-                        */
-                       public $ProductionLineID;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $Name;
-
-                       /**
-                        * @access public
-                        * @var sboolean
-                        */
-                       public $Enabled;
-
-                       /**
-                        * @access public
-                        * @var sboolean
-                        */
-                       public $Default;
-
-               }
-
-       }
-
-       if ( !class_exists( "getDocumentSplitTypes" ) )
-       {
-
-               /**
-                * getDocumentSplitTypes
-                */
-               class getDocumentSplitTypes
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $seckey;
-
-                       /**
-                        * @access public
-                        * @var sint
-                        */
-                       public $docClassID;
-
-               }
-
-       }
-
-       if ( !class_exists( "getDocumentSplitTypesResponse" ) )
-       {
-
-               /**
-                * getDocumentSplitTypesResponse
-                */
-               class getDocumentSplitTypesResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var ArrayOfDocumentSplitType
-                        */
-                       public $getDocumentSplitTypesResult;
-
-               }
-
-       }
-
-       if ( !class_exists( "DocumentSplitType" ) )
-       {
-
-               /**
-                * DocumentSplitType
-                */
-               class DocumentSplitType
-               {
-
-                       /**
-                        * @access public
-                        * @var sint
-                        */
-                       public $DocSplitTypeID;
-
-                       /**
-                        * @access public
-                        * @var sint
-                        */
-                       public $DocClassID;
-
-                       /**
-                        * @access public
-                        * @var sboolean
-                        */
-                       public $IsConcatDocument;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $Name;
-
-                       /**
-                        * @access public
-                        * @var sint
-                        */
-                       public $SplitAttributeID;
-
-                       /**
-                        * @access public
-                        * @var sboolean
-                        */
-                       public $Active;
-
-                       /**
-                        * @access public
-                        * @var sint
-                        */
-                       public $NewDocSplitTypeID;
-
-                       /**
-                        * @access public
-                        * @var sboolean
-                        */
-                       public $Default;
-
-               }
-
-       }
-
-       if ( !class_exists( "GetClasses" ) )
-       {
-
-               /**
-                * GetClasses
-                */
-               class GetClasses
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $userName;
-
-               }
-
-       }
-
-       if ( !class_exists( "GetClassesResponse" ) )
-       {
-
-               /**
-                * GetClassesResponse
-                */
-               class GetClassesResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var anyType
-                        */
-                       public $GetClassesResult;
-
-                       /**
-                        * @access public
-                        * @var sschema
-                        */
-                       public $schema;
-
-               }
-
-       }
-
-       if ( !class_exists( "GetClassesResult" ) )
-       {
-
-               /**
-                * GetClassesResult
-                */
-               class GetClassesResult
-               {
-
-                       /**
-                        * @access public
-                        * @var sschema
-                        */
-                       public $schema;
-
-               }
-
-       }
-
-       if ( !class_exists( "getAvailableFileVariants" ) )
-       {
-
-               /**
-                * getAvailableFileVariants
-                */
-               class getAvailableFileVariants
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $documentId;
-
-               }
-
-       }
-
-       if ( !class_exists( "getAvailableFileVariantsResponse" ) )
-       {
-
-               /**
-                * getAvailableFileVariantsResponse
-                */
-               class getAvailableFileVariantsResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var ArrayOfString
-                        */
-                       public $getAvailableFileVariantsResult;
-
-               }
-
-       }
-
-       if ( !class_exists( "getVariantVaultID" ) )
-       {
-
-               /**
-                * getVariantVaultID
-                */
-               class getVariantVaultID
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $documentId;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $variantName;
-
-               }
-
-       }
-
-       if ( !class_exists( "getVariantVaultIDResponse" ) )
-       {
-
-               /**
-                * getVariantVaultIDResponse
-                */
-               class getVariantVaultIDResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $getVariantVaultIDResult;
-
-               }
-
-       }
-
-       if ( !class_exists( "getRelativeFileURL" ) )
-       {
-
-               /**
-                * getRelativeFileURL
-                */
-               class getRelativeFileURL
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $documentId;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $variantName;
-
-               }
-
-       }
-
-       if ( !class_exists( "getRelativeFileURLResponse" ) )
-       {
-
-               /**
-                * getRelativeFileURLResponse
-                */
-               class getRelativeFileURLResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $getRelativeFileURLResult;
-
-               }
-
-       }
-
-       if ( !class_exists( "getAvailableAttributes" ) )
-       {
-
-               /**
-                * getAvailableAttributes
-                */
-               class getAvailableAttributes
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $baseclassname;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $classname;
-
-               }
-
-       }
-
-       if ( !class_exists( "getAvailableAttributesResponse" ) )
-       {
-
-               /**
-                * getAvailableAttributesResponse
-                */
-               class getAvailableAttributesResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var ArrayOfAttribute
-                        */
-                       public $getAvailableAttributesResult;
-
-               }
-
-       }
-
-       if ( !class_exists( "Attribute" ) )
-       {
-
-               /**
-                * Attribute
-                */
-               class Attribute
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $Name;
-
-                       /**
-                        * @access public
-                        * @var sboolean
-                        */
-                       public $UsesLookupValues = false;
-
-                       /**
-                        * @access public
-                        * @var tnsbraArkivAttributeType
-                        */
-                       public $AttribType;
-
-                       /**
-                        * @access public
-                        * @var ArrayOfAnyType
-                        */
-                       public $Value;
-
-               }
-
-       }
-
-       if ( !class_exists( "braArkivAttributeType" ) )
-       {
-
-               /**
-                * braArkivAttributeType
-                */
-               class braArkivAttributeType
-               {
-
-               }
-
-       }
-
-       if ( !class_exists( "LookupValue" ) )
-       {
-
-               /**
-                * LookupValue
-                */
-               class LookupValue
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $Id;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $Description;
-
-               }
-
-       }
-
-       if ( !class_exists( "Pair" ) )
-       {
-
-               /**
-                * Pair
-                */
-               class Pair
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $Kode;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $Beskrivelse;
-
-               }
-
-       }
-
-       if ( !class_exists( "Address" ) )
-       {
-
-               /**
-                * Address
-                */
-               class Address
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $Gate;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $Nummer;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $Bokstav;
-
-               }
-
-       }
-
-       if ( !class_exists( "Matrikkel" ) )
-       {
-
-               /**
-                * Matrikkel
-                */
-               class Matrikkel
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $GNr;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $BNr;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $FNr;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $SNr;
-
-               }
-
-       }
-
-       if ( !class_exists( "getLookupValues" ) )
-       {
-
-               /**
-                * getLookupValues
-                */
-               class getLookupValues
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $baseclassname;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $classname;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $attribname;
-
-               }
-
-       }
-
-       if ( !class_exists( "getLookupValuesResponse" ) )
-       {
-
-               /**
-                * getLookupValuesResponse
-                */
-               class getLookupValuesResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var ArrayOfLookupValue
-                        */
-                       public $getLookupValuesResult;
-
-               }
-
-       }
-
-       if ( !class_exists( "searchDocument" ) )
-       {
-
-               /**
-                * searchDocument
-                */
-               class searchDocument
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $baseclassname;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $classname;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $where;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $maxhits;
-
-               }
-
-       }
-
-       if ( !class_exists( "searchDocumentResponse" ) )
-       {
-
-               /**
-                * searchDocumentResponse
-                */
-               class searchDocumentResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var ArrayOfString
-                        */
-                       public $searchDocumentResult;
-
-               }
-
-       }
-
-       if ( !class_exists( "createDocument" ) )
-       {
-
-               /**
-                * createDocument
-                */
-               class createDocument
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sboolean
-                        */
-                       public $assignDocKey;
-
-                       /**
-                        * @access public
-                        * @var Document
-                        */
-                       public $doc;
-
-               }
-
-       }
-
-       if ( !class_exists( "Document" ) )
-       {
-
-               /**
-                * Document
-                */
-               class Document
-               {
-
-                       /**
-                        * @access public
-                        * @var ArrayOfAttribute
-                        */
-                       public $Attributes;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $ID = '';
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $BFDocKey = '';
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $BFNoSheets = '';
-
-                       /**
-                        * @access public
-                        * @var sboolean
-                        */
-                       public $BFDoubleSided = false;
-
-                       /**
-                        * @access public
-                        * @var sboolean
-                        */
-                       public $BFSeparateKeySheet = false;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $BBRegTime;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $Name;
-
-                       /**
-                        * @access public
-                        * @var sboolean
-                        */
-                       public $Classified = false;
-
-                       /**
-                        * @access public
-                        * @var sint
-                        */
-                       public $Priority = 0;
-
-                       /**
-                        * @access public
-                        * @var sint
-                        */
-                       public $ProductionLineID;
-
-                       /**
-                        * @access public
-                        * @var sint
-                        */
-                       public $DocSplitTypeID;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $ClassName;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $BaseClassName;
-
-               }
-
-       }
-
-       if ( !class_exists( "createDocumentResponse" ) )
-       {
-
-               /**
-                * createDocumentResponse
-                */
-               class createDocumentResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var Document
-                        */
-                       public $createDocumentResult;
-
-               }
-
-       }
-
-       if ( !class_exists( "getDocument" ) )
-       {
-
-               /**
-                * getDocument
-                */
-               class getDocument
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $documentId;
-
-               }
-
-       }
-
-       if ( !class_exists( "getDocumentResponse" ) )
-       {
-
-               /**
-                * getDocumentResponse
-                */
-               class getDocumentResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var Document
-                        */
-                       public $getDocumentResult;
-
-               }
-
-       }
-
-       if ( !class_exists( "getAttribute" ) )
-       {
-
-               /**
-                * getAttribute
-                */
-               class getAttribute
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $documentId;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $attributeName;
-
-               }
-
-       }
-
-       if ( !class_exists( "getAttributeResponse" ) )
-       {
-
-               /**
-                * getAttributeResponse
-                */
-               class getAttributeResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var Attribute
-                        */
-                       public $getAttributeResult;
-
-               }
-
-       }
-
-       if ( !class_exists( "updateDocument" ) )
-       {
-
-               /**
-                * updateDocument
-                */
-               class updateDocument
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var Document
-                        */
-                       public $document;
-
-               }
-
-       }
-
-       if ( !class_exists( "updateDocumentResponse" ) )
-       {
-
-               /**
-                * updateDocumentResponse
-                */
-               class updateDocumentResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var Document
-                        */
-                       public $updateDocumentResult;
-
-               }
-
-       }
-
-       if ( !class_exists( "updateAttribute" ) )
-       {
-
-               /**
-                * updateAttribute
-                */
-               class updateAttribute
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $baseclassname;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $documentId;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $attribute;
-
-                       /**
-                        * @access public
-                        * @var ArrayOfAnyType
-                        */
-                       public $value;
-
-               }
-
-       }
-
-       if ( !class_exists( "updateAttributeResponse" ) )
-       {
-
-               /**
-                * updateAttributeResponse
-                */
-               class updateAttributeResponse
-               {
-
-               }
-
-       }
-
-       if ( !class_exists( "deleteDocument" ) )
-       {
-
-               /**
-                * deleteDocument
-                */
-               class deleteDocument
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $documentId;
-
-               }
-
-       }
-
-       if ( !class_exists( "deleteDocumentResponse" ) )
-       {
-
-               /**
-                * deleteDocumentResponse
-                */
-               class deleteDocumentResponse
-               {
-
-               }
-
-       }
-
-       if ( !class_exists( "getFileName" ) )
-       {
-
-               /**
-                * getFileName
-                */
-               class getFileName
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $documentId;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $variant;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $versjon;
-
-               }
-
-       }
-
-       if ( !class_exists( "getFileNameResponse" ) )
-       {
-
-               /**
-                * getFileNameResponse
-                */
-               class getFileNameResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $getFileNameResult;
-
-               }
-
-       }
-
-       if ( !class_exists( "searchAndGetDocuments" ) )
-       {
-
-               /**
-                * searchAndGetDocuments
-                */
-               class searchAndGetDocuments
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $baseclassname;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $classname;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $where;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $maxhits;
-
-               }
-
-       }
-
-       if ( !class_exists( "searchAndGetDocumentsResponse" ) )
-       {
-
-               /**
-                * searchAndGetDocumentsResponse
-                */
-               class searchAndGetDocumentsResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var ArrayOfDocument
-                        */
-                       public $searchAndGetDocumentsResult;
-
-               }
-
-       }
-
-       if ( !class_exists( "searchAndGetDocumentsWithVariants" ) )
-       {
-
-               /**
-                * searchAndGetDocumentsWithVariants
-                */
-               class searchAndGetDocumentsWithVariants
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $baseclassname;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $classname;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $where;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $maxhits;
-
-               }
-
-       }
-
-       if ( !class_exists( "Variant" ) )
-       {
-
-               /**
-                * Variant
-                */
-               class Variant
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $FileName;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $FileExtension;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $VaultName;
-
-               }
-
-       }
-
-       if ( !class_exists( "ExtendedDocument" ) )
-       {
-
-               /**
-                * ExtendedDocument
-                */
-               class ExtendedDocument extends Document
-               {
-
-                       /**
-                        * @access public
-                        * @var ArrayOfVariant
-                        */
-                       public $Variants;
-
-               }
-
-       }
-
-       if ( !class_exists( "searchAndGetDocumentsWithVariantsResponse" ) )
-       {
-
-               /**
-                * searchAndGetDocumentsWithVariantsResponse
-                */
-               class searchAndGetDocumentsWithVariantsResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var ArrayOfExtendedDocument
-                        */
-                       public $searchAndGetDocumentsWithVariantsResult;
-
-               }
-
-       }
-
-       if ( !class_exists( "putFileAsByteArray" ) )
-       {
-
-               /**
-                * putFileAsByteArray
-                */
-               class putFileAsByteArray
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $documentId;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $filename;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $file;
-
-               }
-
-       }
-
-       if ( !class_exists( "putFileAsByteArrayResponse" ) )
-       {
-
-               /**
-                * putFileAsByteArrayResponse
-                */
-               class putFileAsByteArrayResponse
-               {
-
-               }
-
-       }
-
-       if ( !class_exists( "getFileAsByteArray" ) )
-       {
-
-               /**
-                * getFileAsByteArray
-                */
-               class getFileAsByteArray
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $documentId;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $variant;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $versjon;
-
-               }
-
-       }
-
-       if ( !class_exists( "getFileAsByteArrayResponse" ) )
-       {
-
-               /**
-                * getFileAsByteArrayResponse
-                */
-               class getFileAsByteArrayResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $getFileAsByteArrayResult;
-
-               }
-
-       }
-
-       if ( !class_exists( "fileTransferSendChunk" ) )
-       {
-
-               /**
-                * fileTransferSendChunk
-                */
-               class fileTransferSendChunk
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $fileid;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $chunk;
-
-               }
-
-       }
-
-       if ( !class_exists( "fileTransferSendChunkResponse" ) )
-       {
-
-               /**
-                * fileTransferSendChunkResponse
-                */
-               class fileTransferSendChunkResponse
-               {
-
-               }
-
-       }
-
-       if ( !class_exists( "fileTransferSendChunkedInit" ) )
-       {
-
-               /**
-                * fileTransferSendChunkedInit
-                */
-               class fileTransferSendChunkedInit
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $docid;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $filename;
-
-               }
-
-       }
-
-       if ( !class_exists( "fileTransferSendChunkedInitResponse" ) )
-       {
-
-               /**
-                * fileTransferSendChunkedInitResponse
-                */
-               class fileTransferSendChunkedInitResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $fileTransferSendChunkedInitResult;
-
-               }
-
-       }
-
-       if ( !class_exists( "fileTransferSendChunkedEnd" ) )
-       {
-
-               /**
-                * fileTransferSendChunkedEnd
-                */
-               class fileTransferSendChunkedEnd
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $fileid;
-
-               }
-
-       }
-
-       if ( !class_exists( "fileTransferSendChunkedEndResponse" ) )
-       {
-
-               /**
-                * fileTransferSendChunkedEndResponse
-                */
-               class fileTransferSendChunkedEndResponse
-               {
-
-               }
-
-       }
-
-       if ( !class_exists( "fileTransferRequestChunkedInit" ) )
-       {
-
-               /**
-                * fileTransferRequestChunkedInit
-                */
-               class fileTransferRequestChunkedInit
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $documentId;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $variant;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $versjon;
-
-               }
-
-       }
-
-       if ( !class_exists( "fileTransferRequestChunkedInitResponse" ) )
-       {
-
-               /**
-                * fileTransferRequestChunkedInitResponse
-                */
-               class fileTransferRequestChunkedInitResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $fileTransferRequestChunkedInitResult;
-
-               }
-
-       }
-
-       if ( !class_exists( "fileTransferRequestChunk" ) )
-       {
-
-               /**
-                * fileTransferRequestChunk
-                */
-               class fileTransferRequestChunk
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $fileid;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $offset;
-
-               }
-
-       }
-
-       if ( !class_exists( "fileTransferRequestChunkResponse" ) )
-       {
-
-               /**
-                * fileTransferRequestChunkResponse
-                */
-               class fileTransferRequestChunkResponse
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $fileTransferRequestChunkResult;
-
-               }
-
-       }
-
-       if ( !class_exists( "fileTransferRequestChunkedEnd" ) )
-       {
-
-               /**
-                * fileTransferRequestChunkedEnd
-                */
-               class fileTransferRequestChunkedEnd
-               {
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $secKey;
-
-                       /**
-                        * @access public
-                        * @var sstring
-                        */
-                       public $fileid;
-
-               }
-
-       }
-
-       if ( !class_exists( "fileTransferRequestChunkedEndResponse" ) )
-       {
-
-               /**
-                * fileTransferRequestChunkedEndResponse
-                */
-               class fileTransferRequestChunkedEndResponse
-               {
-
-               }
-
-       }
-
-       if ( !class_exists( "Services" ) )
-       {
-
-               /**
-                * Services
-                * @author WSDLInterpreter
-                */
-               class Services extends SoapClient
-               {
-
-                       /**
-                        * Default class map for wsdl=>php
-                        * @access private
-                        * @var array
-                        */
-                       private static $classmap = array(
-                               "Login"                                         
                                 => "Login",
-                               "LoginResponse"                                 
                         => "LoginResponse",
-                               "Logout"                                        
                                 => "Logout",
-                               "LogoutResponse"                                
                         => "LogoutResponse",
-                               "getProductionLines"                            
                 => "getProductionLines",
-                               "getProductionLinesResponse"                    
         => "getProductionLinesResponse",
-                               "ProductionLine"                                
                         => "ProductionLine",
-                               "getDocumentSplitTypes"                         
                 => "getDocumentSplitTypes",
-                               "getDocumentSplitTypesResponse"                 
         => "getDocumentSplitTypesResponse",
-                               "DocumentSplitType"                             
                         => "DocumentSplitType",
-                               "GetClasses"                                    
                         => "GetClasses",
-                               "GetClassesResponse"                            
                 => "GetClassesResponse",
-                               "GetClassesResult"                              
                         => "GetClassesResult",
-                               "getAvailableFileVariants"                      
                 => "getAvailableFileVariants",
-                               "getAvailableFileVariantsResponse"              
         => "getAvailableFileVariantsResponse",
-                               "getVariantVaultID"                             
                         => "getVariantVaultID",
-                               "getVariantVaultIDResponse"                     
                 => "getVariantVaultIDResponse",
-                               "getRelativeFileURL"                            
                 => "getRelativeFileURL",
-                               "getRelativeFileURLResponse"                    
         => "getRelativeFileURLResponse",
-                               "getAvailableAttributes"                        
                 => "getAvailableAttributes",
-                               "getAvailableAttributesResponse"                
         => "getAvailableAttributesResponse",
-                               "Attribute"                                     
                                 => "Attribute",
-                               "braArkivAttributeType"                         
                 => "braArkivAttributeType",
-                               "LookupValue"                                   
                         => "LookupValue",
-                               "Pair"                                          
                                 => "Pair",
-                               "Address"                                       
                                 => "Address",
-                               "Matrikkel"                                     
                                 => "Matrikkel",
-                               "getLookupValues"                               
                         => "getLookupValues",
-                               "getLookupValuesResponse"                       
                 => "getLookupValuesResponse",
-                               "searchDocument"                                
                         => "searchDocument",
-                               "searchDocumentResponse"                        
                 => "searchDocumentResponse",
-                               "createDocument"                                
                         => "createDocument",
-                               "Document"                                      
                                 => "Document",
-                               "createDocumentResponse"                        
                 => "createDocumentResponse",
-                               "getDocument"                                   
                         => "getDocument",
-                               "getDocumentResponse"                           
                 => "getDocumentResponse",
-                               "getAttribute"                                  
                         => "getAttribute",
-                               "getAttributeResponse"                          
                 => "getAttributeResponse",
-                               "updateDocument"                                
                         => "updateDocument",
-                               "updateDocumentResponse"                        
                 => "updateDocumentResponse",
-                               "updateAttribute"                               
                         => "updateAttribute",
-                               "updateAttributeResponse"                       
                 => "updateAttributeResponse",
-                               "deleteDocument"                                
                         => "deleteDocument",
-                               "deleteDocumentResponse"                        
                 => "deleteDocumentResponse",
-                               "getFileName"                                   
                         => "getFileName",
-                               "getFileNameResponse"                           
                 => "getFileNameResponse",
-                               "searchAndGetDocuments"                         
                 => "searchAndGetDocuments",
-                               "searchAndGetDocumentsResponse"                 
         => "searchAndGetDocumentsResponse",
-                               "searchAndGetDocumentsWithVariants"             
         => "searchAndGetDocumentsWithVariants",
-                               "Variant"                                       
                                 => "Variant",
-                               "ExtendedDocument"                              
                         => "ExtendedDocument",
-                               "searchAndGetDocumentsWithVariantsResponse"     
 => "searchAndGetDocumentsWithVariantsResponse",
-                               "putFileAsByteArray"                            
                 => "putFileAsByteArray",
-                               "putFileAsByteArrayResponse"                    
         => "putFileAsByteArrayResponse",
-                               "getFileAsByteArray"                            
                 => "getFileAsByteArray",
-                               "getFileAsByteArrayResponse"                    
         => "getFileAsByteArrayResponse",
-                               "fileTransferSendChunk"                         
                 => "fileTransferSendChunk",
-                               "fileTransferSendChunkResponse"                 
         => "fileTransferSendChunkResponse",
-                               "fileTransferSendChunkedInit"                   
         => "fileTransferSendChunkedInit",
-                               "fileTransferSendChunkedInitResponse"           
 => "fileTransferSendChunkedInitResponse",
-                               "fileTransferSendChunkedEnd"                    
         => "fileTransferSendChunkedEnd",
-                               "fileTransferSendChunkedEndResponse"            
 => "fileTransferSendChunkedEndResponse",
-                               "fileTransferRequestChunkedInit"                
         => "fileTransferRequestChunkedInit",
-                               "fileTransferRequestChunkedInitResponse"        
 => "fileTransferRequestChunkedInitResponse",
-                               "fileTransferRequestChunk"                      
                 => "fileTransferRequestChunk",
-                               "fileTransferRequestChunkResponse"              
         => "fileTransferRequestChunkResponse",
-                               "fileTransferRequestChunkedEnd"                 
         => "fileTransferRequestChunkedEnd",
-                               "fileTransferRequestChunkedEndResponse"         
 => "fileTransferRequestChunkedEndResponse",
-                       );
-
-                       /**
-                        * Constructor using wsdl location and options array
-                        * @param string $wsdl WSDL location for this service
-                        * @param array $options Options for the SoapClient
-                        */
-                       public function __construct( $wsdl = 
"/home/sn5607/BRA_Arkiv/services.braarkiv.xml",
-                                                               $options = 
array() )
-                       {
-                               foreach ( self::$classmap as $wsdlClassName => 
$phpClassName )
-                               {
-                                       if ( !isset( 
$options['classmap'][$wsdlClassName] ) )
-                                       {
-                                               
$options['classmap'][$wsdlClassName] = $phpClassName;
-                                       }
-                               }
-                               parent::__construct( $wsdl, $options );
-                       }
-
-                       /**
-                        * Checks if an argument list matches against a valid 
argument type list
-                        * @param array $arguments The argument list to check
-                        * @param array $validParameters A list of valid 
argument types
-                        * @return boolean true if arguments match against 
validParameters
-                        * @throws Exception invalid function signature message
-                        */
-                       public function _checkArguments( $arguments, 
$validParameters )
-                       {
-                               $variables = "";
-                               foreach ( $arguments as $arg )
-                               {
-                                       $type = gettype( $arg );
-                                       if ( $type == "object" )
-                                       {
-                                               $type = get_class( $arg );
-                                       }
-                                       $variables .= "(" . $type . ")";
-                               }
-                               if ( !in_array( $variables, $validParameters ) )
-                               {
-                                       throw new Exception( "Invalid parameter 
types: " . str_replace( ")(", ", ",
-                                                                               
                                                         $variables ) );
-                               }
-                               return true;
-                       }
-
-                       /**
-                        * Service Call: Login
-                        * Parameter options:
-                        * (Login) parameters
-                        * (Login) parameters
-                        * @param mixed,... See function description for 
parameter options
-                        * @return LoginResponse
-                        * @throws Exception invalid function signature message
-                        */
-                       public function Login( $mixed = null )
-                       {
-                               $validParameters = array(
-                                       "(Login)",
-                                       "(Login)",
-                               );
-                               $args = func_get_args();
-                               $this->_checkArguments( $args, $validParameters 
);
-                               return $this->__soapCall( "Login", $args );
-                       }
-
-                       /**
-                        * Service Call: Logout
-                        * Parameter options:
-                        * (Logout) parameters
-                        * (Logout) parameters
-                        * @param mixed,... See function description for 
parameter options
-                        * @return LogoutResponse
-                        * @throws Exception invalid function signature message
-                        */
-                       public function Logout( $mixed = null )
-                       {
-                               $validParameters = array(
-                                       "(Logout)",
-                                       "(Logout)",
-                               );
-                               $args = func_get_args();
-                               $this->_checkArguments( $args, $validParameters 
);
-                               return $this->__soapCall( "Logout", $args );
-                       }
-
-                       /**
-                        * Service Call: getProductionLines
-                        * Parameter options:
-                        * (getProductionLines) parameters
-                        * (getProductionLines) parameters
-                        * @param mixed,... See function description for 
parameter options
-                        * @return getProductionLinesResponse
-                        * @throws Exception invalid function signature message
-                        */
-                       public function getProductionLines( $mixed = null )
-                       {
-                               $validParameters = array(
-                                       "(getProductionLines)",
-                                       "(getProductionLines)",
-                               );
-                               $args = func_get_args();
-                               $this->_checkArguments( $args, $validParameters 
);
-                               return $this->__soapCall( "getProductionLines", 
$args );
-                       }
-
-                       /**
-                        * Service Call: getDocumentSplitTypes
-                        * Parameter options:
-                        * (getDocumentSplitTypes) parameters
-                        * (getDocumentSplitTypes) parameters
-                        * @param mixed,... See function description for 
parameter options
-                        * @return getDocumentSplitTypesResponse
-                        * @throws Exception invalid function signature message
-                        */
-                       public function getDocumentSplitTypes( $mixed = null )
-                       {
-                               $validParameters = array(
-                                       "(getDocumentSplitTypes)",
-                                       "(getDocumentSplitTypes)",
-                               );
-                               $args = func_get_args();
-                               $this->_checkArguments( $args, $validParameters 
);
-                               return $this->__soapCall( 
"getDocumentSplitTypes", $args );
-                       }
-
-                       /**
-                        * Service Call: GetClasses
-                        * Parameter options:
-                        * (GetClasses) parameters
-                        * (GetClasses) parameters
-                        * @param mixed,... See function description for 
parameter options
-                        * @return GetClassesResponse
-                        * @throws Exception invalid function signature message
-                        */
-                       public function GetClasses( $mixed = null )
-                       {
-                               $validParameters = array(
-                                       "(GetClasses)",
-                                       "(GetClasses)",
-                               );
-                               $args = func_get_args();
-                               $this->_checkArguments( $args, $validParameters 
);
-                               return $this->__soapCall( "GetClasses", $args );
-                       }
-
-                       /**
-                        * Service Call: getAvailableFileVariants
-                        * Parameter options:
-                        * (getAvailableFileVariants) parameters
-                        * (getAvailableFileVariants) parameters
-                        * @param mixed,... See function description for 
parameter options
-                        * @return getAvailableFileVariantsResponse
-                        * @throws Exception invalid function signature message
-                        */
-                       public function getAvailableFileVariants( $mixed = null 
)
-                       {
-                               $validParameters = array(
-                                       "(getAvailableFileVariants)",
-                                       "(getAvailableFileVariants)",
-                               );
-                               $args = func_get_args();
-                               $this->_checkArguments( $args, $validParameters 
);
-                               return $this->__soapCall( 
"getAvailableFileVariants", $args );
-                       }
-
-                       /**
-                        * Service Call: getVariantVaultID
-                        * Parameter options:
-                        * (getVariantVaultID) parameters
-                        * (getVariantVaultID) parameters
-                        * @param mixed,... See function description for 
parameter options
-                        * @return getVariantVaultIDResponse
-                        * @throws Exception invalid function signature message
-                        */
-                       public function getVariantVaultID( $mixed = null )
-                       {
-                               $validParameters = array(
-                                       "(getVariantVaultID)",
-                                       "(getVariantVaultID)",
-                               );
-                               $args = func_get_args();
-                               $this->_checkArguments( $args, $validParameters 
);
-                               return $this->__soapCall( "getVariantVaultID", 
$args );
-                       }
-
-                       /**
-                        * Service Call: getRelativeFileURL
-                        * Parameter options:
-                        * (getRelativeFileURL) parameters
-                        * (getRelativeFileURL) parameters
-                        * @param mixed,... See function description for 
parameter options
-                        * @return getRelativeFileURLResponse
-                        * @throws Exception invalid function signature message
-                        */
-                       public function getRelativeFileURL( $mixed = null )
-                       {
-                               $validParameters = array(
-                                       "(getRelativeFileURL)",
-                                       "(getRelativeFileURL)",
-                               );
-                               $args = func_get_args();
-                               $this->_checkArguments( $args, $validParameters 
);
-                               return $this->__soapCall( "getRelativeFileURL", 
$args );
-                       }
-
-                       /**
-                        * Service Call: getAvailableAttributes
-                        * Parameter options:
-                        * (getAvailableAttributes) parameters
-                        * (getAvailableAttributes) parameters
-                        * @param mixed,... See function description for 
parameter options
-                        * @return getAvailableAttributesResponse
-                        * @throws Exception invalid function signature message
-                        */
-                       public function getAvailableAttributes( $mixed = null )
-                       {
-                               $validParameters = array(
-                                       "(getAvailableAttributes)",
-                                       "(getAvailableAttributes)",
-                               );
-                               $args = func_get_args();
-                               $this->_checkArguments( $args, $validParameters 
);
-                               return $this->__soapCall( 
"getAvailableAttributes", $args );
-                       }
-
-                       /**
-                        * Service Call: getLookupValues
-                        * Parameter options:
-                        * (getLookupValues) parameters
-                        * (getLookupValues) parameters
-                        * @param mixed,... See function description for 
parameter options
-                        * @return getLookupValuesResponse
-                        * @throws Exception invalid function signature message
-                        */
-                       public function getLookupValues( $mixed = null )
-                       {
-                               $validParameters = array(
-                                       "(getLookupValues)",
-                                       "(getLookupValues)",
-                               );
-                               $args = func_get_args();
-                               $this->_checkArguments( $args, $validParameters 
);
-                               return $this->__soapCall( "getLookupValues", 
$args );
-                       }
-
-                       /**
-                        * Service Call: searchDocument
-                        * Parameter options:
-                        * (searchDocument) parameters
-                        * (searchDocument) parameters
-                        * @param mixed,... See function description for 
parameter options
-                        * @return searchDocumentResponse
-                        * @throws Exception invalid function signature message
-                        */
-                       public function searchDocument( $mixed = null )
-                       {
-                               $validParameters = array(
-                                       "(searchDocument)",
-                                       "(searchDocument)",
-                               );
-                               $args = func_get_args();
-                               $this->_checkArguments( $args, $validParameters 
);
-                               return $this->__soapCall( "searchDocument", 
$args );
-                       }
-
-                       /**
-                        * Service Call: createDocument
-                        * Parameter options:
-                        * (createDocument) parameters
-                        * (createDocument) parameters
-                        * @param mixed,... See function description for 
parameter options
-                        * @return createDocumentResponse
-                        * @throws Exception invalid function signature message
-                        */
-                       public function createDocument( $mixed = null )
-                       {
-                               $validParameters = array(
-                                       "(createDocument)",
-                                       "(createDocument)",
-                               );
-                               $args = func_get_args();
-                               $this->_checkArguments( $args, $validParameters 
);
-                               return $this->__soapCall( "createDocument", 
$args );
-                       }
-
-                       /**
-                        * Service Call: getDocument
-                        * Parameter options:
-                        * (getDocument) parameters
-                        * (getDocument) parameters
-                        * @param mixed,... See function description for 
parameter options
-                        * @return getDocumentResponse
-                        * @throws Exception invalid function signature message
-                        */
-                       public function getDocument( $mixed = null )
-                       {
-                               $validParameters = array(
-                                       "(getDocument)",
-                                       "(getDocument)",
-                               );
-                               $args = func_get_args();
-                               $this->_checkArguments( $args, $validParameters 
);
-                               return $this->__soapCall( "getDocument", $args 
);
-                       }
-
-                       /**
-                        * Service Call: getAttribute
-                        * Parameter options:
-                        * (getAttribute) parameters
-                        * (getAttribute) parameters
-                        * @param mixed,... See function description for 
parameter options
-                        * @return getAttributeResponse
-                        * @throws Exception invalid function signature message
-                        */
-                       public function getAttribute( $mixed = null )
-                       {
-                               $validParameters = array(
-                                       "(getAttribute)",
-                                       "(getAttribute)",
-                               );
-                               $args = func_get_args();
-                               $this->_checkArguments( $args, $validParameters 
);
-                               return $this->__soapCall( "getAttribute", $args 
);
-                       }
-
-                       /**
-                        * Service Call: updateDocument
-                        * Parameter options:
-                        * (updateDocument) parameters
-                        * (updateDocument) parameters
-                        * @param mixed,... See function description for 
parameter options
-                        * @return updateDocumentResponse
-                        * @throws Exception invalid function signature message
-                        */
-                       public function updateDocument( $mixed = null )
-                       {
-                               $validParameters = array(
-                                       "(updateDocument)",
-                                       "(updateDocument)",
-                               );

@@ Diff output truncated at 153600 characters. @@



reply via email to

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