[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [15542] Stable: Merge 15359:15541 from trunk
From: |
sigurdne |
Subject: |
[Fmsystem-commits] [15542] Stable: Merge 15359:15541 from trunk |
Date: |
Tue, 30 Aug 2016 11:14:07 +0000 (UTC) |
Revision: 15542
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=15542
Author: sigurdne
Date: 2016-08-30 11:14:07 +0000 (Tue, 30 Aug 2016)
Log Message:
-----------
Stable: Merge 15359:15541 from trunk
Modified Paths:
--------------
branches/Version-2_0-branch/admin/inc/class.ui_custom.inc.php
branches/Version-2_0-branch/admin/inc/class.uiaccounts.inc.php
branches/Version-2_0-branch/admin/templates/base/custom.xsl
branches/Version-2_0-branch/bim/inc/class.sobimitem.inc.php
branches/Version-2_0-branch/bim/setup/setup.inc.php
branches/Version-2_0-branch/bim/setup/tables_current.inc.php
branches/Version-2_0-branch/bim/setup/tables_update.inc.php
branches/Version-2_0-branch/booking/inc/class.socommon.inc.php
branches/Version-2_0-branch/booking/inc/class.uiapplication.inc.php
branches/Version-2_0-branch/controller/inc/class.socase.inc.php
branches/Version-2_0-branch/controller/inc/class.socheck_item.inc.php
branches/Version-2_0-branch/controller/inc/class.socheck_list.inc.php
branches/Version-2_0-branch/controller/inc/class.socommon.inc.php
branches/Version-2_0-branch/controller/inc/class.socontrol.inc.php
branches/Version-2_0-branch/controller/inc/class.socontrol_group.inc.php
branches/Version-2_0-branch/controller/inc/class.socontrol_group_list.inc.php
branches/Version-2_0-branch/controller/inc/class.socontrol_item.inc.php
branches/Version-2_0-branch/controller/inc/class.socontrol_item_list.inc.php
branches/Version-2_0-branch/controller/inc/class.socontrol_item_option.inc.php
branches/Version-2_0-branch/controller/inc/class.sodocument.inc.php
branches/Version-2_0-branch/controller/inc/class.soprocedure.inc.php
branches/Version-2_0-branch/controller/inc/class.uicomponent.inc.php
branches/Version-2_0-branch/controller/inc/class.uicontrol.inc.php
branches/Version-2_0-branch/controller/inc/class.uicontrol_group.inc.php
branches/Version-2_0-branch/controller/inc/class.uicontrol_item.inc.php
branches/Version-2_0-branch/controller/inc/class.uidocument.inc.php
branches/Version-2_0-branch/controller/inc/class.uiprocedure.inc.php
branches/Version-2_0-branch/controller/inc/model/class.model.inc.php
branches/Version-2_0-branch/controller/templates/base/component.xsl
branches/Version-2_0-branch/frontend/inc/class.bofellesdata.inc.php
branches/Version-2_0-branch/helpdesk/inc/class.botts.inc.php
branches/Version-2_0-branch/helpdesk/inc/class.menu.inc.php
branches/Version-2_0-branch/helpdesk/inc/class.sotts.inc.php
branches/Version-2_0-branch/helpdesk/inc/class.uitts.inc.php
branches/Version-2_0-branch/helpdesk/inc/hook_config.inc.php
branches/Version-2_0-branch/helpdesk/js/portico/tts.add.js
branches/Version-2_0-branch/helpdesk/js/portico/tts.view.js
branches/Version-2_0-branch/helpdesk/setup/setup.inc.php
branches/Version-2_0-branch/helpdesk/setup/tables_current.inc.php
branches/Version-2_0-branch/helpdesk/templates/base/config.tpl
branches/Version-2_0-branch/helpdesk/templates/base/tts.xsl
branches/Version-2_0-branch/phpgwapi/inc/adodb/README.md
branches/Version-2_0-branch/phpgwapi/inc/adodb/adodb-active-record.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/adodb-active-recordx.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/adodb-csvlib.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/adodb-datadict.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/adodb-error.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/adodb-errorhandler.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/adodb-errorpear.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/adodb-exceptions.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/adodb-iterator.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/adodb-lib.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/adodb-memcache.lib.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/adodb-pager.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/adodb-pear.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/adodb-perf.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/adodb-php4.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/adodb-time.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/adodb-xmlschema.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/adodb-xmlschema03.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/adodb.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/composer.json
branches/Version-2_0-branch/phpgwapi/inc/adodb/datadict/datadict-access.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/datadict/datadict-db2.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/datadict/datadict-firebird.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/datadict/datadict-generic.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/datadict/datadict-ibase.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/datadict/datadict-informix.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/datadict/datadict-mssql.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/datadict/datadict-mssqlnative.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/datadict/datadict-mysql.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/datadict/datadict-oci8.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/datadict/datadict-postgres.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/datadict/datadict-sapdb.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/datadict/datadict-sqlite.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/datadict/datadict-sybase.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-access.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-ado.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-ado5.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-ado_access.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-ado_mssql.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-ads.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-borland_ibase.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-csv.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-db2.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-db2oci.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-db2ora.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-fbsql.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-firebird.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-ibase.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-informix.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-informix72.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-ldap.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-mssql.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-mssql_n.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-mssqlnative.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-mssqlpo.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-mysql.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-mysqli.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-mysqlpo.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-mysqlt.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-netezza.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-oci8.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-oci805.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-oci8po.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-oci8quercus.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-odbc.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-odbc_db2.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-odbc_mssql.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-odbc_oracle.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-odbtp.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-odbtp_unicode.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-oracle.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-pdo.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-pdo_mssql.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-pdo_mysql.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-pdo_oci.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-pdo_pgsql.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-pdo_sqlite.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-postgres.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-postgres64.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-postgres7.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-postgres8.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-postgres9.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-proxy.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-sapdb.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-sqlanywhere.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-sqlite.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-sqlite3.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-sqlitepo.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-sybase.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-sybase_ase.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-vfp.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-ar.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-bg.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-ca.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-cn.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-cz.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-da.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-de.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-fr.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-hu.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-it.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-pl.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-pt-br.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-sv.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/pear/Auth/Container/ADOdb.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/perf/perf-db2.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/perf/perf-informix.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/perf/perf-mssql.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/perf/perf-mssqlnative.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/perf/perf-mysql.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/perf/perf-oci8.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/perf/perf-postgres.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/pivottable.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/rsfilter.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/server.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/session/adodb-compress-bzip2.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/session/adodb-compress-gzip.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/session/adodb-cryptsession.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/session/adodb-cryptsession2.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/session/adodb-encrypt-mcrypt.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/session/adodb-encrypt-md5.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/session/adodb-encrypt-secret.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/session/adodb-session-clob.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/session/adodb-session-clob2.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/session/adodb-session.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/session/adodb-session2.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/session/old/adodb-cryptsession.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/session/old/adodb-session-clob.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/session/old/adodb-session.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/tests/benchmark.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/tests/client.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/tests/test-datadict.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/tests/test-php5.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/tests/test.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/tests/test3.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/tests/test4.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/tests/test5.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/tests/testcache.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/tests/testdatabases.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/tests/testmssql.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/tests/testoci8.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/tests/testoci8cursor.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/tests/testpaging.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/tests/testpear.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/tests/testsessions.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/toexport.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/tohtml.inc.php
branches/Version-2_0-branch/phpgwapi/inc/auth/class.auth_customsso.inc.php
branches/Version-2_0-branch/phpgwapi/inc/class.acl.inc.php
branches/Version-2_0-branch/phpgwapi/inc/class.contacts_sql.inc.php
branches/Version-2_0-branch/phpgwapi/inc/class.custom_fields.inc.php
branches/Version-2_0-branch/phpgwapi/inc/class.db.inc.php
branches/Version-2_0-branch/phpgwapi/inc/class.db_adodb.inc.php
branches/Version-2_0-branch/phpgwapi/inc/class.db_pdo.inc.php
branches/Version-2_0-branch/phpgwapi/inc/class.ofphpgwapi.inc.php
branches/Version-2_0-branch/phpgwapi/inc/class.phpgw.inc.php
branches/Version-2_0-branch/phpgwapi/inc/class.translation.inc.php
branches/Version-2_0-branch/phpgwapi/inc/phpexcel/PHPExcel/Calculation/Functions.php
branches/Version-2_0-branch/phpgwapi/setup/setup.inc.php
branches/Version-2_0-branch/phpgwapi/setup/tables_current.inc.php
branches/Version-2_0-branch/phpgwapi/setup/tables_update.inc.php
branches/Version-2_0-branch/phpgwapi/templates/base/attributes_form.xsl
branches/Version-2_0-branch/phpgwapi/templates/base/datatable_jquery.xsl
branches/Version-2_0-branch/phpgwapi/templates/bkbooking/navbar.inc.php
branches/Version-2_0-branch/preferences/inc/class.boadmin_acl.inc.php
branches/Version-2_0-branch/property/inc/class.boadmin.inc.php
branches/Version-2_0-branch/property/inc/class.boadmin_entity.inc.php
branches/Version-2_0-branch/property/inc/class.boadmin_location.inc.php
branches/Version-2_0-branch/property/inc/class.bocommon.inc.php
branches/Version-2_0-branch/property/inc/class.boentity.inc.php
branches/Version-2_0-branch/property/inc/class.bogeneric.inc.php
branches/Version-2_0-branch/property/inc/class.bolocation.inc.php
branches/Version-2_0-branch/property/inc/class.botts.inc.php
branches/Version-2_0-branch/property/inc/class.bowo_hour.inc.php
branches/Version-2_0-branch/property/inc/class.custom_fields.inc.php
branches/Version-2_0-branch/property/inc/class.db_oci8.inc.php
branches/Version-2_0-branch/property/inc/class.menu.inc.php
branches/Version-2_0-branch/property/inc/class.soadmin_entity.inc.php
branches/Version-2_0-branch/property/inc/class.soadmin_location.inc.php
branches/Version-2_0-branch/property/inc/class.soagreement.inc.php
branches/Version-2_0-branch/property/inc/class.socustom.inc.php
branches/Version-2_0-branch/property/inc/class.sodocument.inc.php
branches/Version-2_0-branch/property/inc/class.soentity.inc.php
branches/Version-2_0-branch/property/inc/class.soevent.inc.php
branches/Version-2_0-branch/property/inc/class.sogab.inc.php
branches/Version-2_0-branch/property/inc/class.sogeneric.inc.php
branches/Version-2_0-branch/property/inc/class.soinvestment.inc.php
branches/Version-2_0-branch/property/inc/class.sojasper.inc.php
branches/Version-2_0-branch/property/inc/class.solookup.inc.php
branches/Version-2_0-branch/property/inc/class.sopending_action.inc.php
branches/Version-2_0-branch/property/inc/class.sopricebook.inc.php
branches/Version-2_0-branch/property/inc/class.soproject.inc.php
branches/Version-2_0-branch/property/inc/class.sorequest.inc.php
branches/Version-2_0-branch/property/inc/class.soresponsible.inc.php
branches/Version-2_0-branch/property/inc/class.sos_agreement.inc.php
branches/Version-2_0-branch/property/inc/class.sotemplate.inc.php
branches/Version-2_0-branch/property/inc/class.sotts.inc.php
branches/Version-2_0-branch/property/inc/class.soworkorder.inc.php
branches/Version-2_0-branch/property/inc/class.uiadmin.inc.php
branches/Version-2_0-branch/property/inc/class.uientity.inc.php
branches/Version-2_0-branch/property/inc/class.uigeneric.inc.php
branches/Version-2_0-branch/property/inc/class.uiimport.inc.php
branches/Version-2_0-branch/property/inc/class.uilocation.inc.php
branches/Version-2_0-branch/property/inc/class.uiproject.inc.php
branches/Version-2_0-branch/property/inc/class.uitts.inc.php
branches/Version-2_0-branch/property/inc/class.uiwo_hour.inc.php
branches/Version-2_0-branch/property/inc/class.uiworkorder.inc.php
branches/Version-2_0-branch/property/inc/cron/default/synkroniser_avdelinger_med_fellesdata.php
branches/Version-2_0-branch/property/inc/cron/default/synkroniser_med_boei.php
branches/Version-2_0-branch/property/inc/hook_config.inc.php
branches/Version-2_0-branch/property/inc/import/import_update_generic.php
branches/Version-2_0-branch/property/js/portico/location.edit.js
branches/Version-2_0-branch/property/js/portico/project.edit.js
branches/Version-2_0-branch/property/js/portico/wo_hour.index.js
branches/Version-2_0-branch/property/setup/default_records.inc.php
branches/Version-2_0-branch/property/setup/phpgw_no.lang
branches/Version-2_0-branch/property/setup/setup.inc.php
branches/Version-2_0-branch/property/setup/tables_current.inc.php
branches/Version-2_0-branch/property/setup/tables_update.inc.php
branches/Version-2_0-branch/property/templates/base/admin.xsl
branches/Version-2_0-branch/property/templates/base/admin_entity.xsl
branches/Version-2_0-branch/property/templates/base/attributes_form.xsl
branches/Version-2_0-branch/property/templates/base/config.tpl
branches/Version-2_0-branch/property/templates/base/project.xsl
branches/Version-2_0-branch/property/templates/base/tts.xsl
branches/Version-2_0-branch/property/templates/base/wo_hour.index.xsl
branches/Version-2_0-branch/rental/inc/class.bofellesdata.inc.php
branches/Version-2_0-branch/rental/inc/class.menu.inc.php
branches/Version-2_0-branch/rental/inc/class.soadjustment.inc.php
branches/Version-2_0-branch/rental/inc/class.soapplication.inc.php
branches/Version-2_0-branch/rental/inc/class.socomposite.inc.php
branches/Version-2_0-branch/rental/inc/class.socontract.inc.php
branches/Version-2_0-branch/rental/inc/class.sonotification.inc.php
branches/Version-2_0-branch/rental/inc/class.soparty.inc.php
branches/Version-2_0-branch/rental/inc/class.uiapplication.inc.php
branches/Version-2_0-branch/rental/inc/class.uicomposite.inc.php
branches/Version-2_0-branch/rental/inc/class.uicontract.inc.php
branches/Version-2_0-branch/rental/inc/class.uiproperty_location.inc.php
branches/Version-2_0-branch/rental/inc/model/class.application.inc.php
branches/Version-2_0-branch/rental/inc/model/class.composite.inc.php
branches/Version-2_0-branch/rental/inc/model/class.contract.inc.php
branches/Version-2_0-branch/rental/inc/model/class.contract_price_item.inc.php
branches/Version-2_0-branch/rental/inc/model/class.model.inc.php
branches/Version-2_0-branch/rental/js/rental/application.edit.js
branches/Version-2_0-branch/rental/js/rental/contract.edit.js
branches/Version-2_0-branch/rental/js/rental/contract.index.js
branches/Version-2_0-branch/rental/setup/default_records.inc.php
branches/Version-2_0-branch/rental/setup/phpgw_no.lang
branches/Version-2_0-branch/rental/setup/setup.inc.php
branches/Version-2_0-branch/rental/setup/tables_current.inc.php
branches/Version-2_0-branch/rental/setup/tables_update.inc.php
branches/Version-2_0-branch/rental/templates/base/application.xsl
branches/Version-2_0-branch/rental/templates/base/composite.xsl
Added Paths:
-----------
branches/Version-2_0-branch/helpdesk/inc/custom/
branches/Version-2_0-branch/helpdesk/inc/hook_settings.inc.php
branches/Version-2_0-branch/helpdesk/setup/phpgw_no.lang
branches/Version-2_0-branch/helpdesk/setup/tables_update.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/LICENSE.md
branches/Version-2_0-branch/phpgwapi/inc/adodb/docs/README.md
branches/Version-2_0-branch/phpgwapi/inc/adodb/docs/changelog.md
branches/Version-2_0-branch/phpgwapi/inc/adodb/docs/changelog_v2.x.md
branches/Version-2_0-branch/phpgwapi/inc/adodb/docs/changelog_v3.x.md
branches/Version-2_0-branch/phpgwapi/inc/adodb/docs/changelog_v4+5.md
branches/Version-2_0-branch/phpgwapi/inc/adodb/docs/changelog_v4.x.md
branches/Version-2_0-branch/phpgwapi/inc/adodb/drivers/adodb-pdo_sqlsrv.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-eo.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-ru.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-th.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-uk.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/nbproject/
branches/Version-2_0-branch/phpgwapi/inc/adodb/x.php
branches/Version-2_0-branch/phpgwapi/inc/class.socommon.inc.php
Removed Paths:
-------------
branches/Version-2_0-branch/phpgwapi/inc/adodb/docs/adodb-faq.html
branches/Version-2_0-branch/phpgwapi/inc/adodb/docs/docs-active-record.htm
branches/Version-2_0-branch/phpgwapi/inc/adodb/docs/docs-adodb.htm
branches/Version-2_0-branch/phpgwapi/inc/adodb/docs/docs-datadict.htm
branches/Version-2_0-branch/phpgwapi/inc/adodb/docs/docs-oracle.htm
branches/Version-2_0-branch/phpgwapi/inc/adodb/docs/docs-perf.htm
branches/Version-2_0-branch/phpgwapi/inc/adodb/docs/docs-session.htm
branches/Version-2_0-branch/phpgwapi/inc/adodb/docs/docs-session.old.htm
branches/Version-2_0-branch/phpgwapi/inc/adodb/docs/index.html
branches/Version-2_0-branch/phpgwapi/inc/adodb/docs/old-changelog.htm
branches/Version-2_0-branch/phpgwapi/inc/adodb/docs/tips_portable_sql.htm
branches/Version-2_0-branch/phpgwapi/inc/adodb/docs/tute.htm
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-bgutf8.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-esperanto.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-ru1251.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb-uk1251.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/lang/adodb_th.inc.php
branches/Version-2_0-branch/phpgwapi/inc/adodb/license.txt
Property Changed:
----------------
branches/Version-2_0-branch/
branches/Version-2_0-branch/booking/
Property changes on: branches/Version-2_0-branch
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/dev-syncromind:13653
/branches/dev-syncromind-2:14937-15027,15165-15215,15223-15228,15230-15243,15245-15250,15254-15257
/branches/stavangerkommune:12743-12875,12986
/trunk:14721-14732,14734-14735,14737,14739,14741,14743-14744,14746-14749,14751,14753,14755-14757,14759,14761-14764,14766-14768,14770-14783,14785-14792,14794-14813,14815-14816,14818,14820-14822,14824-14825,14827-14829,14831-14834,14836,14838,14840-14842,14844-14845,14847,14849-14866,14868-14869,14871,14873-14875,14877-14878,14880-14884,14886-14896,14898,14900-14902,14904,14906-14909,14911-14915,14917-14919,14921-14922,14924-14978,14980-15258,15260-15261,15263-15264,15266-15285,15287-15288,15290-15291,15293,15295,15297,15299-15305,15307-15310,15312-15335,15337-15352,15354,15356,15358
+ /branches/dev-syncromind:13653
/branches/dev-syncromind-2:14937-15027,15165-15215,15223-15228,15230-15243,15245-15250,15254-15257
/branches/stavangerkommune:12743-12875,12986
/trunk:14721-14732,14734-14735,14737,14739,14741,14743-14744,14746-14749,14751,14753,14755-14757,14759,14761-14764,14766-14768,14770-14783,14785-14792,14794-14813,14815-14816,14818,14820-14822,14824-14825,14827-14829,14831-14834,14836,14838,14840-14842,14844-14845,14847,14849-14866,14868-14869,14871,14873-14875,14877-14878,14880-14884,14886-14896,14898,14900-14902,14904,14906-14909,14911-14915,14917-14919,14921-14922,14924-14978,14980-15258,15260-15261,15263-15264,15266-15285,15287-15288,15290-15291,15293,15295,15297,15299-15305,15307-15310,15312-15335,15337-15352,15354,15356,15358,15360-15541
Modified: branches/Version-2_0-branch/admin/inc/class.ui_custom.inc.php
===================================================================
--- branches/Version-2_0-branch/admin/inc/class.ui_custom.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/admin/inc/class.ui_custom.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -368,10 +368,25 @@
'menu_selection' =>
$GLOBALS['phpgw_info']['flags']['menu_selection']
);
- $multiple_choice = '';
- if(isset($values['column_info']['type']) &&
($values['column_info']['type'] == 'R' || $values['column_info']['type'] ==
'CH' || $values['column_info']['type'] == 'LB'))
+ $multiple_choice = false;
+ $custom_get_list = false;
+ $custom_get_single = false;
+ switch ($values['column_info']['type'])
{
- $multiple_choice = True;
+ case 'R':
+ case 'CH':
+ case 'LB':
+ $multiple_choice = true;
+ break;
+ case 'custom1':
+ $custom_get_list = true;
+ break;
+ case 'custom2':
+ case 'custom3':
+ $custom_get_list = true;
+ $custom_get_single = true;
+ break;
+ default:
}
//_debug_array($values);
@@ -386,6 +401,8 @@
'lang_new_value_statustext'
=> lang('New value for multiple choice'),
'multiple_choice'
=> $multiple_choice,
'value_choice'
=> (isset($values['choice']) ? $values['choice'] : ''),
+ 'custom_get_list' => $custom_get_list,
+ 'custom_get_single' => $custom_get_single,
'lang_delete_value'
=> lang('Delete value'),
'lang_value'
=> lang('value'),
'lang_delete_choice_statustext' =>
lang('Delete this value from the list of multiple choice'),
@@ -444,7 +461,11 @@
'value_helpmsg'
=> isset($values['helpmsg']) ? $values['helpmsg'] : '',
'lang_helpmsg'
=> lang('help message'),
'lang_helpmsg_statustext'
=> lang('Enables help message for this attribute'),
- 'value_location'
=> $location
+ 'value_location'
=> $location,
+ 'value_get_list_function' =>
$values['get_list_function'],
+ 'value_get_list_function_input' =>
print_r($values['get_list_function_input'], true),
+ 'value_get_single_function' =>
$values['get_single_function'],
+ 'value_get_single_function_input' =>
print_r($values['get_single_function_input'], true),
);
//_debug_array($values);
Modified: branches/Version-2_0-branch/admin/inc/class.uiaccounts.inc.php
===================================================================
--- branches/Version-2_0-branch/admin/inc/class.uiaccounts.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/admin/inc/class.uiaccounts.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -699,6 +699,7 @@
'sms' => array('top_grant' =>
true),
'todo' => array('top_grant' =>
true),
'tts' => array('top_grant' =>
true),
+ 'helpdesk' => array('top_grant' =>
true),
);
$GLOBALS['phpgw']->locations->verify($apps_with_acl);
Modified: branches/Version-2_0-branch/admin/templates/base/custom.xsl
===================================================================
--- branches/Version-2_0-branch/admin/templates/base/custom.xsl 2016-08-30
10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/admin/templates/base/custom.xsl 2016-08-30
11:14:07 UTC (rev 15542)
@@ -1,59 +1,59 @@
<!-- $Id$ -->
<xsl:template name="custom">
- <xsl:choose>
- <xsl:when test="list_attribute">
- <xsl:apply-templates select="list_attribute"/>
- </xsl:when>
- <xsl:when test="edit_attrib">
- <xsl:apply-templates select="edit_attrib"/>
- </xsl:when>
- <xsl:when test="list_custom_function">
- <xsl:apply-templates
select="list_custom_function"/>
- </xsl:when>
- <xsl:when test="edit_custom_function">
- <xsl:apply-templates
select="edit_custom_function"/>
- </xsl:when>
- </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="list_attribute">
+ <xsl:apply-templates select="list_attribute"/>
+ </xsl:when>
+ <xsl:when test="edit_attrib">
+ <xsl:apply-templates select="edit_attrib"/>
+ </xsl:when>
+ <xsl:when test="list_custom_function">
+ <xsl:apply-templates select="list_custom_function"/>
+ </xsl:when>
+ <xsl:when test="edit_custom_function">
+ <xsl:apply-templates select="edit_custom_function"/>
+ </xsl:when>
+ </xsl:choose>
</xsl:template>
<xsl:template match="table_add">
- <tr>
- <td height="50">
+ <tr>
+ <td height="50">
<xsl:variable name="add_action">
<xsl:value-of select="add_action"/>
</xsl:variable>
<xsl:variable name="lang_add">
<xsl:value-of select="lang_add"/>
</xsl:variable>
- <form method="post"
action="{$add_action}">
- <input type="submit" name="add"
value="{$lang_add}" onMouseout="window.status='';return true;">
- <xsl:attribute
name="onMouseover">
-
<xsl:text>window.status='</xsl:text>
-
<xsl:value-of select="lang_add_standardtext"/>
- <xsl:text>';
return true;</xsl:text>
- </xsl:attribute>
- </input>
- </form>
- </td>
- <td height="50">
+ <form method="post" action="{$add_action}">
+ <input type="submit" name="add"
value="{$lang_add}" onMouseout="window.status='';return true;">
+ <xsl:attribute name="onMouseover">
+
<xsl:text>window.status='</xsl:text>
+ <xsl:value-of
select="lang_add_standardtext"/>
+ <xsl:text>'; return
true;</xsl:text>
+ </xsl:attribute>
+ </input>
+ </form>
+ </td>
+ <td height="50">
<xsl:variable name="done_action">
<xsl:value-of select="done_action"/>
</xsl:variable>
<xsl:variable name="lang_done">
<xsl:value-of select="lang_done"/>
</xsl:variable>
- <form method="post"
action="{$done_action}">
- <input type="submit" name="add"
value="{$lang_done}" onMouseout="window.status='';return true;">
- <xsl:attribute
name="onMouseover">
-
<xsl:text>window.status='</xsl:text>
-
<xsl:value-of select="lang_add_standardtext"/>
- <xsl:text>';
return true;</xsl:text>
- </xsl:attribute>
- </input>
- </form>
- </td>
- </tr>
+ <form method="post" action="{$done_action}">
+ <input type="submit" name="add"
value="{$lang_done}" onMouseout="window.status='';return true;">
+ <xsl:attribute name="onMouseover">
+
<xsl:text>window.status='</xsl:text>
+ <xsl:value-of
select="lang_add_standardtext"/>
+ <xsl:text>'; return
true;</xsl:text>
+ </xsl:attribute>
+ </input>
+ </form>
+ </td>
+ </tr>
</xsl:template>
@@ -61,38 +61,38 @@
<xsl:template match="list_attribute">
- <table width="100%" cellpadding="2" cellspacing="2"
align="center">
- <tr>
- <td class="th_text" align="left">
- <xsl:value-of select="lang_appname"/>
- <xsl:text>: </xsl:text>
- <xsl:value-of select="appname"/>
- </td>
- </tr>
- <tr>
- <td align="left">
- <xsl:call-template
name="filter_location"/>
- </td>
+ <table width="100%" cellpadding="2" cellspacing="2" align="center">
+ <tr>
+ <td class="th_text" align="left">
+ <xsl:value-of select="lang_appname"/>
+ <xsl:text>: </xsl:text>
+ <xsl:value-of select="appname"/>
+ </td>
+ </tr>
+ <tr>
+ <td align="left">
+ <xsl:call-template name="filter_location"/>
+ </td>
- <td align="right">
- <xsl:call-template name="search_field"/>
- </td>
- </tr>
- <tr>
- <td colspan="3" width="100%">
- <xsl:call-template name="nextmatchs"/>
- </td>
- </tr>
- </table>
- <table class="pure-table pure-table-bordered">
- <xsl:apply-templates
select="table_header_attrib"/>
- <xsl:choose>
- <xsl:when test="values_attrib != ''">
- <xsl:apply-templates
select="values_attrib"/>
- </xsl:when>
- </xsl:choose>
- <xsl:apply-templates select="table_add"/>
- </table>
+ <td align="right">
+ <xsl:call-template name="search_field"/>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="3" width="100%">
+ <xsl:call-template name="nextmatchs"/>
+ </td>
+ </tr>
+ </table>
+ <table class="pure-table pure-table-bordered">
+ <xsl:apply-templates select="table_header_attrib"/>
+ <xsl:choose>
+ <xsl:when test="values_attrib != ''">
+ <xsl:apply-templates select="values_attrib"/>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:apply-templates select="table_add"/>
+ </table>
</xsl:template>
<xsl:template match="table_header_attrib">
@@ -102,36 +102,36 @@
<xsl:variable name="sort_name">
<xsl:value-of select="sort_name"/>
</xsl:variable>
- <tr class="th">
- <th class="th_text" width="10%" align="left">
+ <tr class="th">
+ <th class="th_text" width="10%" align="left">
<a href="{$sort_name}">
<xsl:value-of select="lang_name"/>
</a>
- </th>
- <th class="th_text" width="20%" align="left">
- <xsl:value-of select="lang_descr"/>
- </th>
- <th class="th_text" width="1%" align="left">
- <xsl:value-of select="lang_datatype"/>
- </th>
+ </th>
+ <th class="th_text" width="20%" align="left">
+ <xsl:value-of select="lang_descr"/>
+ </th>
+ <th class="th_text" width="1%" align="left">
+ <xsl:value-of select="lang_datatype"/>
+ </th>
<th class="th_text" width="1%" align="center">
<xsl:value-of select="lang_group"/>
</th>
- <th class="th_text" width="5%" align="center">
+ <th class="th_text" width="5%" align="center">
<a href="{$sort_sorting}">
<xsl:value-of select="lang_sorting"/>
</a>
- </th>
- <th class="th_text" width="1%" align="center">
- <xsl:value-of select="lang_search"/>
- </th>
- <th class="th_text" width="5%" align="center">
- <xsl:value-of select="lang_edit"/>
- </th>
- <th class="th_text" width="5%" align="center">
- <xsl:value-of select="lang_delete"/>
- </th>
- </tr>
+ </th>
+ <th class="th_text" width="1%" align="center">
+ <xsl:value-of select="lang_search"/>
+ </th>
+ <th class="th_text" width="5%" align="center">
+ <xsl:value-of select="lang_edit"/>
+ </th>
+ <th class="th_text" width="5%" align="center">
+ <xsl:value-of select="lang_delete"/>
+ </th>
+ </tr>
</xsl:template>
<xsl:template match="values_attrib">
@@ -147,268 +147,268 @@
<xsl:variable name="lang_delete_text">
<xsl:value-of select="lang_delete_text"/>
</xsl:variable>
- <tr>
- <xsl:attribute name="class">
- <xsl:choose>
- <xsl:when test="@class">
- <xsl:value-of
select="@class"/>
- </xsl:when>
- <xsl:when test="position() mod
2 = 0">
-
<xsl:text>row_off</xsl:text>
- </xsl:when>
- <xsl:otherwise>
-
<xsl:text>row_on</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- <td align="left">
- <xsl:value-of select="column_name"/>
- </td>
- <td>
- <xsl:value-of select="input_text"/>
- </td>
- <td>
- <xsl:value-of select="datatype"/>
- </td>
+ <tr>
+ <xsl:attribute name="class">
+ <xsl:choose>
+ <xsl:when test="@class">
+ <xsl:value-of select="@class"/>
+ </xsl:when>
+ <xsl:when test="position() mod 2 = 0">
+ <xsl:text>row_off</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>row_on</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:attribute>
+ <td align="left">
+ <xsl:value-of select="column_name"/>
+ </td>
+ <td>
+ <xsl:value-of select="input_text"/>
+ </td>
+ <td>
+ <xsl:value-of select="datatype"/>
+ </td>
<td align="right">
<xsl:value-of select="group_id"/>
</td>
- <td>
- <table align="left">
- <tr>
- <td>
- <xsl:value-of
select="sorting"/>
- </td>
+ <td>
+ <table align="left">
+ <tr>
+ <td>
+ <xsl:value-of select="sorting"/>
+ </td>
- <td align="left">
+ <td align="left">
<xsl:variable name="link_up">
<xsl:value-of
select="link_up"/>
</xsl:variable>
<a href="{$link_up}"
onMouseover="window.status='{$lang_up_text}';return true;"
onMouseout="window.status='';return true;">
<xsl:value-of
select="text_up"/>
</a>
- <xsl:text> |
</xsl:text>
+ <xsl:text> | </xsl:text>
<xsl:variable name="link_down">
<xsl:value-of
select="link_down"/>
</xsl:variable>
<a href="{$link_down}"
onMouseover="window.status='{$lang_down_text}';return true;"
onMouseout="window.status='';return true;">
<xsl:value-of
select="text_down"/>
</a>
- </td>
+ </td>
- </tr>
- </table>
- </td>
- <td align="center">
- <xsl:value-of select="search"/>
- </td>
- <td align="center">
+ </tr>
+ </table>
+ </td>
+ <td align="center">
+ <xsl:value-of select="search"/>
+ </td>
+ <td align="center">
<xsl:variable name="link_edit">
<xsl:value-of select="link_edit"/>
</xsl:variable>
<a href="{$link_edit}"
onMouseover="window.status='{$lang_edit_text}';return true;"
onMouseout="window.status='';return true;">
<xsl:value-of select="text_edit"/>
</a>
- </td>
- <td align="center">
+ </td>
+ <td align="center">
<xsl:variable name="link_delete">
<xsl:value-of select="link_delete"/>
</xsl:variable>
<a href="{$link_delete}"
onMouseover="window.status='{$lang_delete_text}';return true;"
onMouseout="window.status='';return true;">
<xsl:value-of select="text_delete"/>
</a>
- </td>
- </tr>
+ </td>
+ </tr>
</xsl:template>
<!-- add attribute / edit attribute -->
<xsl:template match="edit_attrib" xmlns:php="http://php.net/xsl">
- <div align="left">
+ <div align="left">
- <xsl:variable name="form_action">
- <xsl:value-of select="form_action"/>
- </xsl:variable>
- <form method="post" action="{$form_action}">
+ <xsl:variable name="form_action">
+ <xsl:value-of select="form_action"/>
+ </xsl:variable>
+ <form method="post" action="{$form_action}">
- <table cellpadding="2" cellspacing="2" width="80%"
align="center">
- <xsl:choose>
- <xsl:when test="msgbox_data != ''">
- <tr>
- <td align="left" colspan="3">
- <xsl:call-template
name="msgbox"/>
- </td>
- </tr>
- </xsl:when>
- </xsl:choose>
+ <table cellpadding="2" cellspacing="2" width="80%"
align="center">
+ <xsl:choose>
+ <xsl:when test="msgbox_data != ''">
+ <tr>
+ <td align="left"
colspan="3">
+
<xsl:call-template name="msgbox"/>
+ </td>
+ </tr>
+ </xsl:when>
+ </xsl:choose>
- <tr>
- <td class="th_text" align="left">
- <xsl:value-of
select="php:function('lang', 'appname')" />
- </td>
- <td class="th_text" align="left">
- <xsl:value-of select="appname"/>
- </td>
- </tr>
- <tr>
- <td class="th_text" align="left">
- <xsl:value-of select="lang_location"/>
- <xsl:value-of
select="php:function('lang', 'location')" />
- </td>
- <td align="left">
- <xsl:choose>
- <xsl:when test="value_location
!= ''">
- <xsl:value-of
select="value_location"/>
- <input type="hidden"
name="location" value="{value_location}" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template
name="select_location"/>
- </xsl:otherwise>
- </xsl:choose>
- </td>
- </tr>
- <xsl:choose>
- <xsl:when test="value_id != ''">
- <tr>
- <td valign="top">
- <xsl:value-of
select="php:function('lang', 'Attribute ID')" />
- </td>
- <td>
- <xsl:value-of
select="value_id"/>
- </td>
- </tr>
- </xsl:when>
- </xsl:choose>
- <tr>
- <td valign="top">
- <xsl:value-of
select="php:function('lang', 'column name')" />
- </td>
- <td>
- <input type="text"
name="values[column_name]" value="{value_column_name}" maxlength="20">
- <xsl:attribute name="title">
- <xsl:value-of
select="php:function('lang', 'enter the name for the column')" />
- </xsl:attribute>
- </input>
- </td>
- </tr>
- <tr>
- <td valign="top">
- <xsl:value-of
select="php:function('lang', 'input text')" />
- </td>
- <td>
- <input type="text"
name="values[input_text]" value="{value_input_text}" maxlength="20">
- <xsl:attribute name="title">
- <xsl:value-of
select="php:function('lang', 'enter the input text for records')" />
- </xsl:attribute>
- </input>
- </td>
- </tr>
- <tr>
- <td valign="top">
- <xsl:value-of
select="php:function('lang', 'statustext')" />
- </td>
- <td>
- <textarea cols="60" rows="10"
name="values[statustext]" wrap="virtual">
- <xsl:attribute name="title">
- <xsl:value-of
select="php:function('lang', 'Enter a statustext for the inputfield in forms')"
/>
- </xsl:attribute>
- <xsl:value-of
select="value_statustext"/>
- </textarea>
+ <tr>
+ <td class="th_text" align="left">
+ <xsl:value-of
select="php:function('lang', 'appname')" />
+ </td>
+ <td class="th_text" align="left">
+ <xsl:value-of select="appname"/>
+ </td>
+ </tr>
+ <tr>
+ <td class="th_text" align="left">
+ <xsl:value-of
select="lang_location"/>
+ <xsl:value-of
select="php:function('lang', 'location')" />
+ </td>
+ <td align="left">
+ <xsl:choose>
+ <xsl:when
test="value_location != ''">
+ <xsl:value-of
select="value_location"/>
+ <input
type="hidden" name="location" value="{value_location}" />
+ </xsl:when>
+ <xsl:otherwise>
+
<xsl:call-template name="select_location"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </td>
+ </tr>
+ <xsl:choose>
+ <xsl:when test="value_id != ''">
+ <tr>
+ <td valign="top">
+ <xsl:value-of
select="php:function('lang', 'Attribute ID')" />
+ </td>
+ <td>
+ <xsl:value-of
select="value_id"/>
+ </td>
+ </tr>
+ </xsl:when>
+ </xsl:choose>
+ <tr>
+ <td valign="top">
+ <xsl:value-of
select="php:function('lang', 'column name')" />
+ </td>
+ <td>
+ <input type="text"
name="values[column_name]" value="{value_column_name}" maxlength="20">
+ <xsl:attribute
name="title">
+ <xsl:value-of
select="php:function('lang', 'enter the name for the column')" />
+ </xsl:attribute>
+ </input>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">
+ <xsl:value-of
select="php:function('lang', 'input text')" />
+ </td>
+ <td>
+ <input type="text"
name="values[input_text]" value="{value_input_text}" maxlength="20">
+ <xsl:attribute
name="title">
+ <xsl:value-of
select="php:function('lang', 'enter the input text for records')" />
+ </xsl:attribute>
+ </input>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">
+ <xsl:value-of
select="php:function('lang', 'statustext')" />
+ </td>
+ <td>
+ <textarea cols="60" rows="10"
name="values[statustext]" wrap="virtual">
+ <xsl:attribute
name="title">
+ <xsl:value-of
select="php:function('lang', 'Enter a statustext for the inputfield in forms')"
/>
+ </xsl:attribute>
+ <xsl:value-of
select="value_statustext"/>
+ </textarea>
- </td>
- </tr>
- <tr>
- <td valign="top">
- <xsl:value-of
select="php:function('lang', 'group')" />
- </td>
- <td valign="top">
- <select name="values[group_id]"
class="forms">
- <xsl:attribute name="title">
- <xsl:value-of
select="php:function('lang', 'select a group')" />
- </xsl:attribute>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">
+ <xsl:value-of
select="php:function('lang', 'group')" />
+ </td>
+ <td valign="top">
+ <select name="values[group_id]"
class="forms">
+ <xsl:attribute
name="title">
+ <xsl:value-of
select="php:function('lang', 'select a group')" />
+ </xsl:attribute>
<option value="">
- <xsl:value-of
select="php:function('lang', 'no group')" />
- </option>
- <xsl:apply-templates
select="attrib_group_list/options"/>
- </select>
- </td>
- </tr>
- <tr>
- <td valign="top">
- <xsl:value-of
select="php:function('lang', 'datatype')" />
- </td>
- <td valign="top">
+ <xsl:value-of
select="php:function('lang', 'no group')" />
+ </option>
+ <xsl:apply-templates
select="attrib_group_list/options"/>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">
+ <xsl:value-of
select="php:function('lang', 'datatype')" />
+ </td>
+ <td valign="top">
<xsl:variable
name="lang_datatype_statustext">
<xsl:value-of
select="lang_datatype_statustext"/>
</xsl:variable>
- <select
name="values[column_info][type]" class="forms">
+ <select
name="values[column_info][type]" class="forms">
<option value="">
<xsl:value-of
select="lang_no_datatype"/>
</option>
- <xsl:apply-templates
select="datatype_list"/>
- </select>
- </td>
- </tr>
- <tr>
- <td valign="top">
- <xsl:value-of select="lang_precision"/>
- </td>
- <td>
- <input type="text"
name="values[column_info][precision]" value="{value_precision}">
- <xsl:attribute name="title">
- <xsl:value-of
select="lang_precision_statustext"/>
- </xsl:attribute>
- </input>
- </td>
- </tr>
- <tr>
- <td valign="top">
- <xsl:value-of select="lang_scale"/>
- </td>
- <td>
- <input type="text"
name="values[column_info][scale]" value="{value_scale}">
- <xsl:attribute name="title">
- <xsl:value-of
select="lang_scale_statustext"/>
- </xsl:attribute>
- </input>
- </td>
- </tr>
- <tr>
- <td valign="top">
- <xsl:value-of select="lang_default"/>
- </td>
- <td>
- <input type="text"
name="values[column_info][default]" value="{value_default}">
- <xsl:attribute name="title">
- <xsl:value-of
select="lang_default_statustext"/>
- </xsl:attribute>
- </input>
- </td>
- </tr>
- <tr>
- <td valign="top">
- <xsl:value-of select="lang_nullable"/>
- </td>
- <td valign="top">
+ <xsl:apply-templates
select="datatype_list"/>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">
+ <xsl:value-of
select="lang_precision"/>
+ </td>
+ <td>
+ <input type="text"
name="values[column_info][precision]" value="{value_precision}">
+ <xsl:attribute
name="title">
+ <xsl:value-of
select="lang_precision_statustext"/>
+ </xsl:attribute>
+ </input>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">
+ <xsl:value-of
select="lang_scale"/>
+ </td>
+ <td>
+ <input type="text"
name="values[column_info][scale]" value="{value_scale}">
+ <xsl:attribute
name="title">
+ <xsl:value-of
select="lang_scale_statustext"/>
+ </xsl:attribute>
+ </input>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">
+ <xsl:value-of
select="lang_default"/>
+ </td>
+ <td>
+ <input type="text"
name="values[column_info][default]" value="{value_default}">
+ <xsl:attribute
name="title">
+ <xsl:value-of
select="lang_default_statustext"/>
+ </xsl:attribute>
+ </input>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">
+ <xsl:value-of
select="lang_nullable"/>
+ </td>
+ <td valign="top">
<xsl:variable
name="lang_nullable_statustext">
<xsl:value-of
select="lang_nullable_statustext"/>
</xsl:variable>
- <select
name="values[column_info][nullable]" class="forms">
+ <select
name="values[column_info][nullable]" class="forms">
<option value="">
<xsl:value-of
select="lang_select_nullable"/>
</option>
- <xsl:apply-templates
select="nullable_list"/>
- </select>
- </td>
- </tr>
- <tr>
- <td>
- <xsl:value-of select="lang_list"/>
- </td>
- <td>
- <xsl:choose>
+ <xsl:apply-templates
select="nullable_list"/>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <xsl:value-of
select="lang_list"/>
+ </td>
+ <td>
+ <xsl:choose>
<xsl:when
test="value_list = 1">
<input
type="checkbox" name="values[list]" value="1" checked="checked"
onMouseout="window.status='';return true;">
<xsl:attribute name="title">
@@ -423,15 +423,15 @@
</xsl:attribute>
</input>
</xsl:otherwise>
- </xsl:choose>
- </td>
- </tr>
- <tr>
- <td>
- <xsl:value-of
select="lang_include_search"/>
- </td>
- <td>
- <xsl:choose>
+ </xsl:choose>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <xsl:value-of
select="lang_include_search"/>
+ </td>
+ <td>
+ <xsl:choose>
<xsl:when
test="value_search = 1">
<input
type="checkbox" name="values[search]" value="1" checked="checked">
<xsl:attribute name="title">
@@ -446,15 +446,15 @@
</xsl:attribute>
</input>
</xsl:otherwise>
- </xsl:choose>
- </td>
- </tr>
- <tr>
- <td>
- <xsl:value-of select="lang_history"/>
- </td>
- <td>
- <xsl:choose>
+ </xsl:choose>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <xsl:value-of
select="lang_history"/>
+ </td>
+ <td>
+ <xsl:choose>
<xsl:when
test="value_history = 1">
<input
type="checkbox" name="values[history]" value="1" checked="checked">
<xsl:attribute name="title">
@@ -469,15 +469,15 @@
</xsl:attribute>
</input>
</xsl:otherwise>
- </xsl:choose>
- </td>
- </tr>
- <tr>
- <td>
- <xsl:value-of select="lang_disabled"/>
- </td>
- <td>
- <xsl:choose>
+ </xsl:choose>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <xsl:value-of
select="lang_disabled"/>
+ </td>
+ <td>
+ <xsl:choose>
<xsl:when
test="value_disabled = 1">
<input
type="checkbox" name="values[disabled]" value="1" checked="checked">
<xsl:attribute name="title">
@@ -492,51 +492,109 @@
</xsl:attribute>
</input>
</xsl:otherwise>
- </xsl:choose>
- </td>
- </tr>
+ </xsl:choose>
+ </td>
+ </tr>
- <tr>
- <td valign="top">
- <xsl:value-of select="lang_helpmsg"/>
- </td>
- <td>
- <textarea cols="60" rows="10"
name="values[helpmsg]" wrap="virtual">
- <xsl:attribute name="title">
- <xsl:value-of
select="lang_helpmsg_statustext"/>
- </xsl:attribute>
- <xsl:value-of
select="value_helpmsg"/>
- </textarea>
- </td>
- </tr>
+ <tr>
+ <td valign="top">
+ <xsl:value-of
select="lang_helpmsg"/>
+ </td>
+ <td>
+ <textarea cols="60" rows="10"
name="values[helpmsg]" wrap="virtual">
+ <xsl:attribute
name="title">
+ <xsl:value-of
select="lang_helpmsg_statustext"/>
+ </xsl:attribute>
+ <xsl:value-of
select="value_helpmsg"/>
+ </textarea>
+ </td>
+ </tr>
- <xsl:choose>
- <xsl:when test="multiple_choice != ''">
- <tr>
- <td valign="top">
- <xsl:value-of
select="lang_choice"/>
- </td>
- <td align="right">
- <xsl:call-template
name="choice"/>
- </td>
- </tr>
- </xsl:when>
- </xsl:choose>
- <tr height="50">
- <td>
+ <xsl:choose>
+ <xsl:when test="multiple_choice = 1">
+ <tr>
+ <td valign="top">
+ <xsl:value-of
select="lang_choice"/>
+ </td>
+ <td align="right">
+
<xsl:call-template name="choice"/>
+ </td>
+ </tr>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="custom_get_list = 1">
+ <tr>
+ <td>
+ <xsl:value-of
select="php:function('lang', 'custom get list function')"/>
+ </td>
+ <td>
+ <input
type="text" name="values[get_list_function]" value="{value_get_list_function}"
size="60">
+
<xsl:attribute name="title">
+
<xsl:text><app>.<class>.<function></xsl:text>
+
</xsl:attribute>
+ </input>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <xsl:value-of
select="php:function('lang', 'get list function input')"/>
+ </td>
+ <td>
+ <textarea
cols="60" rows="10" name="values[get_list_function_input]">
+
<xsl:attribute name="title">
+
<xsl:text>parameter1 = value1, parameter2 = value2...</xsl:text>
+
</xsl:attribute>
+
<xsl:value-of select="value_get_list_function_input"/>
+ </textarea>
+ </td>
+ </tr>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="custom_get_single = 1">
+ <tr>
+ <td>
+ <xsl:value-of
select="php:function('lang', 'custom get single function')"/>
+ </td>
+ <td>
+ <input
type="text" name="values[get_single_function]"
value="{value_get_single_function}" size="60">
+
<xsl:attribute name="title">
+
<xsl:text><app>.<class>.<function></xsl:text>
+
</xsl:attribute>
+ </input>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <xsl:value-of
select="php:function('lang', 'get single function input')"/>
+ </td>
+ <td>
+ <textarea cols="60"
rows="10" name="values[get_single_function_input]">
+ <xsl:attribute
name="title">
+
<xsl:text>parameter1 = value1, parameter2 = value2...</xsl:text>
+ </xsl:attribute>
+ <xsl:value-of
select="value_get_single_function_input"/>
+ </textarea>
+ </td>
+ </tr>
+ </xsl:when>
+ </xsl:choose>
+ <tr height="50">
+ <td>
<xsl:variable name="lang_save">
<xsl:value-of
select="lang_save"/>
</xsl:variable>
- <input type="submit"
name="values[save]" value="{$lang_save}">
- <xsl:attribute name="title">
- <xsl:value-of
select="lang_save_attribtext"/>
- </xsl:attribute>
- </input>
- </td>
- </tr>
- </table>
- </form>
- <table>
+ <input type="submit"
name="values[save]" value="{$lang_save}">
+ <xsl:attribute
name="title">
+ <xsl:value-of
select="lang_save_attribtext"/>
+ </xsl:attribute>
+ </input>
+ </td>
+ </tr>
+ </table>
+ </form>
+ <table>
<tr>
<td>
<xsl:variable name="done_action">
@@ -555,7 +613,7 @@
</td>
</tr>
</table>
- </div>
+ </div>
</xsl:template>
<!-- add attribute group / edit attribute group -->
@@ -705,38 +763,38 @@
<xsl:template match="list_custom_function">
- <table width="100%" cellpadding="2" cellspacing="2"
align="center">
- <tr>
- <td class="th_text" align="left">
- <xsl:value-of select="lang_appname"/>
- <xsl:text>: </xsl:text>
- <xsl:value-of select="appname"/>
- </td>
- </tr>
- <tr>
- <td align="left">
- <xsl:call-template
name="filter_location"/>
- </td>
+ <table width="100%" cellpadding="2" cellspacing="2" align="center">
+ <tr>
+ <td class="th_text" align="left">
+ <xsl:value-of select="lang_appname"/>
+ <xsl:text>: </xsl:text>
+ <xsl:value-of select="appname"/>
+ </td>
+ </tr>
+ <tr>
+ <td align="left">
+ <xsl:call-template name="filter_location"/>
+ </td>
- <td align="right">
- <xsl:call-template name="search_field"/>
- </td>
- </tr>
- <tr>
- <td colspan="3" width="100%">
- <xsl:call-template name="nextmatchs"/>
- </td>
- </tr>
- </table>
- <table width="100%" cellpadding="2" cellspacing="2"
align="center" class="pure-table pure-table-bordered">
- <xsl:apply-templates
select="table_header_custom_function"/>
- <xsl:choose>
- <xsl:when test="values_custom_function != ''">
- <xsl:apply-templates
select="values_custom_function"/>
- </xsl:when>
- </xsl:choose>
- <xsl:apply-templates select="table_add"/>
- </table>
+ <td align="right">
+ <xsl:call-template name="search_field"/>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="3" width="100%">
+ <xsl:call-template name="nextmatchs"/>
+ </td>
+ </tr>
+ </table>
+ <table width="100%" cellpadding="2" cellspacing="2" align="center"
class="pure-table pure-table-bordered">
+ <xsl:apply-templates select="table_header_custom_function"/>
+ <xsl:choose>
+ <xsl:when test="values_custom_function != ''">
+ <xsl:apply-templates
select="values_custom_function"/>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:apply-templates select="table_add"/>
+ </table>
</xsl:template>
<xsl:template match="table_header_custom_function">
<xsl:variable name="sort_sorting">
@@ -745,36 +803,36 @@
<xsl:variable name="sort_name">
<xsl:value-of select="sort_name"/>
</xsl:variable>
- <tr class="th">
- <td class="th_text" width="10%" align="left">
+ <tr class="th">
+ <td class="th_text" width="10%" align="left">
<a href="{$sort_name}">
<xsl:value-of select="lang_name"/>
</a>
- </td>
- <td class="th_text" width="20%" align="left">
- <xsl:value-of select="lang_descr"/>
- </td>
- <td class="th_text" width="5%" align="center">
- <xsl:value-of select="lang_pre_commit"/>
- </td>
- <td class="th_text" width="5%" align="center">
- <xsl:value-of select="lang_client_side"/>
- </td>
- <td class="th_text" width="5%" align="center">
- <xsl:value-of select="lang_active"/>
- </td>
- <td class="th_text" width="10%" align="center">
+ </td>
+ <td class="th_text" width="20%" align="left">
+ <xsl:value-of select="lang_descr"/>
+ </td>
+ <td class="th_text" width="5%" align="center">
+ <xsl:value-of select="lang_pre_commit"/>
+ </td>
+ <td class="th_text" width="5%" align="center">
+ <xsl:value-of select="lang_client_side"/>
+ </td>
+ <td class="th_text" width="5%" align="center">
+ <xsl:value-of select="lang_active"/>
+ </td>
+ <td class="th_text" width="10%" align="center">
<a href="{$sort_sorting}">
<xsl:value-of select="lang_sorting"/>
</a>
- </td>
- <td class="th_text" width="5%" align="center">
- <xsl:value-of select="lang_edit"/>
- </td>
- <td class="th_text" width="5%" align="center">
- <xsl:value-of select="lang_delete"/>
- </td>
- </tr>
+ </td>
+ <td class="th_text" width="5%" align="center">
+ <xsl:value-of select="lang_edit"/>
+ </td>
+ <td class="th_text" width="5%" align="center">
+ <xsl:value-of select="lang_delete"/>
+ </td>
+ </tr>
</xsl:template>
<xsl:template match="values_custom_function">
@@ -790,166 +848,166 @@
<xsl:variable name="lang_delete_text">
<xsl:value-of select="lang_delete_text"/>
</xsl:variable>
- <tr>
- <xsl:attribute name="class">
- <xsl:choose>
- <xsl:when test="@class">
- <xsl:value-of
select="@class"/>
- </xsl:when>
- <xsl:when test="position() mod
2 = 0">
-
<xsl:text>row_off</xsl:text>
- </xsl:when>
- <xsl:otherwise>
-
<xsl:text>row_on</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- <td align="left">
- <xsl:value-of select="file_name"/>
- </td>
- <td>
- <xsl:value-of select="descr"/>
- </td>
- <td align = 'center'>
- <xsl:value-of select="pre_commit"/>
- </td>
- <td align = 'center'>
- <xsl:value-of select="client_side"/>
- </td>
- <td align = 'center'>
- <xsl:value-of select="active"/>
- </td>
- <td>
- <table align="left">
- <tr>
- <td>
- <xsl:value-of
select="sorting"/>
- </td>
+ <tr>
+ <xsl:attribute name="class">
+ <xsl:choose>
+ <xsl:when test="@class">
+ <xsl:value-of select="@class"/>
+ </xsl:when>
+ <xsl:when test="position() mod 2 = 0">
+ <xsl:text>row_off</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>row_on</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:attribute>
+ <td align="left">
+ <xsl:value-of select="file_name"/>
+ </td>
+ <td>
+ <xsl:value-of select="descr"/>
+ </td>
+ <td align = 'center'>
+ <xsl:value-of select="pre_commit"/>
+ </td>
+ <td align = 'center'>
+ <xsl:value-of select="client_side"/>
+ </td>
+ <td align = 'center'>
+ <xsl:value-of select="active"/>
+ </td>
+ <td>
+ <table align="left">
+ <tr>
+ <td>
+ <xsl:value-of select="sorting"/>
+ </td>
- <td align="left">
+ <td align="left">
<xsl:variable name="link_up">
<xsl:value-of
select="link_up"/>
</xsl:variable>
<a href="{$link_up}"
onMouseover="window.status='{$lang_up_text}';return true;"
onMouseout="window.status='';return true;">
<xsl:value-of
select="text_up"/>
</a>
- <xsl:text> |
</xsl:text>
+ <xsl:text> | </xsl:text>
<xsl:variable name="link_down">
<xsl:value-of
select="link_down"/>
</xsl:variable>
<a href="{$link_down}"
onMouseover="window.status='{$lang_down_text}';return true;"
onMouseout="window.status='';return true;">
<xsl:value-of
select="text_down"/>
</a>
- </td>
+ </td>
- </tr>
- </table>
- </td>
- <td align="center">
+ </tr>
+ </table>
+ </td>
+ <td align="center">
<xsl:variable name="link_edit">
<xsl:value-of select="link_edit"/>
</xsl:variable>
<a href="{$link_edit}"
onMouseover="window.status='{$lang_edit_text}';return true;"
onMouseout="window.status='';return true;">
<xsl:value-of select="text_edit"/>
</a>
- </td>
- <td align="center">
+ </td>
+ <td align="center">
<xsl:variable name="link_delete">
<xsl:value-of select="link_delete"/>
</xsl:variable>
<a href="{$link_delete}"
onMouseover="window.status='{$lang_delete_text}';return true;"
onMouseout="window.status='';return true;">
<xsl:value-of select="text_delete"/>
</a>
- </td>
- </tr>
+ </td>
+ </tr>
</xsl:template>
<!-- add custom_function / edit custom_function -->
<xsl:template match="edit_custom_function" xmlns:php="http://php.net/xsl">
- <div align="left">
+ <div align="left">
<form method="post" action="{form_action}">
- <table cellpadding="2" cellspacing="2" width="80%"
align="center">
- <xsl:choose>
- <xsl:when test="msgbox_data != ''">
- <tr>
- <td align="left" colspan="3">
- <xsl:call-template
name="msgbox"/>
- </td>
- </tr>
- </xsl:when>
- </xsl:choose>
+ <table cellpadding="2" cellspacing="2" width="80%"
align="center">
+ <xsl:choose>
+ <xsl:when test="msgbox_data != ''">
+ <tr>
+ <td align="left"
colspan="3">
+
<xsl:call-template name="msgbox"/>
+ </td>
+ </tr>
+ </xsl:when>
+ </xsl:choose>
- <tr>
- <td class="th_text" align="left">
- <xsl:value-of select="lang_appname"/>
- </td>
- <td class="th_text" align="left">
- <xsl:value-of select="appname"/>
- </td>
- </tr>
- <tr>
- <td class="th_text" align="left">
- <xsl:value-of select="lang_location"/>
- </td>
- <td class="th_text" align="left">
- <xsl:value-of select="location"/>
- </td>
- </tr>
- <xsl:choose>
- <xsl:when test="value_id != ''">
- <tr>
- <td valign="top">
- <xsl:value-of
select="lang_id"/>
- </td>
- <td>
- <xsl:value-of
select="value_id"/>
- </td>
- </tr>
- </xsl:when>
- </xsl:choose>
- <tr>
- <td valign="top">
- <xsl:value-of select="lang_descr"/>
- </td>
- <td>
- <textarea cols="60" rows="10"
name="values[descr]" wrap="virtual" onMouseout="window.status='';return true;">
- <xsl:attribute
name="onMouseover">
-
<xsl:text>window.status='</xsl:text>
+ <tr>
+ <td class="th_text" align="left">
+ <xsl:value-of
select="lang_appname"/>
+ </td>
+ <td class="th_text" align="left">
+ <xsl:value-of select="appname"/>
+ </td>
+ </tr>
+ <tr>
+ <td class="th_text" align="left">
+ <xsl:value-of
select="lang_location"/>
+ </td>
+ <td class="th_text" align="left">
+ <xsl:value-of
select="location"/>
+ </td>
+ </tr>
+ <xsl:choose>
+ <xsl:when test="value_id != ''">
+ <tr>
+ <td valign="top">
+ <xsl:value-of
select="lang_id"/>
+ </td>
+ <td>
+ <xsl:value-of
select="value_id"/>
+ </td>
+ </tr>
+ </xsl:when>
+ </xsl:choose>
+ <tr>
+ <td valign="top">
+ <xsl:value-of
select="lang_descr"/>
+ </td>
+ <td>
+ <textarea cols="60" rows="10"
name="values[descr]" wrap="virtual" onMouseout="window.status='';return true;">
+ <xsl:attribute
name="onMouseover">
+
<xsl:text>window.status='</xsl:text>
<xsl:value-of
select="lang_descr_custom_functiontext"/>
- <xsl:text>'; return
true;</xsl:text>
- </xsl:attribute>
- <xsl:value-of
select="value_descr"/>
- </textarea>
+ <xsl:text>';
return true;</xsl:text>
+ </xsl:attribute>
+ <xsl:value-of
select="value_descr"/>
+ </textarea>
- </td>
- </tr>
- <tr>
- <td valign="top">
- <xsl:value-of
select="lang_custom_function"/>
- </td>
- <td valign="top">
- <select
name="values[custom_function_file]" class="forms">
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">
+ <xsl:value-of
select="lang_custom_function"/>
+ </td>
+ <td valign="top">
+ <select
name="values[custom_function_file]" class="forms">
<option value="">
<xsl:value-of
select="lang_no_custom_function"/>
</option>
- <xsl:apply-templates
select="custom_function_list"/>
- </select>
- </td>
- </tr>
- <tr>
- <td>
- <xsl:value-of select="lang_active"/>
- </td>
- <td>
- <xsl:choose>
+ <xsl:apply-templates
select="custom_function_list"/>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <xsl:value-of
select="lang_active"/>
+ </td>
+ <td>
+ <xsl:choose>
<xsl:when
test="value_active = 1">
<input
type="checkbox" name="values[active]" value="1" checked="checked"
onMouseout="window.status='';return true;">
<xsl:attribute name="onMouseover">
<xsl:text>window.status='</xsl:text>
-
<xsl:value-of select="lang_active_statustext"/>
+
<xsl:value-of select="lang_active_statustext"/>
<xsl:text>'; return true;</xsl:text>
</xsl:attribute>
</input>
@@ -958,64 +1016,64 @@
<input
type="checkbox" name="values[active]" value="1"
onMouseout="window.status='';return true;">
<xsl:attribute name="onMouseover">
<xsl:text>window.status='</xsl:text>
-
<xsl:value-of select="lang_active_statustext"/>
+
<xsl:value-of select="lang_active_statustext"/>
<xsl:text>'; return true;</xsl:text>
</xsl:attribute>
</input>
</xsl:otherwise>
- </xsl:choose>
- </td>
- </tr>
- <tr>
- <td>
- <xsl:value-of
select="php:function('lang', 'pre commit')"/>
- </td>
- <td>
- <input type="checkbox"
name="values[pre_commit]" value="1">
- <xsl:attribute name="title">
- <xsl:text>otherwise:
post commit</xsl:text>
- </xsl:attribute>
- <xsl:if test="value_pre_commit
= '1'">
- <xsl:attribute
name="checked">
-
<xsl:text>checked</xsl:text>
- </xsl:attribute>
- </xsl:if>
- </input>
- </td>
- </tr>
- <tr>
- <td>
- <xsl:value-of
select="php:function('lang', 'client-side')"/>
- </td>
- <td>
- <input type="checkbox"
name="values[client_side]" value="1">
- <xsl:attribute name="title">
- <xsl:text>otherwise:
server-side</xsl:text>
- </xsl:attribute>
- <xsl:if test="value_client_side
= '1'">
- <xsl:attribute
name="checked">
-
<xsl:text>checked</xsl:text>
- </xsl:attribute>
- </xsl:if>
- </input>
- </td>
- </tr>
- <tr height="50">
- <td>
+ </xsl:choose>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <xsl:value-of
select="php:function('lang', 'pre commit')"/>
+ </td>
+ <td>
+ <input type="checkbox"
name="values[pre_commit]" value="1">
+ <xsl:attribute
name="title">
+
<xsl:text>otherwise: post commit</xsl:text>
+ </xsl:attribute>
+ <xsl:if
test="value_pre_commit = '1'">
+ <xsl:attribute
name="checked">
+
<xsl:text>checked</xsl:text>
+ </xsl:attribute>
+ </xsl:if>
+ </input>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <xsl:value-of
select="php:function('lang', 'client-side')"/>
+ </td>
+ <td>
+ <input type="checkbox"
name="values[client_side]" value="1">
+ <xsl:attribute
name="title">
+
<xsl:text>otherwise: server-side</xsl:text>
+ </xsl:attribute>
+ <xsl:if
test="value_client_side = '1'">
+ <xsl:attribute
name="checked">
+
<xsl:text>checked</xsl:text>
+ </xsl:attribute>
+ </xsl:if>
+ </input>
+ </td>
+ </tr>
+ <tr height="50">
+ <td>
<xsl:variable name="lang_save">
<xsl:value-of
select="lang_save"/>
</xsl:variable>
- <input type="submit"
name="values[save]" value="{$lang_save}" onMouseout="window.status='';return
true;">
- <xsl:attribute
name="onMouseover">
-
<xsl:text>window.status='</xsl:text>
+ <input type="submit"
name="values[save]" value="{$lang_save}" onMouseout="window.status='';return
true;">
+ <xsl:attribute
name="onMouseover">
+
<xsl:text>window.status='</xsl:text>
<xsl:value-of
select="lang_save_custom_functiontext"/>
- <xsl:text>'; return
true;</xsl:text>
- </xsl:attribute>
- </input>
- </td>
- </tr>
- </table>
- </form>
+ <xsl:text>';
return true;</xsl:text>
+ </xsl:attribute>
+ </input>
+ </td>
+ </tr>
+ </table>
+ </form>
<table cellpadding="2" cellspacing="2" width="80%"
align="center">
<tr>
<td>
@@ -1029,7 +1087,7 @@
<input type="submit"
name="done" value="{$lang_done}" onMouseout="window.status='';return true;">
<xsl:attribute
name="onMouseover">
<xsl:text>window.status='</xsl:text>
-
<xsl:value-of select="lang_done_custom_functiontext"/>
+ <xsl:value-of
select="lang_done_custom_functiontext"/>
<xsl:text>';
return true;</xsl:text>
</xsl:attribute>
</input>
@@ -1037,7 +1095,7 @@
</td>
</tr>
</table>
- </div>
+ </div>
</xsl:template>
@@ -1048,18 +1106,18 @@
<xsl:variable name="id">
<xsl:value-of select="id"/>
</xsl:variable>
- <xsl:choose>
- <xsl:when test="selected">
+ <xsl:choose>
+ <xsl:when test="selected">
<option value="{$id}" selected="selected">
<xsl:value-of disable-output-escaping="yes"
select="name"/>
</option>
- </xsl:when>
- <xsl:otherwise>
+ </xsl:when>
+ <xsl:otherwise>
<option value="{$id}">
<xsl:value-of disable-output-escaping="yes"
select="name"/>
</option>
- </xsl:otherwise>
- </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:template>
<!-- datatype_list -->
@@ -1068,29 +1126,29 @@
<xsl:variable name="id">
<xsl:value-of select="id"/>
</xsl:variable>
- <xsl:choose>
- <xsl:when test="selected">
+ <xsl:choose>
+ <xsl:when test="selected">
<option value="{$id}" selected="selected">
<xsl:value-of disable-output-escaping="yes"
select="name"/>
</option>
- </xsl:when>
- <xsl:otherwise>
+ </xsl:when>
+ <xsl:otherwise>
<option value="{$id}">
<xsl:value-of disable-output-escaping="yes"
select="name"/>
</option>
- </xsl:otherwise>
- </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:template>
<!-- custom_function_list -->
<xsl:template match="custom_function_list">
- <option value="{id}">
- <xsl:if test="selected = 1">
- <xsl:attribute name="selected" value="selected"
/>
- </xsl:if>
- <xsl:value-of disable-output-escaping="yes"
select="name"/>
- </option>
+ <option value="{id}">
+ <xsl:if test="selected = 1">
+ <xsl:attribute name="selected" value="selected" />
+ </xsl:if>
+ <xsl:value-of disable-output-escaping="yes" select="name"/>
+ </option>
</xsl:template>
<!-- nullable_list -->
@@ -1099,41 +1157,41 @@
<xsl:variable name="id">
<xsl:value-of select="id"/>
</xsl:variable>
- <xsl:choose>
- <xsl:when test="selected">
+ <xsl:choose>
+ <xsl:when test="selected">
<option value="{$id}" selected="selected">
<xsl:value-of disable-output-escaping="yes"
select="name"/>
</option>
- </xsl:when>
- <xsl:otherwise>
+ </xsl:when>
+ <xsl:otherwise>
<option value="{$id}">
<xsl:value-of disable-output-escaping="yes"
select="name"/>
</option>
- </xsl:otherwise>
- </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:template>
<xsl:template name="choice" xmlns:php="http://php.net/xsl">
- <table cellpadding="2" cellspacing="2" width="80%"
align="left">
- <xsl:choose>
- <xsl:when test="value_choice!=''">
- <tr class="th">
- <td class="th_text" width="5%"
align="left">
- <xsl:value-of
select="php:function('lang', 'id')" />
- </td>
- <td class="th_text" width="40%"
align="left">
- <xsl:value-of
select="php:function('lang', 'value')" />
- </td>
- <td class="th_text" width="40%"
align="left">
- <xsl:value-of
select="php:function('lang', 'title')" />
- </td>
- <td class="th_text" width="5%"
align="left">
- <xsl:value-of
select="php:function('lang', 'order')" />
- </td>
- <td class="th_text" width="10%"
align="center">
- <xsl:value-of
select="lang_delete_value"/>
- </td>
- </tr>
+ <table cellpadding="2" cellspacing="2" width="80%" align="left">
+ <xsl:choose>
+ <xsl:when test="value_choice!=''">
+ <tr class="th">
+ <td class="th_text" width="5%"
align="left">
+ <xsl:value-of
select="php:function('lang', 'id')" />
+ </td>
+ <td class="th_text" width="40%"
align="left">
+ <xsl:value-of
select="php:function('lang', 'value')" />
+ </td>
+ <td class="th_text" width="40%"
align="left">
+ <xsl:value-of
select="php:function('lang', 'title')" />
+ </td>
+ <td class="th_text" width="5%"
align="left">
+ <xsl:value-of
select="php:function('lang', 'order')" />
+ </td>
+ <td class="th_text" width="10%"
align="center">
+ <xsl:value-of
select="lang_delete_value"/>
+ </td>
+ </tr>
<xsl:for-each select="value_choice" >
<tr>
<xsl:attribute name="class">
@@ -1149,71 +1207,71 @@
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
- <td align="left">
- <xsl:value-of select="id"/>
- </td>
- <td align="left">
- <input type="textbox"
name="values[edit_choice][{id}]" value="{value}" size='15'>
- <xsl:attribute
name="title">
- <xsl:value-of
select="php:function('lang', 'value')" />
- </xsl:attribute>
- </input>
- </td>
- <td align="left">
- <input type="textbox"
name="values[title_choice][{id}]" value="{title}" size='15'>
- <xsl:attribute
name="title">
- <xsl:value-of
select="php:function('lang', 'value')" />
- </xsl:attribute>
- </input>
- </td>
- <td align="center">
- <input type="textbox"
name="values[order_choice][{id}]" value="{order}" size='4'>
- <xsl:attribute
name="title">
- <xsl:value-of
select="php:function('lang', 'order')" />
- </xsl:attribute>
- </input>
- </td>
- <td align="center">
- <input type="checkbox"
name="values[delete_choice][]" value="{id}">
- <xsl:attribute
name="onMouseover">
-
<xsl:text>window.status='</xsl:text>
+ <td align="left">
+ <xsl:value-of
select="id"/>
+ </td>
+ <td align="left">
+ <input type="textbox"
name="values[edit_choice][{id}]" value="{value}" size='15'>
+ <xsl:attribute
name="title">
+
<xsl:value-of select="php:function('lang', 'value')" />
+ </xsl:attribute>
+ </input>
+ </td>
+ <td align="left">
+ <input type="textbox"
name="values[title_choice][{id}]" value="{title}" size='15'>
+ <xsl:attribute
name="title">
+
<xsl:value-of select="php:function('lang', 'value')" />
+ </xsl:attribute>
+ </input>
+ </td>
+ <td align="center">
+ <input type="textbox"
name="values[order_choice][{id}]" value="{order}" size='4'>
+ <xsl:attribute
name="title">
+
<xsl:value-of select="php:function('lang', 'order')" />
+ </xsl:attribute>
+ </input>
+ </td>
+ <td align="center">
+ <input type="checkbox"
name="values[delete_choice][]" value="{id}">
+ <xsl:attribute
name="onMouseover">
+
<xsl:text>window.status='</xsl:text>
<xsl:value-of select="//lang_delete_choice_statustext"/>
- <xsl:text>';
return true;</xsl:text>
- </xsl:attribute>
- </input>
- </td>
+
<xsl:text>'; return true;</xsl:text>
+ </xsl:attribute>
+ </input>
+ </td>
</tr>
</xsl:for-each>
- </xsl:when>
- </xsl:choose>
- <tr>
- <td valign="top" colspan='2'>
- <xsl:value-of select="lang_new_value"/>
- </td>
- <td valign="top">
- <input type="text"
name="values[new_choice_id]" size = '3'>
- <xsl:attribute name="title">
- <xsl:value-of
select="php:function('lang', 'new id for multiple choice')"/>
- </xsl:attribute>
- </input>
- </td>
- <td valign="top">
- <input type="text"
name="values[new_choice]" onMouseout="window.status='';return true;">
- <xsl:attribute
name="onMouseover">
-
<xsl:text>window.status='</xsl:text>
- <xsl:value-of
select="lang_new_value_statustext"/>
- <xsl:text>'; return
true;</xsl:text>
- </xsl:attribute>
- </input>
- </td>
- </tr>
- </table>
+ </xsl:when>
+ </xsl:choose>
+ <tr>
+ <td valign="top" colspan='2'>
+ <xsl:value-of select="lang_new_value"/>
+ </td>
+ <td valign="top">
+ <input type="text" name="values[new_choice_id]"
size = '3'>
+ <xsl:attribute name="title">
+ <xsl:value-of
select="php:function('lang', 'new id for multiple choice')"/>
+ </xsl:attribute>
+ </input>
+ </td>
+ <td valign="top">
+ <input type="text" name="values[new_choice]"
onMouseout="window.status='';return true;">
+ <xsl:attribute name="onMouseover">
+
<xsl:text>window.status='</xsl:text>
+ <xsl:value-of
select="lang_new_value_statustext"/>
+ <xsl:text>'; return
true;</xsl:text>
+ </xsl:attribute>
+ </input>
+ </td>
+ </tr>
+ </table>
</xsl:template>
<xsl:template match="options">
- <option value="{id}">
- <xsl:if test="selected != 0">
- <xsl:attribute name="selected" value="selected"
/>
- </xsl:if>
- <xsl:value-of disable-output-escaping="yes"
select="name"/>
- </option>
+ <option value="{id}">
+ <xsl:if test="selected != 0">
+ <xsl:attribute name="selected" value="selected" />
+ </xsl:if>
+ <xsl:value-of disable-output-escaping="yes" select="name"/>
+ </option>
</xsl:template>
Modified: branches/Version-2_0-branch/bim/inc/class.sobimitem.inc.php
===================================================================
--- branches/Version-2_0-branch/bim/inc/class.sobimitem.inc.php 2016-08-30
10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/bim/inc/class.sobimitem.inc.php 2016-08-30
11:14:07 UTC (rev 15542)
@@ -53,14 +53,14 @@
{
$itemTable = self::bimItemTable;
$typeTable = self::bimTypeTable;
- $sql = "SELECT $itemTable.id, fm_bim_type.name AS type,
$itemTable.guid, $itemTable.xml_representation " .
+ $sql = "SELECT $itemTable.id, fm_bim_type.name AS type,
$itemTable.guid, $itemTable.json_representation " .
"FROM public. $itemTable, public.$typeTable " .
"WHERE $itemTable.type =
$typeTable.id";
$bimItemArray = array();
$this->db->query($sql);
while($this->db->next_record())
{
- $bimItem = new BimItem($this->db->f('id'),
$this->db->f('guid'), $this->db->f('type'), $this->db->f('xml_representation',
true));
+ $bimItem = new BimItem($this->db->f('id'),
$this->db->f('guid'), $this->db->f('type'),
$this->db->f('json_representation'));
array_push($bimItemArray, $bimItem);
}
@@ -71,7 +71,7 @@
{
$itemTable = self::bimItemTable;
$typeTable = self::bimTypeTable;
- $sql = "SELECT $itemTable.id, fm_bim_type.name AS type,
$itemTable.guid, $itemTable.xml_representation, $itemTable.model " .
+ $sql = "SELECT $itemTable.id, fm_bim_type.name AS type,
$itemTable.guid, $itemTable.json_representation, $itemTable.model " .
"FROM public.$itemTable, public.$typeTable " .
"WHERE $itemTable.type = $typeTable.id
" .
"AND $itemTable.guid ='$bimObjectGuid'";
@@ -83,7 +83,7 @@
else
{
$this->db->next_record();
- return new BimItem($this->db->f('id'),
$this->db->f('guid'), $this->db->f('type'), $this->db->f('xml_representation',
true), $this->db->f('model'));
+ return new BimItem($this->db->f('id'),
$this->db->f('guid'), $this->db->f('type'),
$this->db->f('json_representation'), $this->db->f('model'));
}
}
@@ -100,7 +100,7 @@
$type = $this->db->f('type');
$id = $this->db->next_id('fm_bim_item', array('type' =>
$type));
- $sql = "INSERT INTO " . self::bimItemTable . " (type,
id, guid, xml_representation, model) values ($type, $id,";
+ $sql = "INSERT INTO " . self::bimItemTable . " (type,
id, guid, json_representation, model) values ($type, $id,";
// $sql = $sql."(select id from ".self::bimTypeTable." where name
= '".$bimItem->getType()."'),";
$sql = $sql . "'" . $bimItem->getGuid() . "', '" .
$this->db->db_addslashes($bimItem->getXml()) . "', " . $bimItem->getModelId() .
")";
try
@@ -164,7 +164,7 @@
{
throw new Exception("Item does not exist!");
}
- $sql = "Update " . self::bimItemTable . " set
xml_representation='" . $this->db->db_addslashes($bimItem->getXml()) . "' where
guid='" . $bimItem->getGuid() . "'";
+ $sql = "Update " . self::bimItemTable . " set
json_representation='" . $bimItem->getXml() . "' where guid='" .
$bimItem->getGuid() . "'";
if(is_null($this->db->query($sql, __LINE__, __FILE__)))
{
@@ -191,8 +191,8 @@
{
$columnAlias = "attribute_values";
$itemTable = self::bimItemTable;
- //$sql = "select
xpath('descendant-or-self::*[$attribute]/$attribute/text()', (select
xml_representation from fm_bim_data where guid='$bimItemGuid'))";
- $sql = "select
array_to_string(xpath('descendant-or-self::*[$attribute]/$attribute/text()',
(select xml_representation from $itemTable where guid='$bimItemGuid')), ',') as
$columnAlias";
+ //$sql = "select
xpath('descendant-or-self::*[$attribute]/$attribute/text()', (select
json_representation from fm_bim_data where guid='$bimItemGuid'))";
+ $sql = "select
array_to_string(xpath('descendant-or-self::*[$attribute]/$attribute/text()',
(select json_representation from $itemTable where guid='$bimItemGuid')), ',')
as $columnAlias";
$this->db->query($sql, __LINE__, __FILE__);
if($this->db->num_rows() == 0)
{
Modified: branches/Version-2_0-branch/bim/setup/setup.inc.php
===================================================================
--- branches/Version-2_0-branch/bim/setup/setup.inc.php 2016-08-30 10:38:55 UTC
(rev 15541)
+++ branches/Version-2_0-branch/bim/setup/setup.inc.php 2016-08-30 11:14:07 UTC
(rev 15542)
@@ -11,7 +11,7 @@
* @version $Id: setup.inc.php 6982 2011-02-14 20:01:17Z sigurdne $
*/
$setup_info['bim']['name'] = 'bim';
- $setup_info['bim']['version'] = '0.9.17.510';
+ $setup_info['bim']['version'] = '0.9.17.511';
$setup_info['bim']['app_order'] = 8;
$setup_info['bim']['enable'] = 1;
$setup_info['bim']['app_group'] = 'office';
Modified: branches/Version-2_0-branch/bim/setup/tables_current.inc.php
===================================================================
--- branches/Version-2_0-branch/bim/setup/tables_current.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/bim/setup/tables_current.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -50,7 +50,7 @@
'id' => array('type' => 'int', 'precision' =>
4, 'nullable' => False),
'type' => array('type' => 'int', 'precision' =>
4, 'nullable' => False),
'guid' => array('type' => 'varchar',
'precision' => 50, 'nullable' => False),
- 'xml_representation' => array('type' => 'xml',
'nullable' => False),
+ 'json_representation' => array('type' =>
'jsonb', 'nullable' => False),
'model' => array('type' => 'int', 'precision'
=> 4, 'nullable' => False),
'p_location_id' => array('type' => 'int',
'precision' => '4', 'nullable' => True),
'p_id' => array('type' => 'int', 'precision' =>
'4', 'nullable' => True),
Modified: branches/Version-2_0-branch/bim/setup/tables_update.inc.php
===================================================================
--- branches/Version-2_0-branch/bim/setup/tables_update.inc.php 2016-08-30
10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/bim/setup/tables_update.inc.php 2016-08-30
11:14:07 UTC (rev 15542)
@@ -253,4 +253,54 @@
$GLOBALS['setup_info']['bim']['currentver'] =
'0.9.17.510';
return $GLOBALS['setup_info']['bim']['currentver'];
}
- }
\ No newline at end of file
+ }
+ /**
+ * Update bim version from 0.9.17.510 to 0.9.17.511
+ */
+ $test[] = '0.9.17.510';
+
+ function bim_upgrade0_9_17_510()
+ {
+ $GLOBALS['phpgw_setup']->oProc->m_odb->transaction_begin();
+
+ $GLOBALS['phpgw_setup']->oProc->AddColumn('fm_bim_item',
'json_representation', array(
+ 'type' => 'jsonb', 'nullable' => true));
+
+ $GLOBALS['phpgw_setup']->oProc->query("SELECT
id,location_id,xml_representation FROM fm_bim_item", __LINE__, __FILE__);
+
+ $items = array();
+ while($GLOBALS['phpgw_setup']->oProc->next_record())
+ {
+ $items[] = array
+ (
+ 'id' =>
(int)$GLOBALS['phpgw_setup']->oProc->f('id'),
+ 'location_id' =>
(int)$GLOBALS['phpgw_setup']->oProc->f('location_id'),
+ 'xml_representation' =>
$GLOBALS['phpgw_setup']->oProc->f('xml_representation', true),
+ );
+ }
+
+ $xmlparse = CreateObject('property.XmlToArray');
+ $xmlparse->setEncoding('UTF-8');
+ $xmlparse->setDecodesUTF8Automaticly(false);
+
+ foreach ($items as $item)
+ {
+ $xmldata = $item['xml_representation'];
+ $var_result = $xmlparse->parse($xmldata);
+
+ $jsondata = json_encode($var_result, JSON_HEX_APOS);
+ $GLOBALS['phpgw_setup']->oProc->query("UPDATE
fm_bim_item SET json_representation = '{$jsondata}'"
+ . " WHERE id = {$item['id']} AND location_id =
{$item['location_id']}", __LINE__, __FILE__);
+ }
+
+ $GLOBALS['phpgw_setup']->oProc->AlterColumn('fm_bim_item',
'json_representation', array(
+ 'type' => 'jsonb', 'nullable' => False));
+
+ $GLOBALS['phpgw_setup']->oProc->DropColumn('fm_bim_item',
array(), 'xml_representation');
+
+ if($GLOBALS['phpgw_setup']->oProc->m_odb->transaction_commit())
+ {
+ $GLOBALS['setup_info']['bim']['currentver'] =
'0.9.17.511';
+ return $GLOBALS['setup_info']['bim']['currentver'];
+ }
+ }
Property changes on: branches/Version-2_0-branch/booking
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/stavangerkommune/booking:9468-12740,12743-12875,12986
/trunk/booking:14721-14732,14824-14825,14827-14829,14831-14834,14836,14838,14840-14842,14844-14845,14871,14886-14896,14900-14902,14917-14919,14924-14978,14980-15258,15266-15285,15287-15288,15297,15299-15305,15307-15310,15312-15335,15337-15352,15354
+ /branches/stavangerkommune/booking:9468-12740,12743-12875,12986
/trunk/booking:14721-14732,14824-14825,14827-14829,14831-14834,14836,14838,14840-14842,14844-14845,14871,14886-14896,14900-14902,14917-14919,14924-14978,14980-15258,15266-15285,15287-15288,15297,15299-15305,15307-15310,15312-15335,15337-15352,15354,15360-15541
Modified: branches/Version-2_0-branch/booking/inc/class.socommon.inc.php
===================================================================
--- branches/Version-2_0-branch/booking/inc/class.socommon.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/booking/inc/class.socommon.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -4,6 +4,8 @@
abstract class booking_socommon
{
+ protected $db;
+ protected $db2;
protected $db_null = 'NULL';
protected $valid_field_types = array(
'date' => true,
@@ -41,6 +43,7 @@
$this->table_name = $table_name;
$this->fields = $fields;
$this->db = $GLOBALS['phpgw']->db;
+ $this->db2 = clone($GLOBALS['phpgw']->db);
$this->join = & $this->db->join;
$this->like = & $this->db->like;
}
@@ -293,7 +296,7 @@
{
if (!$id)
{
- return null;
+ return array();
}
$row = array();
$pk_params = $this->primary_key_conditions($id);
@@ -325,9 +328,9 @@
$order_method =
"ORDER BY {$params['manytomany']['order']['sort']}
{$params['manytomany']['order']['dir']}";
}
-
$this->db->query("SELECT {$column} FROM {$table} WHERE {$key}={$id}
{$order_method}", __LINE__, __FILE__);
+
$this->db2->query("SELECT {$column} FROM {$table} WHERE {$key}={$id}
{$order_method}", __LINE__, __FILE__);
$row[$field] = array();
- while
($this->db->next_record())
+ while
($this->db2->next_record())
{
$data = array();
foreach
($params['manytomany']['column'] as $intOrCol => $paramsOrCol)
@@ -343,7 +346,7 @@
$type = $params['type'];
}
-
$data[$col] = $this->_unmarshal($this->db->f($col, false), $type);
+
$data[$col] = $this->_unmarshal($this->db2->f($col, false), $type);
}
$row[$field][]
= $data;
}
@@ -351,11 +354,11 @@
else
{
$column =
$params['manytomany']['column'];
-
$this->db->query("SELECT $column FROM $table WHERE $key=$id", __LINE__,
__FILE__);
+
$this->db2->query("SELECT $column FROM $table WHERE $key=$id", __LINE__,
__FILE__);
$row[$field] = array();
- while
($this->db->next_record())
+ while
($this->db2->next_record())
{
- $row[$field][]
= $this->_unmarshal($this->db->f($column, false), $params['type']);
+ $row[$field][]
= $this->_unmarshal($this->db2->f($column, false), $params['type']);
}
}
}
@@ -821,10 +824,24 @@
}
}
}
+ if ($this->db->get_transaction())
+ {
+ $this->global_lock = true;
+ }
+ else
+ {
+ $this->db->transaction_begin();
+ }
+
foreach ($update_queries as $update_query)
{
$this->db->query($update_query, __LINE__,
__FILE__);
}
+
+ if (!$this->global_lock)
+ {
+ $this->db->transaction_commit();
+ }
$receipt['id'] = $id;
$receipt['message'][] = array('msg' => lang('Entity %1
has been updated', $entry['id']));
return $receipt;
Modified: branches/Version-2_0-branch/booking/inc/class.uiapplication.inc.php
===================================================================
--- branches/Version-2_0-branch/booking/inc/class.uiapplication.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/booking/inc/class.uiapplication.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -665,7 +665,7 @@
}
catch
(booking_unauthorized_exception $e)
{
-
phpgwapi_cache::message_set(lang('Could not add object due to insufficient
permissions'));
+
phpgwapi_cache::message_set(lang('Could not add object due to insufficient
permissions'),'error');
}
}
@@ -1082,7 +1082,7 @@
if ($old_file['name']
== $files['name']['name'])
{
$file_exist =
true;
-
phpgwapi_cache::message_set(lang('file exists'));
+
phpgwapi_cache::message_set(lang('file exists'),'error');
break;
}
}
@@ -1104,7 +1104,7 @@
}
catch
(booking_unauthorized_exception $e)
{
-
phpgwapi_cache::message_set(lang('Could not add object due to insufficient
permissions'));
+
phpgwapi_cache::message_set(lang('Could not add object due to insufficient
permissions'),'error');
}
}
Modified: branches/Version-2_0-branch/controller/inc/class.socase.inc.php
===================================================================
--- branches/Version-2_0-branch/controller/inc/class.socase.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/controller/inc/class.socase.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -51,7 +51,7 @@
return self::$so;
}
- function get_query( string $sort_field, boolean $ascending,
string $search_for, string $search_type, array $filters, boolean $return_count )
+ function get_query( string $sort_field, bool $ascending, string
$search_for, string $search_type, array $filters, bool $return_count )
{
}
Modified: branches/Version-2_0-branch/controller/inc/class.socheck_item.inc.php
===================================================================
--- branches/Version-2_0-branch/controller/inc/class.socheck_item.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/controller/inc/class.socheck_item.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -497,7 +497,7 @@
}
*/
- function get_query( string $sort_field, boolean $ascending,
string $search_for, string $search_type, array $filters, boolean $return_count )
+ function get_query( string $sort_field, bool $ascending, string
$search_for, string $search_type, array $filters, bool $return_count )
{
}
Modified: branches/Version-2_0-branch/controller/inc/class.socheck_list.inc.php
===================================================================
--- branches/Version-2_0-branch/controller/inc/class.socheck_list.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/controller/inc/class.socheck_list.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -715,7 +715,7 @@
return array("location_code" => $location_code,
"check_lists_array" => $check_lists_array);
}
- function get_query( string $sort_field, boolean $ascending,
string $search_for, string $search_type, array $filters, boolean $return_count )
+ function get_query( string $sort_field, bool $ascending, string
$search_for, string $search_type, array $filters, bool $return_count )
{
$current_time = time();
$buffer_in_days = 3600 * 24 * 7 * 5;
Modified: branches/Version-2_0-branch/controller/inc/class.socommon.inc.php
===================================================================
--- branches/Version-2_0-branch/controller/inc/class.socommon.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/controller/inc/class.socommon.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -92,11 +92,11 @@
{
if ($type == 'bool')
{
- return (boolean)$value;
+ return (bool)$value;
}
else if ($type == 'boolean')
{
- return (boolean)$value;
+ return (bool)$value;
}
else if ($type == 'int')
{
@@ -150,7 +150,7 @@
*/
public function get_single( int $id )
{
- $objects = $this->get(null, null, null, null, null,
null, array($this->get_id_field_name() => $id));
+ $objects = $this->get(0, 0, '', false, '', '',
array($this->get_id_field_name() => $id));
if (count($objects) > 0)
{
$keys = array_keys($objects);
@@ -173,7 +173,7 @@
* @param $start_index int with index of first object.
* @param $num_of_objects int with max number of objects to
return.
* @param $sort_field string representing the object field to
sort on.
- * @param $ascending boolean true for ascending sort on sort
field, false
+ * @param $ascending bool true for ascending sort on sort
field, false
* for descending.
* @param $search_for string with free text search query.
* @param $search_type string with the query type.
@@ -181,7 +181,7 @@
* @return array of objects. May return an empty
* array, never null. The array keys are the respective index
numbers.
*/
- public function get( int $start_index, int $num_of_objects,
string $sort_field, boolean $ascending, string $search_for, string
$search_type, array $filters )
+ public function get( int $start_index, int $num_of_objects,
string $sort_field, bool $ascending, string $search_for, string $search_type,
array $filters )
{
$results = array(); // Array to store result objects
$map = array(); // Array to hold number of records per
target object
@@ -309,7 +309,7 @@
*/
public function get_count( string $search_for, string
$search_type, array $filters )
{
- return $this->get_query_count($this->get_query(null,
null, $search_for, $search_type, $filters, true));
+ return $this->get_query_count($this->get_query('',
false, $search_for, $search_type, $filters, true));
}
/**
@@ -326,16 +326,16 @@
* @param $start_index int with index of first object.
* @param $num_of_objects int with max number of objects to
return.
* @param $sort_field string representing the object field to
sort on.
- * @param $ascending boolean true for ascending sort on sort
field, false
+ * @param $ascending bool true for ascending sort on sort
field, false
* for descending.
* @param $search_for string with free text search query.
* @param $search_type string with the query type.
* @param $filters array with key => value of filters.
- * @param $return_count boolean telling to return only the
count of the
+ * @param $return_count bool telling to return only the count
of the
* matching objects, or the objects themself.
* @return string with SQL.
*/
- protected abstract function get_query( string $sort_field,
boolean $ascending, string $search_for, string $search_type, array $filters,
boolean $return_count );
+ protected abstract function get_query( string $sort_field, bool
$ascending, string $search_for, string $search_type, array $filters, bool
$return_count );
protected abstract function populate( int $object_id, &$object
);
Modified: branches/Version-2_0-branch/controller/inc/class.socontrol.inc.php
===================================================================
--- branches/Version-2_0-branch/controller/inc/class.socontrol.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/controller/inc/class.socontrol.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -84,7 +84,7 @@
* Update the database values for an existing control object.
*
* @param $control the control to be updated
- * @return boolean true if successful, false otherwise
+ * @return bool true if successful, false otherwise
*/
function update( $control )
{
@@ -1151,7 +1151,8 @@
. " FROM controller_control_component_list"
. " {$this->db->join} controller_control ON
controller_control.id = controller_control_component_list.control_id"
. " {$this->db->left_join}
controller_control_serie ON (controller_control_component_list.id =
controller_control_serie.control_relation_id AND
controller_control_serie.control_relation_type = 'component')"
- . " WHERE location_id = {$location_id} AND
component_id = {$component_id}";
+ . " WHERE location_id = {$location_id} AND
component_id = {$component_id}"
+ . " ORDER BY repeat_type, repeat_interval";
// _debug_array($sql);
$this->db->query($sql, __LINE__, __FILE__);
@@ -1220,7 +1221,7 @@
return $ret;
}
- protected function get_query( string $sort_field, boolean
$ascending, string $search_for, string $search_type, array $filters, boolean
$return_count )
+ protected function get_query( string $sort_field, bool
$ascending, string $search_for, string $search_type, array $filters, bool
$return_count )
{
$clauses = array('1=1');
Modified:
branches/Version-2_0-branch/controller/inc/class.socontrol_group.inc.php
===================================================================
--- branches/Version-2_0-branch/controller/inc/class.socontrol_group.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/controller/inc/class.socontrol_group.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -262,7 +262,7 @@
return $ret;
}
- protected function get_query( string $sort_field, boolean
$ascending, string $search_for, string $search_type, array $filters, boolean
$return_count )
+ protected function get_query( string $sort_field, bool
$ascending, string $search_for, string $search_type, array $filters, bool
$return_count )
{
$clauses = array('1=1');
if ($search_for)
Modified:
branches/Version-2_0-branch/controller/inc/class.socontrol_group_list.inc.php
===================================================================
---
branches/Version-2_0-branch/controller/inc/class.socontrol_group_list.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++
branches/Version-2_0-branch/controller/inc/class.socontrol_group_list.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -88,7 +88,7 @@
* Update the database values for an existing
control_group_list object.
*
* @param $control_group_list the control_group_list to be
updated
- * @return boolean true if successful, false otherwise
+ * @return bool true if successful, false otherwise
*/
function update( $control_group_list )
{
@@ -240,7 +240,7 @@
return $control_group_list;
}
- protected function get_query( string $sort_field, boolean
$ascending, string $search_for, string $search_type, array $filters, boolean
$return_count )
+ protected function get_query( string $sort_field, bool
$ascending, string $search_for, string $search_type, array $filters, bool
$return_count )
{
}
Modified:
branches/Version-2_0-branch/controller/inc/class.socontrol_item.inc.php
===================================================================
--- branches/Version-2_0-branch/controller/inc/class.socontrol_item.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/controller/inc/class.socontrol_item.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -95,7 +95,7 @@
* Update the database values for an existing control item
object.
*
* @param $control item object to be updated
- * @return boolean true if successful, false otherwise
+ * @return bool true if successful, false otherwise
*/
function update( $control_item )
{
@@ -237,7 +237,7 @@
{
$control_item = new
controller_control_item($this->unmarshal($this->db->f('id'), 'int'));
$control_item->set_title($this->unmarshal($this->db->f('title', true),
'string'));
-
$control_item->set_required($this->unmarshal($this->db->f('required', true),
'boolean'));
+
$control_item->set_required($this->unmarshal($this->db->f('required', true),
'bool'));
$control_item->set_type($this->unmarshal($this->db->f('type', true), 'string'));
$control_item->set_what_to_do($this->unmarshal($this->db->f('what_to_do',
true), 'string'));
$control_item->set_how_to_do($this->unmarshal($this->db->f('how_to_do', true),
'string'));
@@ -269,7 +269,7 @@
return $ret;
}
- protected function get_query( string $sort_field, boolean
$ascending, string $search_for, string $search_type, array $filters, boolean
$return_count )
+ protected function get_query( string $sort_field, bool
$ascending, string $search_for, string $search_type, array $filters, bool
$return_count )
{
$clauses = array('1=1');
@@ -367,7 +367,7 @@
$control_item = new
controller_control_item((int)$control_item_id);
$control_item->set_title($this->unmarshal($this->db->f('title', true),
'string'));
-
$control_item->set_required($this->unmarshal($this->db->f('required', true),
'boolean'));
+
$control_item->set_required($this->unmarshal($this->db->f('required', true),
'bool'));
$control_item->set_what_to_do($this->unmarshal($this->db->f('what_to_do',
true), 'string'));
$control_item->set_how_to_do($this->unmarshal($this->db->f('how_to_do', true),
'string'));
$control_item->set_control_group_id($this->unmarshal($this->db->f('control_group_id'),
'int'));
@@ -425,7 +425,7 @@
//create check_item and add to return array
$control_item = new
controller_control_item($this->unmarshal($this->db->f('id'), 'int'));
$control_item->set_title($this->unmarshal($this->db->f('title', true),
'string'));
-
$control_item->set_required($this->unmarshal($this->db->f('required', true),
'boolean'));
+
$control_item->set_required($this->unmarshal($this->db->f('required', true),
'bool'));
$control_item->set_type($this->unmarshal($this->db->f('type', true), 'string'));
$control_item->set_what_to_do($this->unmarshal($this->db->f('what_to_do',
true), 'string'));
$control_item->set_how_to_do($this->unmarshal($this->db->f('how_to_do', true),
'string'));
Modified:
branches/Version-2_0-branch/controller/inc/class.socontrol_item_list.inc.php
===================================================================
---
branches/Version-2_0-branch/controller/inc/class.socontrol_item_list.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++
branches/Version-2_0-branch/controller/inc/class.socontrol_item_list.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -178,7 +178,7 @@
{
$control_item = new
controller_control_item($this->unmarshal($this->db->f('id'), 'int'));
$control_item->set_title($this->unmarshal($this->db->f('title', true),
'string'));
-
$control_item->set_required($this->unmarshal($this->db->f('required'),
'boolean'));
+
$control_item->set_required($this->unmarshal($this->db->f('required'), 'bool'));
$control_item->set_what_to_do($this->unmarshal($this->db->f('what_to_do',
true), 'string'));
$control_item->set_how_to_do($this->unmarshal($this->db->f('how_to_do', true),
'string'));
$control_item->set_control_group_id($this->unmarshal($this->db->f('control_group_id'),
'int'));
@@ -213,7 +213,7 @@
{
$control_item = new
controller_control_item($this->unmarshal($this->db->f('id'), 'int'));
$control_item->set_title($this->unmarshal($this->db->f('title', true),
'string'));
-
$control_item->set_required($this->unmarshal($this->db->f('required'),
'boolean'));
+
$control_item->set_required($this->unmarshal($this->db->f('required'), 'bool'));
$control_item->set_what_to_do($this->unmarshal($this->db->f('what_to_do',
true), 'string'));
$control_item->set_how_to_do($this->unmarshal($this->db->f('how_to_do', true),
'string'));
$control_item->set_control_group_id($this->unmarshal($this->db->f('control_group_id'),
'int'));
@@ -261,7 +261,7 @@
{
$control_item = new
controller_control_item($this->unmarshal($this->db->f('id'), 'int'));
$control_item->set_title($this->unmarshal($this->db->f('title', true),
'string'));
-
$control_item->set_required($this->unmarshal($this->db->f('required'),
'boolean'));
+
$control_item->set_required($this->unmarshal($this->db->f('required'), 'bool'));
$control_item->set_what_to_do($this->unmarshal($this->db->f('what_to_do',
true), 'string'));
$control_item->set_how_to_do($this->unmarshal($this->db->f('how_to_do', true),
'string'));
$control_item->set_control_group_id($this->unmarshal($this->db->f('control_group_id'),
'int'));
@@ -329,7 +329,7 @@
$control_item = new
controller_control_item($this->unmarshal($this->db->f('ci_id'), 'int'));
$control_item->set_title($this->unmarshal($this->db->f('title', true),
'string'));
-
$control_item->set_required($this->unmarshal($this->db->f('required'),
'boolean'));
+
$control_item->set_required($this->unmarshal($this->db->f('required'), 'bool'));
$control_item->set_what_to_do($this->unmarshal($this->db->f('what_to_do',
true), 'string'));
$control_item->set_how_to_do($this->unmarshal($this->db->f('how_to_do', true),
'string'));
$control_item->set_control_group_id($this->unmarshal($this->db->f('control_group_id'),
'int'));
@@ -433,7 +433,7 @@
}
- protected function get_query( string $sort_field, boolean
$ascending, string $search_for, string $search_type, array $filters, boolean
$return_count )
+ protected function get_query( string $sort_field, bool
$ascending, string $search_for, string $search_type, array $filters, bool
$return_count )
{
}
Modified:
branches/Version-2_0-branch/controller/inc/class.socontrol_item_option.inc.php
===================================================================
---
branches/Version-2_0-branch/controller/inc/class.socontrol_item_option.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++
branches/Version-2_0-branch/controller/inc/class.socontrol_item_option.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -136,7 +136,7 @@
}
- function get_query( string $sort_field, boolean $ascending,
string $search_for, string $search_type, array $filters, boolean $return_count )
+ function get_query( string $sort_field, bool $ascending, string
$search_for, string $search_type, array $filters, bool $return_count )
{
}
Modified: branches/Version-2_0-branch/controller/inc/class.sodocument.inc.php
===================================================================
--- branches/Version-2_0-branch/controller/inc/class.sodocument.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/controller/inc/class.sodocument.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -70,7 +70,7 @@
return $ret;
}
- protected function get_query( string $sort_field, boolean
$ascending, string $search_for, string $search_type, array $filters, boolean
$return_count )
+ protected function get_query( string $sort_field, bool
$ascending, string $search_for, string $search_type, array $filters, bool
$return_count )
{
$clauses = array('1=1');
@@ -313,6 +313,12 @@
$path .= "/{$name}";
$file = array('string' => $path, RELATIVE_NONE);
+ return $vfs->cp(array(
+ 'from' =>
$temporary_name,
+ 'to' => $path,
+ 'relatives' =>
array(RELATIVE_NONE | VFS_REAL, RELATIVE_ALL))
+ );
+/*
return $vfs->write
(
array
@@ -322,6 +328,7 @@
'content' =>
file_get_contents($temporary_name)
)
);
+ */
}
public function read_document_from_vfs( string $document_type,
$id, $name )
@@ -352,10 +359,8 @@
$vfs = CreateObject('phpgwapi.vfs');
$vfs->override_acl = 1;
- return $vfs->rm
- (
- array
- (
+ return $vfs->rm(
+ array(
'string' => $path,
RELATIVE_NONE
)
@@ -364,6 +369,7 @@
public function delete_document( $id )
{
+ $id = (int)$id;
$sql = "DELETE FROM controller_document WHERE id =
{$id}";
$result = $this->db->query($sql, __LINE__, __FILE__);
Modified: branches/Version-2_0-branch/controller/inc/class.soprocedure.inc.php
===================================================================
--- branches/Version-2_0-branch/controller/inc/class.soprocedure.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/controller/inc/class.soprocedure.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -107,7 +107,7 @@
* Update the database values for an existing activity object.
*
* @param $activity the activity to be updated
- * @return boolean true if successful, false otherwise
+ * @return bool true if successful, false otherwise
*/
function update( $procedure )
{
@@ -454,7 +454,7 @@
return $ret;
}
- protected function get_query( string $sort_field, boolean
$ascending, string $search_for, string $search_type, array $filters, boolean
$return_count )
+ protected function get_query( string $sort_field, bool
$ascending, string $search_for, string $search_type, array $filters, bool
$return_count )
{
$clauses = array('1=1');
if ($search_for)
Modified: branches/Version-2_0-branch/controller/inc/class.uicomponent.inc.php
===================================================================
--- branches/Version-2_0-branch/controller/inc/class.uicomponent.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/controller/inc/class.uicomponent.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -302,12 +302,18 @@
'text' =>
lang('User'),
'list' =>
$user_list,
'onchange' =>
'update_table();'
- ),
+ ),/*
array('type' =>
'checkbox',
'name' =>
'user_only',
'text' =>
'Filtrer bruker',
'value' => 1,
'onclick' =>
'update_table();'
+ ),*/
+ array('type' =>
'checkbox',
+ 'name' =>
'all_users',
+ 'text' => 'Vis
totale timer',
+ 'value' => 1,
+ 'onclick' =>
'update_table();'
),
array('type' =>
'filter',
'name' =>
'district_id',
@@ -469,7 +475,9 @@
$query = phpgw::get_var('query', 'string');
$year = phpgw::get_var('year', 'int');
$all_items = phpgw::get_var('all_items', 'bool');
- $user_only = phpgw::get_var('user_only', 'bool');
+ $all_users = phpgw::get_var('all_users', 'bool');
+// $user_only = phpgw::get_var('user_only', 'bool');
+ $user_only = $all_users ? false : true;
$filter_status = phpgw::get_var('status', 'string');
$report_type = phpgw::get_var('report_type', 'string');
if ($filter_component_str =
phpgw::get_var('filter_component', 'string'))
@@ -837,6 +845,11 @@
if ($report_type == 'summary')
{
+ if($all_users)
+ {
+ $user_id = 0;
+ }
+
return array(
'components' => null,
'summary' =>
$this->get_summary($values, $user_id),
@@ -906,10 +919,10 @@
for ($_month = 1; $_month < 13; $_month++)
{
$row[$_month] =
$this->translate_calendar_info($entry[$_month], $year, $_month, $filter_status,
$found_at_least_one, $keep_only_assigned_to);
- if ($row[$_month] && (!$user_id ||
$entry[$_month]['info']['assigned_to'] == $user_id))
+ if(true)// ($row[$_month] && (!$user_id
|| $entry[$_month]['info']['assigned_to'] == $user_id))
{
- $row_sum[$_month] =
$entry[$_month]['info']['service_time'] +
$entry[$_month]['info']['controle_time'];
- $row_sum_actual[$_month] = +
$entry[$_month]['info']['billable_hours'];
+ $row_sum[$_month] =
(float)$entry[$_month]['info']['service_time'] +
(float)$entry[$_month]['info']['controle_time'];
+ $row_sum_actual[$_month] = +
(float)$entry[$_month]['info']['billable_hours'];
}
else
{
Modified: branches/Version-2_0-branch/controller/inc/class.uicontrol.inc.php
===================================================================
--- branches/Version-2_0-branch/controller/inc/class.uicontrol.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/controller/inc/class.uicontrol.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -903,6 +903,8 @@
'allrows' => phpgw::get_var('length', 'int') ==
-1,
);
+ $filters = array();
+ $search_type = '';
$ctrl_area = phpgw::get_var('control_areas');
if (isset($ctrl_area) && $ctrl_area > 0)
Modified:
branches/Version-2_0-branch/controller/inc/class.uicontrol_group.inc.php
===================================================================
--- branches/Version-2_0-branch/controller/inc/class.uicontrol_group.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/controller/inc/class.uicontrol_group.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -374,7 +374,7 @@
$building_part_options =
$this->so->get_building_part_select_array($control_group->get_building_part_id());
$control_group_array =
$control_group->toArray();
- $control_items_array =
$this->so_control_item->get(null, null,
'controller_control_item.control_area_id', true, null, null, array(
+ $control_items_array =
$this->so_control_item->get(0, 0, 'controller_control_item.control_area_id',
true, '', '', array(
'available' => 'yes'));
$control_items = array();
@@ -488,7 +488,7 @@
$building_part_options =
$this->so->get_building_part_select_array($control_group->get_building_part_id());
$control_group_array =
$control_group->toArray();
- $control_items_array =
$this->so_control_item->get(null, null,
'controller_control_item.control_area_id', true, null, null, array(
+ $control_items_array =
$this->so_control_item->get(0, 0, 'controller_control_item.control_area_id',
true, '', '', array(
'available' => 'yes'));
$control_items = array();
@@ -760,7 +760,9 @@
// YUI variables for paging and sorting
$start_index = $params['start'];
$num_of_objects = $params['results'] > 0 ?
$params['results'] : null;
- $sort_field = $params['order'];
+ $sort_field = ($params['order']) ? $params['order'] :
'';
+ $filters = array();
+ $search_type = '';
$ctrl_area = phpgw::get_var('control_areas');
if (isset($ctrl_area) && $ctrl_area > 0)
Modified:
branches/Version-2_0-branch/controller/inc/class.uicontrol_item.inc.php
===================================================================
--- branches/Version-2_0-branch/controller/inc/class.uicontrol_item.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/controller/inc/class.uicontrol_item.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -425,7 +425,8 @@
$num_of_objects = $params['results'] > 0 ?
$params['results'] : null;
$sort_field = $params['order'];
-
+ $search_type = '';
+ $filters = array();
$ctrl_area = phpgw::get_var('control_areas');
if (isset($ctrl_area) && $ctrl_area > 0)
{
Modified: branches/Version-2_0-branch/controller/inc/class.uidocument.inc.php
===================================================================
--- branches/Version-2_0-branch/controller/inc/class.uidocument.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/controller/inc/class.uidocument.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -280,13 +280,16 @@
else
{
// Handle failure on storing
document
- $this->redirect($document,
$document_propeties, '', '');
+ $this->redirect($document,
$document_properties, '', '');
}
}
else
{
+
$GLOBALS['phpgw']->redirect_link('/index.php', array('menuaction' =>
'controller.uidocument.show',
+ 'procedure_id' =>
$procedure->get_id(),
+ 'tab' => 'documents'));
//Handle vfs failure to store document
- $this->redirect($document,
$document_propeties, '', '');
+// $this->redirect($document,
$document_properties, '', '');
}
}
}
@@ -464,7 +467,7 @@
$msgbox_data =
$GLOBALS['phpgw']->common->msgbox($msgbox_data);
}
- $documents = $this->so->get(null, null, null,
null, null, null, array(
+ $documents = $this->so->get(0, 0, '', false,
'', '', array(
'procedure_id' => $procedure_id,
'type' => $document_type));
Modified: branches/Version-2_0-branch/controller/inc/class.uiprocedure.inc.php
===================================================================
--- branches/Version-2_0-branch/controller/inc/class.uiprocedure.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/controller/inc/class.uiprocedure.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -681,7 +681,8 @@
$start_index = $params['start'];
$num_of_objects = $params['results'] > 0 ?
$params['results'] : null;
- $sort_field = $params['order'];
+ $sort_field = ($params['order']) ? $params['order'] :
'';
+ $filters = array();
$ctrl_area = phpgw::get_var('control_areas');
if (isset($ctrl_area) && $ctrl_area > 0)
@@ -690,7 +691,7 @@
}
$sort_ascending = $params['sort'] == 'desc' ? false :
true;
// Form variables
- $search_type = phpgw::get_var('search_option');
+ $search_type = phpgw::get_var('search_option',
'string', 'REQUEST', '');
// Create an empty result set
$result_objects = array();
$result_count = 0;
Modified: branches/Version-2_0-branch/controller/inc/model/class.model.inc.php
===================================================================
--- branches/Version-2_0-branch/controller/inc/model/class.model.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/controller/inc/model/class.model.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -38,7 +38,7 @@
protected $field_of_responsibility_name;
protected $permission_array;
- public function __construct( int $id )
+ public function __construct( $id )
{
$this->id = (int)$id;
}
@@ -83,7 +83,7 @@
* in order to validate against the standard database rules.
The subclasses can in addition
* add their own specific validation logic.
*
- * @return boolean true if the object is valid, false otherwise
+ * @return bool true if the object is valid, false otherwise
*/
public function validates()
{
Modified: branches/Version-2_0-branch/controller/templates/base/component.xsl
===================================================================
--- branches/Version-2_0-branch/controller/templates/base/component.xsl
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/controller/templates/base/component.xsl
2016-08-30 11:14:07 UTC (rev 15542)
@@ -313,13 +313,14 @@
var report_type = $("#report_type").val();
var user_id = $("#user_id").val();
var custom_frontend =
$("[name='custom_frontend']").val();
+ var hide_all_users = false;
if(custom_frontend ==1)
{
$( "#user_id" ).hide();
$("[for='user_id']").hide();
}
-
+//console.log(user_id);
if(user_id < 0 || custom_frontend ==1)
{
$( "#entity_group_id" ).hide();
@@ -330,8 +331,9 @@
$("[for='all_items']").hide();
$( "#org_unit_id" ).hide();
$("[for='org_unit_id']").hide();
- $("[name='user_only']").hide();
- $("[for='user_only']").hide();
+ $("[name='all_users']").hide();
+ $("[for='all_users']").hide();
+ hide_all_users = true;
}
else
{
@@ -343,21 +345,30 @@
$("[for='all_items']").show();
$( "#org_unit_id" ).show();
$("[for='org_unit_id']").show();
- $("[name='user_only']").show();
- $("[for='user_only']").show();
+ $("[name='all_users']").show();
+ $("[for='all_users']").show();
}
- if(report_type == 'summary')
+ if(report_type != 'summary' && hide_all_users == false)
{
- $("[name='user_only']").hide();
- $("[for='user_only']").hide();
+ $("[name='all_users']").show();
+ $("[for='all_users']").show();
}
- else
+
+ if(user_id == '')
{
- $("[name='user_only']").show();
- $("[for='user_only']").show();
+ $("[name='all_users']").hide();
+ $("[for='all_users']").hide();
}
+ if(report_type == 'summary')
+ {
+ $("[name='all_items']").hide();
+ $("[for='all_items']").hide();
+ $("[name='status']").hide();
+ $("[for='status']").hide();
+ }
+
var requestUrl = $("#queryForm").attr("action");
requestUrl += '&phpgw_return_as=json' + "&" +
$("#queryForm").serialize();
Modified: branches/Version-2_0-branch/frontend/inc/class.bofellesdata.inc.php
===================================================================
--- branches/Version-2_0-branch/frontend/inc/class.bofellesdata.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/frontend/inc/class.bofellesdata.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -67,7 +67,11 @@
return false;
}
- $db = createObject('phpgwapi.db', null, null, true);
+// $db = createObject('phpgwapi.db', null, null, true);
+ /*
+ * pdo for oracle is deprecated for php7 - switch to
oci8/adodb
+ */
+ $db = createObject('phpgwapi.db_adodb', null, null,
true);
$db->debug =
!!$config->config_data['external_db_debug'];
$db->Host = $config->config_data['external_db_host'];
Modified: branches/Version-2_0-branch/helpdesk/inc/class.botts.inc.php
===================================================================
--- branches/Version-2_0-branch/helpdesk/inc/class.botts.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/helpdesk/inc/class.botts.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -125,7 +125,7 @@
$columns['assignedto'] = array
(
'id' => 'assignedto',
- 'name' => lang('assignedto')
+ 'name' => lang('assigned to')
);
$columns['billable_hours'] = array(
@@ -437,11 +437,16 @@
return $tickets;
}
- function read_single($id)
+ function read_single($id, $values = array(), $view = false )
{
$this->so->update_view($id);
- $ticket = $this->so->read_single($id);
+ $values['attributes'] = $this->get_custom_cols();
+ if(!$ticket = $this->so->read_single($id, $values))
+ {
+ return array();
+ }
+ $ticket = $this->custom->prepare($ticket, 'helpdesk',
'.ticket', $view);
$ticket['user_lid'] =
$GLOBALS['phpgw']->accounts->id2name($ticket['user_id']);
$ticket['group_lid'] =
$GLOBALS['phpgw']->accounts->id2name($ticket['group_id']);
@@ -657,59 +662,67 @@
return $record_history;
}
- function add($ticket)
+ function add( $data, $values_attribute = array() )
{
- if((!isset($ticket['location_code']) || !
$ticket['location_code']) && isset($ticket['location']) &&
is_array($ticket['location']))
+
+ $data['finnish_date'] =
$this->bocommon->date_to_timestamp($data['finnish_date']);
+
+ if ($values_attribute && is_array($values_attribute))
{
- while (is_array($ticket['location']) &&
list(,$value) = each($ticket['location']))
+ $values_attribute =
$this->custom->convert_attribute_save($values_attribute);
+ }
+
+ $criteria = array
+ (
+ 'appname' => 'helpdesk',
+ 'location' => $this->acl_location,
+ 'allrows' => true
+ );
+
+ $custom_functions =
$GLOBALS['phpgw']->custom_functions->find($criteria);
+
+ foreach ($custom_functions as $entry)
+ {
+ // prevent path traversal
+ if (preg_match('/\.\./', $entry['file_name']))
{
- if($value)
- {
- $location[] = $value;
- }
+ continue;
}
- $ticket['location_code']=implode("-",
$location);
+
+ $file = PHPGW_SERVER_ROOT .
"/helpdesk/inc/custom/{$GLOBALS['phpgw_info']['user']['domain']}/{$entry['file_name']}";
+ if ($entry['active'] && is_file($file) &&
!$entry['client_side'] && $entry['pre_commit'])
+ {
+ require $file;
+ }
}
- $ticket['finnish_date'] =
$this->bocommon->date_to_timestamp($ticket['finnish_date']);
+ $receipt = $this->so->add($data, $values_attribute);
- $receipt = $this->so->add($ticket);
-
$this->config->read();
- if ( (isset($ticket['send_mail']) &&
$ticket['send_mail'])
- ||
(isset($this->config->config_data['mailnotification'])
- &&
$this->config->config_data['mailnotification'])
+ if ((isset($data['send_mail']) && $data['send_mail'])
|| (isset($this->config->config_data['mailnotification']) &&
$this->config->config_data['mailnotification'])
)
{
- $receipt_mail =
$this->mail_ticket($receipt['id'],false,$receipt,$ticket['location_code']);
+ $receipt_mail =
$this->mail_ticket($receipt['id'], false, $receipt, $data['location_code'],
false, isset($data['send_mail']) && $data['send_mail'] ? true : false);
}
- $criteria = array
- (
- 'appname' => 'helpdesk',
- 'location' => $this->acl_location,
- 'allrows' => true
- );
-
- $custom_functions =
$GLOBALS['phpgw']->custom_functions->find($criteria);
-
- foreach ( $custom_functions as $entry )
+ reset($custom_functions);
+ foreach ($custom_functions as $entry)
{
// prevent path traversal
- if ( preg_match('/\.\./', $entry['file_name']) )
+ if (preg_match('/\.\./', $entry['file_name']))
{
continue;
}
$file = PHPGW_SERVER_ROOT .
"/helpdesk/inc/custom/{$GLOBALS['phpgw_info']['user']['domain']}/{$entry['file_name']}";
- if ( $entry['active'] && is_file($file) )
+ if ($entry['active'] && is_file($file) &&
!$entry['client_side'] && !$entry['pre_commit'])
{
require_once $file;
}
}
- if(isset($receipt_mail) && is_array($receipt_mail))
+ if (isset($receipt_mail) && is_array($receipt_mail))
{
$receipt = array_merge($receipt, $receipt_mail);
}
@@ -990,13 +1003,67 @@
return $receipt;
}
- public function update_ticket($data, $id)
+ public function update_priority( $data, $id = 0 )
{
- $receipt = $this->so->update_ticket($data, $id);
- $this->fields_updated = $this->so->fields_updated;
+ $receipt = $this->so->update_priority($data, $id);
+ $this->fields_updated = $this->so->fields_updated;
return $receipt;
}
+ public function update_ticket( &$data, $id, $receipt = array(),
$values_attribute = array() , $simple = false)
+ {
+ if ($values_attribute && is_array($values_attribute))
+ {
+ $values_attribute =
$this->custom->convert_attribute_save($values_attribute);
+ }
+
+ $criteria = array
+ (
+ 'appname' => 'helpdesk',
+ 'location' => $this->acl_location,
+ 'allrows' => true
+ );
+
+ $custom_functions =
$GLOBALS['phpgw']->custom_functions->find($criteria);
+
+ foreach ($custom_functions as $entry)
+ {
+ // prevent path traversal
+ if (preg_match('/\.\./', $entry['file_name']))
+ {
+ continue;
+ }
+
+ $file = PHPGW_SERVER_ROOT .
"/helpdesk/inc/custom/{$GLOBALS['phpgw_info']['user']['domain']}/{$entry['file_name']}";
+ if ($entry['active'] && is_file($file) &&
!$entry['client_side'] && $entry['pre_commit'])
+ {
+ require $file;
+ }
+ }
+
+ $receipt = $this->so->update_ticket($data, $id,
$receipt, $values_attribute, $simple);
+ $this->fields_updated = $this->so->fields_updated;
+
+ reset($custom_functions);
+
+ foreach ($custom_functions as $entry)
+ {
+ // prevent path traversal
+ if (preg_match('/\.\./', $entry['file_name']))
+ {
+ continue;
+ }
+
+ $file = PHPGW_SERVER_ROOT .
"/helpdesk/inc/custom/{$GLOBALS['phpgw_info']['user']['domain']}/{$entry['file_name']}";
+ if ($entry['active'] && is_file($file) &&
!$entry['client_side'] && !$entry['pre_commit'])
+ {
+ require $file;
+ }
+ }
+
+ return $receipt;
+ }
+
public function get_reported_by( $selected = 0 )
{
$values = $this->so->get_reported_by();
Modified: branches/Version-2_0-branch/helpdesk/inc/class.menu.inc.php
===================================================================
--- branches/Version-2_0-branch/helpdesk/inc/class.menu.inc.php 2016-08-30
10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/helpdesk/inc/class.menu.inc.php 2016-08-30
11:14:07 UTC (rev 15542)
@@ -72,6 +72,18 @@
'text' =>
lang('Configuration'),
'url' =>
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'admin.uiconfig.index', 'appname' => 'helpdesk') )
),
+ 'ticket_attribs' => array
+ (
+ 'text' => lang('ticket
Attributes'),
+ 'url' =>
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'admin.ui_custom.list_attribute',
+ 'appname' =>
'helpdesk', 'location' => '.ticket', 'menu_selection' =>
'admin::helpdesk::ticket_attribs'))
+ ),
+ 'ticket_functions' => array
+ (
+ 'text' => lang('custom
functions'),
+ 'url' =>
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'admin.ui_custom.list_custom_function',
+ 'appname' =>
'helpdesk', 'location' => '.ticket', 'menu_selection' =>
'admin::helpdesk::ticket_functions'))
+ ),
'ticket_cats' => array
(
'text' => lang('Ticket
Categories'),
@@ -102,7 +114,7 @@
array
(
'text' =>
$GLOBALS['phpgw']->translation->translate('Grant Access', array(), true),
- 'url' =>
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'helpdesk.uiadmin.aclprefs', 'acl_app'=> 'helpdesk'))
+ 'url' =>
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'property.uiadmin.aclprefs', 'acl_app'=> 'helpdesk'))
)
);
@@ -116,7 +128,7 @@
$menus['navigation'] = array();
-
+/*
if ( $acl->check('.ticket',PHPGW_ACL_READ, 'helpdesk') )
{
$menus['navigation']['helpdesk'] = array
@@ -126,21 +138,7 @@
'image' =>
array('helpdesk', 'helpdesk')
);
}
-
- if ( $acl->check('.ticket.order',PHPGW_ACL_ADD,
'helpdesk') )
- {
- $menus['navigation']['helpdesk']['children'] =
array
- (
- 'order_template' => array
- (
- 'url' =>
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'property.uigeneric.index', 'type' => 'order_template') ),
- 'text' => lang('order
template'),
- 'image' =>
array('helpdesk', 'helpdesk')
- )
- );
- }
-
-
+*/
$GLOBALS['phpgw_info']['flags']['currentapp'] =
$incoming_app;
return $menus;
}
Modified: branches/Version-2_0-branch/helpdesk/inc/class.sotts.inc.php
===================================================================
--- branches/Version-2_0-branch/helpdesk/inc/class.sotts.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/helpdesk/inc/class.sotts.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -131,19 +131,14 @@
{
if( $order == 'assignedto' )
{
-// $result_order_field =
',account_lastname';
-// $order_join = "LEFT OUTER JOIN
phpgw_accounts ON phpgw_helpdesk_tickets.assignedto=phpgw_accounts.account_id";
-// $order = 'account_lastname';
+ $result_order_field =
',account_lastname';
+ $order = 'account_lastname';
}
else if( $order == 'user' )
{
$result_order_field =
',account_lastname';
$order = 'account_lastname';
}
- else
- {
- $order_join = '';
- }
$ordermethod = " ORDER BY $order $sort";
}
@@ -180,15 +175,6 @@
$where= 'AND';
}
-
if(isset($GLOBALS['phpgw']->config->config_data['acl_at_location']) &&
$GLOBALS['phpgw']->config->config_data['acl_at_location'])
- {
- $access_location =
execMethod('property.socommon.get_location_list', PHPGW_ACL_READ);
- if($access_location)
- {
- $filtermethod .= " $where
phpgw_helpdesk_tickets.loc1 in ('" . implode("','", $access_location) . "')";
- $where= 'AND';
- }
- }
if (is_array($this->grants))
{
@@ -224,12 +210,6 @@
}
}
- if($tenant_id =
$GLOBALS['phpgw']->session->appsession('tenant_id','helpdesk'))
- {
- $filtermethod .= $where . '
phpgw_helpdesk_tickets.tenant_id=' . $tenant_id;
- $where = 'AND';
- }
-
if ($status_id == 'X')
{
$closed = '';
@@ -352,7 +332,6 @@
. " $filtermethod $querymethod";
$sql2 = "SELECT count(*) as cnt FROM ({$sql}) as t";
- _debug_array($sql2);
$this->db->query($sql2,__LINE__,__FILE__);
$this->db->next_record();
$this->total_records = $this->db->f('cnt');
@@ -361,6 +340,10 @@
$tickets = array();
if(!$dry_run)
{
+ $location_id =
$GLOBALS['phpgw']->locations->get_id('helpdesk', '.ticket');
+ $custom_cols = $this->custom->find('helpdesk',
'.ticket', 0, '', 'ASC', 'attrib_sort', true, true);
+ $_return_field_array = array();
+
if(!$allrows)
{
$this->db->limit_query($sql .
$ordermethod,$start,__LINE__,__FILE__);
@@ -379,42 +362,41 @@
unset($_fetch_single);
}
+ $i = 0;
while ($this->db->next_record())
{
$tickets[]= array
- (
- 'id'
=> (int) $this->db->f('id'),
- 'subject'
=> $this->db->f('subject',true),
- 'user_id'
=> $this->db->f('user_id'),
- 'assignedto'
=> $this->db->f('assignedto'),
- 'status'
=> $this->db->f('status'),
- 'priority'
=> $this->db->f('priority'),
- 'cat_id'
=> $this->db->f('cat_id'),
- 'group_id'
=> $this->db->f('group_id'),
- 'entry_date'
=> $this->db->f('entry_date'),
- 'finnish_date'
=> $this->db->f('finnish_date'),
- 'finnish_date2'
=> $this->db->f('finnish_date2'),
- 'order_id'
=> $this->db->f('order_id'),
- 'vendor_id'
=> $this->db->f('vendor_id'),
- 'actual_cost'
=> $this->db->f('actual_cost'),
- 'estimate'
=> $this->db->f('budget'),
- 'new_ticket'
=> $this->db->f('view') ? false : true,
- 'billable_hours'
=> $this->db->f('billable_hours'),
- );
- }
-/*
- foreach ($tickets as &$ticket)
- {
- $this->db->query("SELECT count(*) as
hits FROM phpgw_helpdesk_views where id={$ticket['id']}"
- . " AND
account_id='{$this->account}'",__LINE__,__FILE__);
- $this->db->next_record();
-
- if(! $this->db->f('hits'))
+ (
+ 'id'
=> (int) $this->db->f('id'),
+ 'subject'
=> $this->db->f('subject',true),
+ 'user_id'
=> $this->db->f('user_id'),
+ 'assignedto' =>
$this->db->f('assignedto'),
+ 'status'
=> $this->db->f('status'),
+ 'priority'
=> $this->db->f('priority'),
+ 'cat_id'
=> $this->db->f('cat_id'),
+ 'group_id'
=> $this->db->f('group_id'),
+ 'entry_date' =>
$this->db->f('entry_date'),
+ 'modified_date' =>
$this->db->f('modified_date'),
+ 'finnish_date' =>
$this->db->f('finnish_date'),
+ 'finnish_date2' =>
$this->db->f('finnish_date2'),
+ 'order_id'
=> $this->db->f('order_id'),
+ 'vendor_id'
=> $this->db->f('vendor_id'),
+ 'actual_cost' =>
$this->db->f('actual_cost'),
+ 'estimate'
=> $this->db->f('budget'),
+ 'new_ticket' =>
$this->db->f('view') ? false : true,
+ 'billable_hours' =>
$this->db->f('billable_hours'),
+ );
+ foreach ($custom_cols as $custom_col)
{
- $ticket['new_ticket'] = true;
+ if ($custom_value =
$this->db->f($custom_col['column_name'], true))
+ {
+ $custom_value =
$this->custom->get_translated_value(array('value' => $custom_value,
+ 'attrib_id' =>
$custom_col['id'], 'datatype' => $custom_col['datatype']), $location_id);
+ }
+
$tickets[$i][$custom_col['column_name']] = $custom_value;
}
+ $i ++;
}
- */
}
return $tickets;
@@ -445,11 +427,75 @@
return $entity;
}
- function read_single($id)
+ function read_single($id, $values = array() )
{
$id = (int) $id;
- $sql = "SELECT * FROM phpgw_helpdesk_tickets WHERE id =
{$id}";
+
+ $GLOBALS['phpgw']->acl->set_account_id($this->account);
+ $this->grants =
$GLOBALS['phpgw']->acl->get_grants2('helpdesk','.ticket');
+
+ $acl_join = "{$this->join} phpgw_accounts ON
phpgw_helpdesk_tickets.user_id=phpgw_accounts.account_id";
+ $acl_join .= " {$this->join} phpgw_group_map ON
(phpgw_accounts.account_id = phpgw_group_map.account_id)";
+
+ $categories =
$GLOBALS['phpgw']->locations->get_subs('helpdesk', '.ticket.category');
+
+ $grant_category = array();
+ foreach ($categories as $location)
+ {
+ if ($GLOBALS['phpgw']->acl->check($location,
PHPGW_ACL_READ, 'helpdesk'))
+ {
+ $category = explode('.',$location);
+ $grant_category[] = $category[3];
+ }
+ }
+
+ $grant_category[] = -1;//If no one found - not breaking
the query
+
+
+ $GLOBALS['phpgw']->config->read();
+
+ $filtermethod = '';
+
if(isset($GLOBALS['phpgw']->config->config_data['acl_at_tts_category']) &&
$GLOBALS['phpgw']->config->config_data['acl_at_tts_category'])
+ {
+ $filtermethod = " AND
phpgw_helpdesk_tickets.cat_id IN (" . implode(",", $grant_category) . ")";
+ }
+
+
+ if (is_array($this->grants))
+ {
+ $public_user_list = array();
+ if (is_array($this->grants['accounts']) &&
$this->grants['accounts'])
+ {
+ foreach($this->grants['accounts'] as
$user => $_right)
+ {
+ $public_user_list[] = $user;
+ }
+ unset($user);
+ reset($public_user_list);
+ $filtermethod .= " AND
(phpgw_helpdesk_tickets.user_id IN(" . implode(',', $public_user_list) . ")";
+ }
+
+ $public_group_list = array();
+ if (is_array($this->grants['groups']) &&
$this->grants['groups'])
+ {
+ foreach($this->grants['groups'] as
$user => $_right)
+ {
+ $public_group_list[] = $user;
+ }
+ unset($user);
+ reset($public_group_list);
+ $where = $public_user_list ? 'OR' :
'AND';
+ $filtermethod .= " $where
phpgw_group_map.group_id IN(" . implode(',', $public_group_list) . "))";
+ }
+ if($public_user_list && !$public_group_list)
+ {
+ $filtermethod .=')';
+ }
+ }
+
+ $sql = "SELECT * FROM phpgw_helpdesk_tickets
{$acl_join} WHERE id = {$id} {$filtermethod}";
+
$this->db->query($sql,__LINE__,__FILE__);
if ($this->db->next_record())
@@ -485,6 +531,7 @@
$ticket['order_dim1'] =
$this->db->f('order_dim1');
$ticket['publish_note'] =
$this->db->f('publish_note');
$ticket['billable_hours'] =
$this->db->f('billable_hours');
+ $ticket['modified_date'] =
$this->db->f('modified_date');
$user_id=(int)$this->db->f('user_id');
@@ -493,6 +540,15 @@
{
$ticket['assignedto_name'] =
$GLOBALS['phpgw']->accounts->get($ticket['assignedto'])->__toString();
}
+
+ if (isset($values['attributes']) &&
is_array($values['attributes']))
+ {
+ $ticket['attributes'] =
$values['attributes'];
+ foreach ($ticket['attributes'] as
&$attr)
+ {
+ $attr['value'] =
$this->db->f($attr['column_name']);
+ }
+ }
}
return $ticket;
@@ -513,101 +569,48 @@
}
}
- function add($ticket)
+ function add( &$ticket, $values_attribute = array() )
{
- if(isset($ticket['location']) &&
is_array($ticket['location']))
- {
- foreach ($ticket['location'] as $input_name =>
$value)
- {
- if(isset($value) && $value)
- {
- $cols[] = $input_name;
- $vals[] = $value;
- }
- }
- }
+ $table = 'phpgw_helpdesk_tickets';
- if(isset($ticket['extra']) &&
is_array($ticket['extra']))
+ $value_set = array();
+ $data_attribute = $this->custom->prepare_for_db($table,
$values_attribute);
+ if (isset($data_attribute['value_set']))
{
- foreach ($ticket['extra'] as $input_name =>
$value)
+ foreach ($data_attribute['value_set'] as
$input_name => $value)
{
- if(isset($value) && $value)
+ if (isset($value) && $value)
{
- $cols[] = $input_name;
- $vals[] = $value;
+ $value_set[$input_name] =
$value;
}
}
}
- if($cols)
- {
- $cols = "," . implode(",", $cols);
- $vals = ",'" . implode("','", $vals) . "'";
- }
+ $value_set['priority'] = isset($ticket['priority']) ?
$ticket['priority'] : 0;
+ $value_set['user_id'] =
$GLOBALS['phpgw_info']['user']['account_id'];
+ $value_set['assignedto'] = $ticket['assignedto'];
+ $value_set['group_id'] = $ticket['group_id'];
+ $value_set['subject'] =
$this->db->db_addslashes($ticket['subject']);
+ $value_set['cat_id'] = $ticket['cat_id'];
+ $value_set['status'] = $ticket['status'];
+ $value_set['details'] =
$this->db->db_addslashes($ticket['details']);
+ $value_set['location_code'] = $ticket['location_code'];
+ $value_set['entry_date'] = time();
+ $value_set['modified_date'] = time();
+ $value_set['finnish_date'] = $ticket['finnish_date'];
+ $value_set['contact_id'] = $ticket['contact_id'];
+ $value_set['publish_note'] = 1;
- $address = '';
- if(isset($ticket['street_name']) &&
$ticket['street_name'])
- {
- $address[]= $ticket['street_name'];
- $address[]= $ticket['street_number'];
- $address =
$this->db->db_addslashes(implode(" ", $address));
- }
- if(!$address)
- {
- $address =
$this->db->db_addslashes($ticket['location_name']);
- }
-
- $values= array
- (
-
isset($ticket['priority'])?$ticket['priority']:0,
-
$GLOBALS['phpgw_info']['user']['account_id'],
- $ticket['assignedto'],
- $ticket['group_id'],
-
$this->db->db_addslashes($ticket['subject']),
- $ticket['cat_id'],
- $ticket['status'],
-
$this->db->db_addslashes($ticket['details']),
- $ticket['location_code'],
- $address,
- time(),
- $ticket['finnish_date'],
- $ticket['contact_id'],
- 1
- );
-
- $values = $this->db->validate_insert($values);
+ $cols = implode(',', array_keys($value_set));
+ $values =
$this->db->validate_insert(array_values($value_set));
$this->db->transaction_begin();
- $this->db->query("insert into phpgw_helpdesk_tickets
(priority,user_id,"
- .
"assignedto,group_id,subject,cat_id,status,details,location_code,"
- .
"address,entry_date,finnish_date,contact_id,publish_note $cols)"
- . "VALUES ($values $vals )",__LINE__,__FILE__);
+ $this->db->query("INSERT INTO {$table} ({$cols}) VALUES
({$values})", __LINE__, __FILE__);
- $id =
$this->db->get_last_insert_id('phpgw_helpdesk_tickets','id');
- if(isset($ticket['extra']['contact_phone']) &&
$ticket['extra']['contact_phone'] && isset($ticket['extra']['tenant_id']) &&
$ticket['extra']['tenant_id'])
- {
- $this->db->query("update fm_tenant set
contact_phone='". $ticket['extra']['contact_phone']. "' where id='".
$ticket['extra']['tenant_id']. "'",__LINE__,__FILE__);
- }
+ $id = $this->db->get_last_insert_id($table, 'id');
- if(isset($ticket['origin']) &&
is_array($ticket['origin']))
- {
- if($ticket['origin'][0]['data'][0]['id'])
- {
- $interlink_data = array
- (
- 'location1_id'
=> $GLOBALS['phpgw']->locations->get_id('helpdesk',
$ticket['origin'][0]['location']),
- 'location1_item_id' =>
$ticket['origin'][0]['data'][0]['id'],
- 'location2_id'
=> $GLOBALS['phpgw']->locations->get_id('helpdesk', '.ticket'),
- 'location2_item_id' =>
$id,
- 'account_id'
=> $this->account
- );
- $interlink =
CreateObject('helpdesk.interlink');
-
$interlink->add($interlink_data,$this->db);
- }
- }
-
if($this->db->transaction_commit())
{
$this->historylog->add('O',$id, time(),'');
@@ -700,6 +703,7 @@
if ($this->fields_updated)
{
+ $this->db->query('UPDATE phpgw_helpdesk_tickets
SET modified_date= ' . time() . " WHERE id={$id}", __LINE__, __FILE__);
$receipt['message'][]= array('msg' =>
lang('Ticket %1 has been updated',$id));
}
@@ -707,383 +711,332 @@
}
- function update_ticket($ticket,$id = 0)
+ function update_priority( $ticket, $id = 0 )
{
- $id = (int) $id;
+ $id = (int)$id;
$receipt = array();
+ $this->fields_updated = false;
+
+ $this->db->query("SELECT priority FROM
phpgw_helpdesk_tickets WHERE id={$id}", __LINE__, __FILE__);
+ $this->db->next_record();
+ $oldpriority = $this->db->f('priority');
+
+ $this->db->transaction_begin();
+
+ if ($oldpriority != $ticket['priority'])
+ {
+ $this->fields_updated = true;
+ $this->db->query("UPDATE phpgw_helpdesk_tickets
set priority='" . $ticket['priority']
+ . "' WHERE id={$id}", __LINE__,
__FILE__);
+ $this->historylog->add('P', $id,
$ticket['priority'], $oldpriority);
+ }
+
+ if ($this->fields_updated)
+ {
+ $this->db->query('UPDATE phpgw_helpdesk_tickets
SET modified_date= ' . time() . " WHERE id={$id}", __LINE__, __FILE__);
+ $receipt['message'][] = array('msg' =>
lang('Ticket %1 has been updated', $id));
+ }
+
+ $this->db->transaction_commit();
+
+ return $receipt;
+ }
+
+ function update_ticket( &$ticket, $id = 0, $receipt = array(),
$values_attribute = array(), $simple = false )
+ {
+ $this->fields_updated = array();
+ $id = (int)$id;
+ $ticket['id'] = $id;
// DB Content is fresher than http posted value.
- $this->db->query("select * from phpgw_helpdesk_tickets
where id='$id'",__LINE__,__FILE__);
+ $this->db->query("SELECT * FROM phpgw_helpdesk_tickets
WHERE id='$id'", __LINE__, __FILE__);
$this->db->next_record();
- $location_code = $this->db->f('location_code');
- $oldlocation_code = $this->db->f('location_code');
- $oldfinnish_date = $this->db->f('finnish_date');
- $oldfinnish_date2 = $this->db->f('finnish_date2');
- $oldassigned = $this->db->f('assignedto');
- $oldgroup_id = $this->db->f('group_id');
- $oldpriority = $this->db->f('priority');
- $oldcat_id =
$this->db->f('cat_id');
- $old_status = $this->db->f('status');
- $old_budget = $this->db->f('budget');
- $old_billable_hours =
$this->db->f('billable_hours');
+ $location_code = $this->db->f('location_code');
+ $oldlocation_code = $this->db->f('location_code');
+ $oldfinnish_date = $this->db->f('finnish_date');
+ $oldfinnish_date2 = $this->db->f('finnish_date2');
+ $oldassigned = $this->db->f('assignedto');
+ $oldgroup_id = $this->db->f('group_id');
+ $oldpriority = $this->db->f('priority');
+ $oldcat_id = $this->db->f('cat_id');
+ $old_status = $this->db->f('status');
+ $ticket['old_status'] = $old_status; // used for custom
functions
+ // $old_budget =
$this->db->f('budget');
+ $old_billable_hours =
(float)$this->db->f('billable_hours');
// $old_billable_rate =
$this->db->f('billable_rate');
- $old_subject = $this->db->f('subject');
- $old_contact_id = $this->db->f('contact_id');
- $old_actual_cost = $this->db->f('actual_cost');
- $old_order_cat_id = $this->db->f('order_cat_id');
- $old_building_part =
$this->db->f('building_part',true);
- $old_order_dim1 =
(int)$this->db->f('order_dim1');
+ $old_subject = $this->db->f('subject');
+ $old_contact_id = $this->db->f('contact_id');
+ $old_order_cat_id = $this->db->f('order_cat_id');
+ $old_building_part = $this->db->f('building_part',
true);
+ $old_order_dim1 = (int)$this->db->f('order_dim1');
- if($oldcat_id ==0){$oldcat_id ='';}
- if($old_order_cat_id ==0){$old_order_cat_id ='';}
- if($oldassigned ==0){$oldassigned ='';}
- if($oldgroup_id ==0){$oldgroup_id ='';}
+ if ($oldcat_id == 0)
+ {
+ $oldcat_id = '';
+ }
+ if ($old_order_cat_id == 0)
+ {
+ $old_order_cat_id = '';
+ }
+ if ($oldassigned == 0)
+ {
+ $oldassigned = '';
+ }
+ if ($oldgroup_id == 0)
+ {
+ $oldgroup_id = '';
+ }
- // Figure out and last note
+ // Figure out and last note
- $history_values =
$this->historylog->return_array(array(),array('C'),'history_timestamp','DESC',$id);
+ $history_values =
$this->historylog->return_array(array(), array('C'), 'history_timestamp',
'DESC', $id);
$old_note = $history_values[0]['new_value'];
- if(!$old_note)
+ if (!$old_note)
{
$old_note = $this->db->f('details');
}
-
$this->db->transaction_begin();
/*
- ** phpgw_phpgw_helpdesk_append.append_type - Defs
- ** R - Reopen ticket
- ** X - Ticket closed
- ** O - Ticket opened
- ** C - Comment appended
- ** A - Ticket assignment
- ** G - Ticket group assignment
- ** P - Priority change
- ** T - Category change
- ** S - Subject change
- ** B - Budget change
- ** H - Billing hours
- ** F - finnish date
- ** C% - Status change
- ** L - Location changed
- ** M - Mail sent to vendor
+ * * phpgw_fm_tts_append.append_type - Defs
+ * * R - Reopen ticket
+ * * X - Ticket closed
+ * * O - Ticket opened
+ * * C - Comment appended
+ * * A - Ticket assignment
+ * * G - Ticket group assignment
+ * * P - Priority change
+ * * T - Category change
+ * * S - Subject change
+ * * B - Budget change
+ * * AC - actual cost changed
+ * * H - Billing hours
+ * * F - finnish date
+ * * C% - Status change
+ * * L - Location changed
+ * * M - Mail sent to vendor
*/
- $this->db->query("UPDATE phpgw_helpdesk_tickets SET
publish_note = NULL WHERE id = {$id}",__LINE__,__FILE__);
- $this->db->query("UPDATE phpgw_history_log SET publish
= NULL WHERE history_record_id = {$id}",__LINE__,__FILE__);
- if(isset($ticket['publish_note']))
+ if (!$simple)
{
- foreach ($ticket['publish_note'] as
$publish_info)
+ $this->db->query("UPDATE phpgw_helpdesk_tickets
SET publish_note = NULL WHERE id = {$id}", __LINE__, __FILE__);
+ $this->db->query("UPDATE phpgw_history_log SET
publish = NULL WHERE history_record_id = {$id}", __LINE__, __FILE__);
+ if (isset($ticket['publish_note']))
{
- $note = explode('_', $publish_info);
- if(!$note[1])
+ foreach ($ticket['publish_note'] as
$publish_info)
{
- $this->db->query("UPDATE
phpgw_helpdesk_tickets SET publish_note = 1 WHERE id =
{$note[0]}",__LINE__,__FILE__);
+ $note = explode('_',
$publish_info);
+ if (!$note[1])
+ {
+
$this->db->query("UPDATE phpgw_helpdesk_tickets SET publish_note = 1 WHERE id =
{$note[0]}", __LINE__, __FILE__);
+ }
+ else
+ {
+
$this->db->query("UPDATE phpgw_history_log SET publish = 1 WHERE history_id =
{$note[1]}", __LINE__, __FILE__);
+ }
}
- else
- {
- $this->db->query("UPDATE
phpgw_history_log SET publish = 1 WHERE history_id =
{$note[1]}",__LINE__,__FILE__);
- }
}
- }
+ if ($ticket['assignedto'] && ( ($oldassigned !=
$ticket['assignedto']) && $ticket['assignedto'] != 'ignore'))
+ {
+ $this->fields_updated[] = 'assignedto';
- $finnish_date = (isset($ticket['finnish_date']) ?
phpgwapi_datetime::date_to_timestamp($ticket['finnish_date']):'');
+ $value_set = array('assignedto' =>
$ticket['assignedto']);
+ $value_set =
$this->db->validate_update($value_set);
- if ($oldfinnish_date && isset($ticket['finnish_date'])
&& $ticket['finnish_date'])
- {
- $this->db->query("update phpgw_helpdesk_tickets
set finnish_date2='" . $finnish_date
- . "' where id='$id'",__LINE__,__FILE__);
- }
- else if(!$oldfinnish_date &&
isset($ticket['finnish_date']) && $ticket['finnish_date'])
- {
- $this->db->query("update phpgw_helpdesk_tickets
set finnish_date='" . $finnish_date
- . "' where id='$id'",__LINE__,__FILE__);
- }
+ $this->db->query("update
phpgw_helpdesk_tickets set $value_set where id='$id'", __LINE__, __FILE__);
+ $this->historylog->add('A', $id,
$ticket['assignedto'], $oldassigned);
+ }
- if($oldfinnish_date2>0)
- {
- $oldfinnish_date = $oldfinnish_date2;
- }
- if(isset($ticket['finnish_date']) &&
$ticket['finnish_date'])
- {
- if ($oldfinnish_date != $finnish_date)
+ if (($oldgroup_id != $ticket['group_id']) &&
$ticket['group_id'] != 'ignore')
{
- $this->fields_updated = true;
-
$this->historylog->add('F',$id,$finnish_date,$oldfinnish_date);
+ $this->fields_updated[] = 'group_id';
+
+ $value_set = array('group_id' =>
$ticket['group_id']);
+ $value_set =
$this->db->validate_update($value_set);
+
+ $this->db->query("update
phpgw_helpdesk_tickets set $value_set where id='$id'", __LINE__, __FILE__);
+ $this->historylog->add('G', $id,
(int)$ticket['group_id'], $oldgroup_id);
}
- }
- if (isset($ticket['status']) && ($old_status !=
$ticket['status']))
- {
- $check_old_custom = (int) trim($old_status,'C');
- $this->db->query("SELECT * from
phpgw_helpdesk_status WHERE id = {$check_old_custom}",__LINE__,__FILE__);
- $this->db->next_record();
- $this->fields_updated = true;
- if($old_status=='X' || $this->db->f('closed'))
+ if ($ticket['priority'] && $oldpriority !=
$ticket['priority'])
{
- $new_status = $ticket['status'];
-
$this->historylog->add('R',$id,$ticket['status'],$old_status);
+ $this->fields_updated[] = 'priority';
+ $this->db->query("update
phpgw_helpdesk_tickets set priority='" . $ticket['priority']
+ . "' where id='$id'", __LINE__,
__FILE__);
+ $this->historylog->add('P', $id,
$ticket['priority'], $oldpriority);
+ }
- $this->db->query("UPDATE
phpgw_helpdesk_tickets SET status='{$new_status}' WHERE id=
{$id}",__LINE__,__FILE__);
+ if ($old_contact_id != $ticket['contact_id'])
+ {
+ $contact_id =
(int)$ticket['contact_id'];
+ $this->fields_updated[] = 'contact_id';
+ $this->db->query("update
phpgw_helpdesk_tickets set contact_id={$contact_id} WHERE id=$id", __LINE__,
__FILE__);
}
- else
+
+ if ($ticket['cat_id'] && ( ($oldcat_id !=
$ticket['cat_id']) && $ticket['cat_id'] != 'ignore'))
{
-
$this->historylog->add($ticket['status'],$id,$ticket['status'],$old_status);
- $this->db->query("UPDATE
phpgw_helpdesk_tickets SET status='{$ticket['status']}' WHERE
id={$id}",__LINE__,__FILE__);
+ $this->fields_updated[] = 'cat_id';
+ $this->db->query("update
phpgw_helpdesk_tickets set cat_id='" . $ticket['cat_id']
+ . "' where id='$id'", __LINE__,
__FILE__);
+ $this->historylog->add('T', $id,
$ticket['cat_id'], $oldcat_id);
}
- $this->check_pending_action($ticket, $id);
}
- if (($oldassigned != $ticket['assignedto']) &&
$ticket['assignedto'] != 'ignore')
+ if (($old_note != $ticket['note']) && $ticket['note'])
{
- $this->fields_updated = true;
-
- $value_set=array('assignedto' =>
$ticket['assignedto']);
- $value_set =
$this->db->validate_update($value_set);
-
- $this->db->query("update phpgw_helpdesk_tickets
set $value_set where id='$id'",__LINE__,__FILE__);
-
$this->historylog->add('A',$id,$ticket['assignedto'],$oldassigned);
+ $this->fields_updated[] = 'note';
+ $this->historylog->add('C', $id,
$ticket['note'], $old_note);
+ $_history_id =
$this->db->get_last_insert_id('phpgw_history_log', 'history_id');
+ $this->db->query("UPDATE phpgw_history_log SET
publish = 1 WHERE history_id = $_history_id", __LINE__, __FILE__);
+ unset($_history_id);
}
- if (($oldgroup_id != $ticket['group_id']) &&
$ticket['group_id'] != 'ignore')
- {
- $this->fields_updated = true;
+ $value_set = array();
- $value_set=array('group_id' =>
$ticket['group_id']);
- $value_set =
$this->db->validate_update($value_set);
+ $data_attribute =
$this->custom->prepare_for_db('phpgw_helpdesk_tickets', $values_attribute);
- $this->db->query("update phpgw_helpdesk_tickets
set $value_set where id='$id'",__LINE__,__FILE__);
-
$this->historylog->add('G',$id,$ticket['group_id'],$oldgroup_id);
- }
-
- if ($oldpriority != $ticket['priority'])
+ if (isset($data_attribute['value_set']))
{
- $this->fields_updated = true;
- $this->db->query("update phpgw_helpdesk_tickets
set priority='" . $ticket['priority']
- . "' where id='$id'",__LINE__,__FILE__);
-
$this->historylog->add('P',$id,$ticket['priority'],$oldpriority);
+ foreach ($data_attribute['value_set'] as
$input_name => $value)
+ {
+ $this->fields_updated[] = $input_name;
+ $value_set[$input_name] = $value;
+ }
}
- if ($old_contact_id != $ticket['contact_id'])
- {
- $contact_id = (int) $ticket['contact_id'];
- $this->fields_updated = true;
- $this->db->query("update phpgw_helpdesk_tickets
set contact_id={$contact_id} WHERE id=$id",__LINE__,__FILE__);
- }
+ $value_set['modified_date'] = time();
- if (($oldcat_id != $ticket['cat_id']) &&
$ticket['cat_id'] != 'ignore')
- {
- $this->fields_updated = true;
- $this->db->query("update phpgw_helpdesk_tickets
set cat_id='" . $ticket['cat_id']
- . "' where id='$id'",__LINE__,__FILE__);
-
$this->historylog->add('T',$id,$ticket['cat_id'],$oldcat_id);
- }
+ $value_set = $this->db->validate_update($value_set);
+ $this->db->query("UPDATE phpgw_helpdesk_tickets SET
$value_set WHERE id={$id}", __LINE__, __FILE__);
- if ($old_budget != $ticket['budget'])
+ if (isset($this->fields_updated) &&
$this->fields_updated && $simple)
{
- $this->fields_updated = true;
- $this->db->query("UPDATE phpgw_helpdesk_tickets
set budget='" . (int)$ticket['budget']
- . "' where id='$id'",__LINE__,__FILE__);
-
$this->historylog->add('B',$id,$ticket['budget'],$old_budget);
+ $receipt['message'][] = array('msg' =>
lang('Ticket has been updated'));
+ $this->db->transaction_commit();
+ return $receipt;
}
- /*
- if ($old_billable_rate != $ticket['billable_rate'])
- {
- $this->fields_updated = true;
- $this->db->query("update phpgw_helpdesk_tickets
set billable_rate='" . $ticket['billable_rate']
- . "' where id='$id'",__LINE__,__FILE__);
-
$this->historylog->add('B',$id,$ticket['billable_rate'],$old_billable_rate);
- }
- */
- if ($old_subject != $ticket['subject'])
- {
- $this->db->query("UPDATE phpgw_helpdesk_tickets
SET subject='" . $ticket['subject']
- . "' where id='$id'",__LINE__,__FILE__);
-
$this->historylog->add('S',$id,$ticket['subject'],$old_subject);
- $receipt['message'][]= array('msg' =>
lang('Subject has been updated'));
- }
- if($ticket['billable_hours'])
- {
- $ticket['billable_hours'] =
str_replace(',','.', $ticket['billable_hours']);
- }
- if ((float)$old_billable_hours !=
(float)$ticket['billable_hours'])
- {
- $this->db->query("UPDATE phpgw_helpdesk_tickets
SET billable_hours='{$ticket['billable_hours']}'"
- . " WHERE
id='{$id}'",__LINE__,__FILE__);
-
$this->historylog->add('H',$id,$ticket['billable_hours'],$old_billable_hours);
- $receipt['message'][]= array('msg' =>
lang('billable hours has been updated'));
- }
+ $finnish_date = (isset($ticket['finnish_date']) ?
phpgwapi_datetime::date_to_timestamp($ticket['finnish_date']) : '');
- if ((int)$old_actual_cost !=
(int)$ticket['actual_cost'])
+ if ($oldfinnish_date && isset($ticket['finnish_date'])
&& $ticket['finnish_date'])
{
- $this->db->query("UPDATE phpgw_helpdesk_tickets
SET actual_cost='" . (float)$ticket['actual_cost']
- . "' WHERE id='$id'",__LINE__,__FILE__);
-
$this->historylog->add('AC',$id,(float)$ticket['actual_cost'] ,
$old_actual_cost);
- $receipt['message'][]= array('msg' =>
lang('actual_cost has been updated'));
+ $this->db->query("update phpgw_helpdesk_tickets
set finnish_date2='" . $finnish_date
+ . "' where id='$id'", __LINE__,
__FILE__);
}
-
- if ((int)$old_order_cat_id !=
(int)$ticket['order_cat_id'])
+ else if (!$oldfinnish_date &&
isset($ticket['finnish_date']) && $ticket['finnish_date'])
{
- $this->db->query("UPDATE phpgw_helpdesk_tickets
SET order_cat_id='" . (int)$ticket['order_cat_id']
- . "' WHERE id='$id'",__LINE__,__FILE__);
- $receipt['message'][]= array('msg' =>
lang('order category has been updated'));
- $this->fields_updated = true;
+ $this->db->query("update phpgw_helpdesk_tickets
set finnish_date='" . $finnish_date
+ . "' where id='$id'", __LINE__,
__FILE__);
}
- if ((int)$old_order_dim1 != (int)$ticket['order_dim1'])
+ if ($oldfinnish_date2 > 0)
{
- $this->db->query("UPDATE phpgw_helpdesk_tickets
SET order_dim1='" . (int)$ticket['order_dim1']
- . "' WHERE id='$id'",__LINE__,__FILE__);
- $receipt['message'][]= array('msg' =>
lang('order_dim1 has been updated'));
- $this->fields_updated = true;
+ $oldfinnish_date = $oldfinnish_date2;
}
-
- if ($old_building_part != $ticket['building_part'])
+ if (isset($ticket['finnish_date']) &&
$ticket['finnish_date'])
{
- $this->db->query("UPDATE phpgw_helpdesk_tickets
SET building_part='" . $ticket['building_part']
- . "' WHERE id='$id'",__LINE__,__FILE__);
- $receipt['message'][]= array('msg' =>
lang('building part has been updated'));
- $this->fields_updated = true;
+ if ($oldfinnish_date != $finnish_date)
+ {
+ $this->fields_updated[] =
'finnish_date';
+ $this->historylog->add('F', $id,
$finnish_date, $oldfinnish_date);
+ }
}
- if (($old_note != $ticket['note']) && $ticket['note'])
+ if (isset($ticket['status']) && ($old_status !=
$ticket['status']))
{
- $this->fields_updated = true;
-
$this->historylog->add('C',$id,$ticket['note'],$old_note);
- $_history_id =
$this->db->get_last_insert_id('phpgw_history_log','history_id');
- $this->db->query("UPDATE phpgw_history_log SET
publish = 1 WHERE history_id = $_history_id",__LINE__,__FILE__);
- unset($_history_id);
- }
-
- if(isset($ticket['location']) && $ticket['location'])
- {
- $ticket['location_code'] = implode('-',
$ticket['location']);
- }
-
- if (isset($ticket['location_code']) &&
$ticket['location_code'] && ($oldlocation_code != $ticket['location_code']))
- {
- $interlink =
CreateObject('helpdesk.interlink');
- if( $interlink->get_relation('helpdesk',
'.ticket', $id, 'origin') || $interlink->get_relation('helpdesk', '.ticket',
$id, 'target'))
+ $check_old_custom = (int)trim($old_status, 'C');
+ $this->db->query("SELECT * from
phpgw_helpdesk_status WHERE id = {$check_old_custom}", __LINE__, __FILE__);
+ $this->db->next_record();
+ $old_closed = $this->db->f('closed');
+ $this->fields_updated[] = 'status';
+ if ($old_status == 'X' || $old_closed)
{
- $receipt['message'][]= array('msg' =>
lang('location could not be changed'));
+ $new_status = $ticket['status'];
+ $this->historylog->add('R', $id,
$ticket['status'], $old_status);
+
+ $this->db->query("UPDATE
phpgw_helpdesk_tickets SET status='{$new_status}' WHERE id= {$id}", __LINE__,
__FILE__);
}
else
{
- $value_set = array();
+
$this->historylog->add($ticket['status'], $id, $ticket['status'], $old_status);
+ $this->db->query("UPDATE
phpgw_helpdesk_tickets SET status='{$ticket['status']}' WHERE id={$id}",
__LINE__, __FILE__);
+ }
+ $this->check_pending_action($ticket, $id);
- if(isset($ticket['street_name']) &&
$ticket['street_name'])
- {
- $address[]=
$ticket['street_name'];
- $address[]=
$ticket['street_number'];
- $value_set['address'] =
$this->db->db_addslashes(implode(" ", $address));
- }
+ //Close cases at related
+ $check_new_custom =
(int)trim($ticket['status'], 'C');
+ $this->db->query("SELECT closed from
phpgw_helpdesk_status WHERE id = {$check_new_custom}", __LINE__, __FILE__);
+ $this->db->next_record();
- if(!isset($address) || !$address)
+ if (($this->db->f('closed') ||
$ticket['status'] == 'X') && ($old_status != 'X' && !$old_closed))
+ {
+ $location_id =
$GLOBALS['phpgw']->locations->get_id('helpdesk', '.ticket');
+ // at controller
+ if
(isset($GLOBALS['phpgw_info']['user']['apps']['controller']))
{
- $address =
isset($ticket['location_name']) ?
$this->db->db_addslashes($ticket['location_name']) : '';
- if($address)
- {
- $value_set['address'] =
$address;
- }
+ $controller =
CreateObject('controller.uicase');
+
$controller->updateStatusForCases($location_id, $id, 1);
}
-
- if (isset($ticket['location_code']) &&
$ticket['location_code'])
- {
- $value_set['location_code'] =
$ticket['location_code'];
- }
-
- $admin_location =
CreateObject('helpdesk.soadmin_location');
- $admin_location->read(false);
-
- // Delete old values for location - in
case of moving up in the hierarchy
- $metadata =
$this->db->metadata('phpgw_helpdesk_tickets');
- for ($i = 1;$i <
$admin_location->total_records + 1; $i++)
- {
- if(isset($metadata["loc{$i}"]))
- {
- $value_set["loc{$i}"]
= false;
- }
- }
-
- if(isset($ticket['location']) &&
is_array($ticket['location']))
- {
- foreach ($ticket['location'] as
$column => $value)
- {
- $value_set[$column]
= $value;
- }
- }
-
- if(isset($ticket['extra']) &&
is_array($ticket['extra']))
- {
- foreach ($ticket['extra'] as
$column => $value)
- {
- $value_set[$column]
= $value;
- }
- }
-
- $value_set =
$this->db->validate_update($value_set);
-
- $this->db->query("UPDATE
phpgw_helpdesk_tickets SET $value_set WHERE id={$id}",__LINE__,__FILE__);
-
-
$this->historylog->add('L',$id,$ticket['location_code'],$oldlocation_code);
- $receipt['message'][]= array('msg' =>
lang('Location has been updated'));
+ // at request
+
execMethod('property.sorequest.update_status_from_related', array(
+ 'location_id' => $location_id,
+ 'id' => $id,
+ 'status' => 'closed')
+ );
}
- unset($interlink);
}
- if(isset($ticket['make_order']) &&
$ticket['make_order'])
+ /*
+ if ($old_billable_rate != $ticket['billable_rate'])
+ {
+ $this->fields_updated[] = 'billable_rate';
+ $this->db->query("update phpgw_helpdesk_tickets set
billable_rate='" . $ticket['billable_rate']
+ . "' where id='$id'",__LINE__,__FILE__);
+
$this->historylog->add('B',$id,$ticket['billable_rate'],$old_billable_rate);
+ }
+ */
+ if ($old_subject != $ticket['subject'])
{
- $order_id =
execMethod('property.socommon.increment_id', 'helpdesk');
- if($order_id)
- {
- $this->db->query("UPDATE
phpgw_helpdesk_tickets SET order_id = {$order_id} WHERE
id={$id}",__LINE__,__FILE__);
- $this->db->query("INSERT INTO fm_orders
(id, type) VALUES ({$order_id}, 'helpdesk')",__LINE__,__FILE__);
- }
+ $this->db->query("UPDATE phpgw_helpdesk_tickets
SET subject='" . $ticket['subject']
+ . "' where id='$id'", __LINE__,
__FILE__);
+ $this->historylog->add('S', $id,
$ticket['subject'], $old_subject);
+ $receipt['message'][] = array('msg' =>
lang('Subject has been updated'));
}
- $value_set =
array();
- $value_set['vendor_id'] = $ticket['vendor_id'];
- $value_set['b_account_id'] =
$ticket['b_account_id'];
- $value_set['order_descr'] =
$this->db->db_addslashes($ticket['order_descr']);
- $value_set['ecodimb'] = $ticket['ecodimb'];
- $value_set['budget'] = $ticket['budget'];
- $value_set =
$this->db->validate_update($value_set);
- $this->db->query("UPDATE phpgw_helpdesk_tickets SET
$value_set WHERE id={$id}",__LINE__,__FILE__);
+ if ($ticket['billable_hours'])
+ {
+ $ticket['billable_hours'] =
(float)str_replace(',', '.', $ticket['billable_hours']);
+ $ticket['billable_hours'] +=
(float)$old_billable_hours;
+ $this->db->query("UPDATE phpgw_helpdesk_tickets
SET billable_hours='{$ticket['billable_hours']}'"
+ . " WHERE id='{$id}'", __LINE__,
__FILE__);
+ $this->historylog->add('H', $id,
$ticket['billable_hours'], $old_billable_hours);
+ $receipt['message'][] = array('msg' =>
lang('billable hours has been updated'));
+ }
- $this->db->transaction_commit();
- if (isset($this->fields_updated))
+ $value_set = array();
+
+ if (isset($ticket['extra']) &&
is_array($ticket['extra']) && $ticket['extra'])
{
- $receipt['message'][]= array('msg' =>
lang('Ticket has been updated'));
+ foreach ($ticket['extra'] as $column => $value)
+ {
+ $value_set[$column] = $value;
+ }
- $criteria = array
- (
- 'appname' => 'helpdesk',
- 'location' =>
$this->acl_location,
- 'allrows' => true
- );
+ $value_set =
$this->db->validate_update($value_set);
- $custom_functions =
$GLOBALS['phpgw']->custom_functions->find($criteria);
+ $this->db->query("UPDATE phpgw_helpdesk_tickets
SET $value_set WHERE id={$id}", __LINE__, __FILE__);
+ }
- foreach ( $custom_functions as $entry )
- {
- // prevent path traversal
- if ( preg_match('/\.\./',
$entry['file_name']) )
- {
- continue;
- }
+ $this->db->transaction_commit();
- $file = PHPGW_SERVER_ROOT .
"/helpdesk/inc/custom/{$GLOBALS['phpgw_info']['user']['domain']}/{$entry['file_name']}";
- if ( $entry['active'] && is_file($file)
)
- {
- require_once $file;
- }
- }
+ if (isset($this->fields_updated) &&
$this->fields_updated)
+ {
+ $receipt['message'][] = array('msg' =>
lang('Ticket has been updated'));
}
return $receipt;
}
@@ -1109,7 +1062,7 @@
'deadline'
=> ''
);
-
execMethod('helpdesk.sopending_action.close_pending_action', $action_params);
+
execMethod('property.sopending_action.close_pending_action', $action_params);
unset($action_params);
}
if ($this->db->f('in_progress') )
@@ -1126,7 +1079,7 @@
'deadline'
=> ''
);
-
execMethod('helpdesk.sopending_action.close_pending_action', $action_params);
+
execMethod('property.sopending_action.close_pending_action', $action_params);
unset($action_params);
}
@@ -1152,7 +1105,7 @@
$this->db->query("DELETE FROM fm_action_pending WHERE
location_id = {$location_id} AND item_id = {$id}",__LINE__,__FILE__);
$this->db->query("DELETE FROM phpgw_interlink WHERE
location1_id = {$location_id} AND location1_item_id = {$id}",__LINE__,__FILE__);
$this->db->query("DELETE FROM phpgw_interlink WHERE
location2_id = {$location_id} AND location2_item_id = {$id}",__LINE__,__FILE__);
- $this->db->query("DELETE FROM phpgw_helpdesk_history
WHERE history_record_id = {$id}",__LINE__,__FILE__);
+ $this->db->query("DELETE FROM phpgw_history_log WHERE
history_record_id = {$id}",__LINE__,__FILE__);
$this->db->query("DELETE FROM phpgw_helpdesk_views
WHERE id = {$id}",__LINE__,__FILE__);
$this->db->query("DELETE FROM phpgw_helpdesk_tickets
WHERE id = {$id}",__LINE__,__FILE__);
Modified: branches/Version-2_0-branch/helpdesk/inc/class.uitts.inc.php
===================================================================
--- branches/Version-2_0-branch/helpdesk/inc/class.uitts.inc.php
2016-08-30 10:38:55 UTC (rev 15541)
+++ branches/Version-2_0-branch/helpdesk/inc/class.uitts.inc.php
2016-08-30 11:14:07 UTC (rev 15542)
@@ -45,9 +45,12 @@
'download' => true,
'view_file' => true,
'edit_status' => true,
+ 'edit_priority' => true,
'get_vendor_email' => true,
'_print' => true,
- 'columns' => true
+ 'columns' => true,
+ 'update_data' => true,
+ 'upload_clip' => true
);
/**
@@ -282,18 +285,6 @@
$name[] = 'entry_date';
$name[] = 'status';
- if( $this->acl->check('.ticket.order', PHPGW_ACL_READ,
'helpdesk') )
- {
- $name[] = 'order_id';
- $name[] = 'vendor';
- }
-
- if( $this->acl->check('.ticket.order', PHPGW_ACL_ADD,
'helpdesk') )
- {
- $name[] = 'estimate';
- $name[] = 'actual_cost';
- }
-
$uicols_related = $this->bo->uicols_related;
foreach($uicols_related as $related)
@@ -319,12 +310,14 @@
array_push($descr,$_name);
}
- $name[] = 'finnish_date';
- $name[] = 'delay';
+ if($this->_show_finnish_date)
+ {
+ $name[] = 'finnish_date';
+ $name[] = 'delay';
+ array_push($descr,lang('finnish
date'),lang('delay'));
+ }
- array_push($descr,lang('finnish date'),lang('delay'));
-
$custom_cols =
isset($GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['ticket_columns'])
? $GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['ticket_columns']
: array();
foreach ($custom_cols as $col)
@@ -355,6 +348,28 @@
return "id ".$id." ".lang('Status has been changed');
}
+ function edit_priority()
+ {
+ if (!$this->acl_edit)
+ {
+ return lang('sorry - insufficient rights');
+ }
+
+ $new_priority = phpgw::get_var('new_priority', 'int');
+ $id = phpgw::get_var('id', 'int');
+
+// $ticket = $this->bo->read_single($id);
+
+ $receipt = $this->bo->update_priority(array('priority'
=> $new_priority), $id);
+ if
((isset($this->bo->config->config_data['mailnotification']) &&
$this->bo->config->config_data['mailnotification']) ||
(isset($GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['tts_notify_me'])
&& $GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['tts_notify_me']
== 1 && $this->bo->fields_updated
+ )
+ )
+ {
+ $receipt = $this->bo->mail_ticket($id,
$this->bo->fields_updated, $receipt);
+ }
+ return "id {$id} " . lang('priority has been changed');
+ }
+
function delete()
{
if(!$this->acl_delete)
@@ -446,7 +461,7 @@
$uicols['name'][] = 'link_view';
$uicols['descr'][] = lang('link view');
$uicols['name'][] = 'lang_view_statustext';
- $uicols['descr'][] = lang('lang view statustext');
+ $uicols['descr'][] = lang('view statustext');
$uicols['name'][] = 'text_view';
$uicols['descr'][] = lang('text view');
@@ -538,7 +553,7 @@
'list' => $values_combo_box[3]
);
- if(!$this->simple)
+ if(!$this->_simple)
{
$values_combo_box[0] =
$this->cats->formatted_xslt_list(array('format' => 'filter',
'selected' => $this->cat_id, 'globals'
=> true, 'use_acl' => $this->_category_acl));
@@ -736,119 +751,121 @@
'parameters' => json_encode($parameters)
);
-
- $jasper = execMethod('property.sojasper.read',
array('location_id' => $GLOBALS['phpgw']->locations->get_id('helpdesk',
$this->acl_location)));
-
- foreach ($jasper as $report)
+ if(!$this->_simple)
{
- $data['datatable']['actions'][] = array
- (
- 'my_name' => 'edit',
- 'text' => lang('open JasperReport %1 in
new window', $report['title']),
- 'action' =>
$GLOBALS['phpgw']->link('/index.php', array
- (
- 'menuaction' =>
'helpdesk.uijasper.view',
- 'jasper_id' => $report['id'],
- 'target' => '_blank'
- )),
- 'parameters' => json_encode($parameters)
- );
- }
+ $jasper = execMethod('property.sojasper.read',
array('location_id' => $GLOBALS['phpgw']->locations->get_id('helpdesk',
$this->acl_location)));
- if ($this->acl_delete)
- {
- $data['datatable']['actions'][] = array
- (
- 'my_name' => 'delete',
- 'statustext' => lang('delete the
ticket'),
- 'text' => lang('delete'),
- 'confirm_msg' => lang('do you really
want to delete this ticket'),
- 'action' =>
$GLOBALS['phpgw']->link('/index.php', array
- (
- 'menuaction' =>
'helpdesk.uitts.delete'
- )),
- 'parameters' => json_encode($parameters)
- );
- }
-
- if
(isset($GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['tts_status_link'])
&&
$GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['tts_status_link'] ==
'yes' && $this->acl_edit)
- {
- $status['X'] = array
- (
- 'status' => lang('closed'),
- );
- $status['O'] = array
- (
- 'status' =>
isset($this->bo->config->config_data['tts_lang_open']) &&
$this->bo->config->config_data['tts_lang_open'] ?
$this->bo->config->config_data['tts_lang_open'] : lang('Open'),
- );
-
- $custom_status = $this->bo->get_custom_status();
-
- foreach ($custom_status as $custom)
+ foreach ($jasper as $report)
{
- $status["C{$custom['id']}"] = array
- (
- 'status' => $custom['name'],
- );
- }
-
- foreach ($status as $status_code =>
$status_info)
- {
$data['datatable']['actions'][] = array
(
- 'my_name' => 'status',
- 'statustext' =>
$status_info['status'],
- 'text' => lang('change to') . '
status: ' . $status_info['status'],
- 'confirm_msg' => lang('do you
really want to change the status to %1', $status_info['status']),
+ 'my_name' => 'edit',
+ 'text' => lang('open
JasperReport %1 in new window', $report['title']),
'action' =>
$GLOBALS['phpgw']->link('/index.php', array
(
- 'menuaction' =>
'helpdesk.uitts.edit_status',
- 'edit_status' => true,
- 'new_status' =>
$status_code,
- 'second_display' =>
true,
- 'sort' => $this->sort,
- 'order' => $this->order,
- 'cat_id' =>
$this->cat_id,
- 'filter' =>
$this->filter,
- 'user_filter' =>
$this->user_filter,
- 'query' => $this->query,
- 'district_id' =>
$this->district_id,
- 'allrows' =>
$this->allrows,
- 'delete' => 'dummy'//
FIXME to trigger the json in property.js.
+ 'menuaction' =>
'helpdesk.uijasper.view',
+ 'jasper_id' =>
$report['id'],
+ 'target' => '_blank'
)),
'parameters' =>
json_encode($parameters)
);
}
- $_priorities = $this->bo->get_priority_list();
-
- foreach ($_priorities as $_priority_info)
+ if ($this->acl_delete)
{
$data['datatable']['actions'][] = array
(
- 'my_name' => 'priority',
- 'statustext' =>
$_priority_info['name'],
- 'text' => lang('change to') . '
' . lang('priority') . ': ' . $_priority_info['name'],
- 'confirm_msg' => lang('do you
really want to change the priority to %1', $_priority_info['name']),
+ 'my_name' => 'delete',
+ 'statustext' => lang('delete
the ticket'),
+ 'text' => lang('delete'),
+ 'confirm_msg' => lang('do you
really want to delete this ticket'),
'action' =>
$GLOBALS['phpgw']->link('/index.php', array
(
- 'menuaction' =>
'helpdesk.uitts.edit_priority',
- 'edit_status' => true,
- 'new_priority' =>
$_priority_info['id'],
- 'second_display' =>
true,
- 'sort' => $this->sort,
- 'order' => $this->order,
- 'cat_id' =>
$this->cat_id,
- 'filter' =>
$this->filter,
- 'user_filter' =>
$this->user_filter,
- 'query' => $this->query,
- 'district_id' =>
$this->district_id,
- 'allrows' =>
$this->allrows,
- 'delete' => 'dummy'//
FIXME to trigger the json in property.js.
+ 'menuaction' =>
'helpdesk.uitts.delete'
)),
'parameters' =>
json_encode($parameters)
);
}
+
+ if
(isset($GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['tts_status_link'])
&&
$GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['tts_status_link'] ==
'yes' && $this->acl_edit)
+ {
+ $status['X'] = array
+ (
+ 'status' => lang('closed'),
+ );
+ $status['O'] = array
+ (
+ 'status' =>
isset($this->bo->config->config_data['tts_lang_open']) &&
$this->bo->config->config_data['tts_lang_open'] ?
$this->bo->config->config_data['tts_lang_open'] : lang('Open'),
+ );
+
@@ Diff output truncated at 153600 characters. @@
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [15542] Stable: Merge 15359:15541 from trunk,
sigurdne <=