[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [16738] Syncromind: Merge 16588:16737 from trunk
From: |
sigurdne |
Subject: |
[Fmsystem-commits] [16738] Syncromind: Merge 16588:16737 from trunk |
Date: |
Sat, 13 May 2017 10:15:16 -0400 (EDT) |
Revision: 16738
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=16738
Author: sigurdne
Date: 2017-05-13 10:15:15 -0400 (Sat, 13 May 2017)
Log Message:
-----------
Syncromind: Merge 16588:16737 from trunk
Modified Paths:
--------------
branches/dev-syncromind-2/activitycalendar/inc/class.soactivity.inc.php
branches/dev-syncromind-2/admin/inc/class.uiaccounts.inc.php
branches/dev-syncromind-2/booking/inc/class.bobooking.inc.php
branches/dev-syncromind-2/booking/inc/class.socommon.inc.php
branches/dev-syncromind-2/booking/inc/class.socompleted_reservation_export.inc.php
branches/dev-syncromind-2/booking/inc/class.uiallocation.inc.php
branches/dev-syncromind-2/booking/templates/base/allocation_new.xsl
branches/dev-syncromind-2/bookingfrontend/inc/custom/default/MinId.php
branches/dev-syncromind-2/eventplanner/inc/class.socalendar.inc.php
branches/dev-syncromind-2/eventplanner/inc/class.socustomer.inc.php
branches/dev-syncromind-2/eventplanner/inc/class.sovendor.inc.php
branches/dev-syncromind-2/eventplanner/inc/class.uiapplication.inc.php
branches/dev-syncromind-2/eventplanner/inc/class.uibooking.inc.php
branches/dev-syncromind-2/eventplanner/inc/class.uicustomer.inc.php
branches/dev-syncromind-2/eventplanner/inc/class.uievents.inc.php
branches/dev-syncromind-2/eventplanner/inc/class.uivendor.inc.php
branches/dev-syncromind-2/eventplanner/inc/model/class.application.inc.php
branches/dev-syncromind-2/eventplanner/inc/model/class.booking.inc.php
branches/dev-syncromind-2/eventplanner/inc/model/class.customer.inc.php
branches/dev-syncromind-2/eventplanner/inc/model/class.vendor.inc.php
branches/dev-syncromind-2/eventplanner/js/portico/application.edit.js
branches/dev-syncromind-2/eventplanner/setup/phpgw_no.lang
branches/dev-syncromind-2/eventplanner/setup/setup.inc.php
branches/dev-syncromind-2/eventplanner/setup/tables_current.inc.php
branches/dev-syncromind-2/eventplanner/setup/tables_update.inc.php
branches/dev-syncromind-2/eventplanner/templates/base/application.xsl
branches/dev-syncromind-2/eventplanner/templates/base/application_info.xsl
branches/dev-syncromind-2/eventplanner/templates/base/customer.xsl
branches/dev-syncromind-2/eventplannerfrontend/js/portico/application.edit.js
branches/dev-syncromind-2/eventplannerfrontend/templates/base/application.xsl
branches/dev-syncromind-2/eventplannerfrontend/templates/base/application_info.xsl
branches/dev-syncromind-2/eventplannerfrontend/templates/base/customer.xsl
branches/dev-syncromind-2/eventplannerfrontend/templates/base/events.xsl
branches/dev-syncromind-2/eventplannerfrontend/templates/base/vendor.xsl
branches/dev-syncromind-2/helpdesk/inc/class.boemail_out.inc.php
branches/dev-syncromind-2/helpdesk/inc/class.botts.inc.php
branches/dev-syncromind-2/helpdesk/inc/class.sogeneric.inc.php
branches/dev-syncromind-2/helpdesk/inc/class.sotts.inc.php
branches/dev-syncromind-2/helpdesk/inc/class.uitts.inc.php
branches/dev-syncromind-2/helpdesk/inc/custom/default/ticket_LRS_pre_commit_validate.php
branches/dev-syncromind-2/helpdesk/inc/hook_config.inc.php
branches/dev-syncromind-2/helpdesk/js/portico/tts.add.js
branches/dev-syncromind-2/helpdesk/setup/phpgw_no.lang
branches/dev-syncromind-2/helpdesk/setup/setup.inc.php
branches/dev-syncromind-2/helpdesk/setup/tables_current.inc.php
branches/dev-syncromind-2/helpdesk/setup/tables_update.inc.php
branches/dev-syncromind-2/helpdesk/templates/base/config.tpl
branches/dev-syncromind-2/helpdesk/templates/base/files.xsl
branches/dev-syncromind-2/helpdesk/templates/base/tts.xsl
branches/dev-syncromind-2/phpgwapi/inc/accounts/class.accounts_.inc.php
branches/dev-syncromind-2/phpgwapi/inc/accounts/class.accounts_ldap.inc.php
branches/dev-syncromind-2/phpgwapi/inc/accounts/class.accounts_sql.inc.php
branches/dev-syncromind-2/phpgwapi/inc/auth/class.auth_customsso.inc.php
branches/dev-syncromind-2/phpgwapi/inc/class.acl.inc.php
branches/dev-syncromind-2/phpgwapi/inc/class.bocommon.inc.php
branches/dev-syncromind-2/phpgwapi/inc/class.db.inc.php
branches/dev-syncromind-2/phpgwapi/inc/class.db_adodb.inc.php
branches/dev-syncromind-2/phpgwapi/inc/class.db_pdo.inc.php
branches/dev-syncromind-2/phpgwapi/inc/class.jquery.inc.php
branches/dev-syncromind-2/phpgwapi/inc/class.login.inc.php
branches/dev-syncromind-2/phpgwapi/inc/class.sessions.inc.php
branches/dev-syncromind-2/phpgwapi/inc/class.socommon.inc.php
branches/dev-syncromind-2/phpgwapi/inc/class.uicommon_jquery.inc.php
branches/dev-syncromind-2/phpgwapi/inc/pdf/extensions/CezTableImage.php
branches/dev-syncromind-2/phpgwapi/inc/xmlrpc/lib/xmlrpc.inc
branches/dev-syncromind-2/phpgwapi/inc/xmlrpc/lib/xmlrpc_wrappers.inc
branches/dev-syncromind-2/phpgwapi/inc/xmlrpc/lib/xmlrpcs.inc
branches/dev-syncromind-2/phpgwapi/js/jquery/common.js
branches/dev-syncromind-2/phpgwapi/templates/base/attributes_form.xsl
branches/dev-syncromind-2/phpgwapi/templates/base/css/base.css
branches/dev-syncromind-2/phpgwapi/templates/base/files.xsl
branches/dev-syncromind-2/phpgwapi/templates/portico/css/base.css
branches/dev-syncromind-2/phpgwapi/templates/portico/head.inc.php
branches/dev-syncromind-2/phpgwapi/templates/pure/css/demo_mmenu.css
branches/dev-syncromind-2/phpgwapi/templates/pure/head.inc.php
branches/dev-syncromind-2/phpgwapi/templates/pure/js/mmenu.js
branches/dev-syncromind-2/preferences/templates/base/index.tpl
branches/dev-syncromind-2/property/inc/class.bogeneric.inc.php
branches/dev-syncromind-2/property/inc/class.bolocation.inc.php
branches/dev-syncromind-2/property/inc/class.botts.inc.php
branches/dev-syncromind-2/property/inc/class.custom_fields.inc.php
branches/dev-syncromind-2/property/inc/class.hook_helper.inc.php
branches/dev-syncromind-2/property/inc/class.menu.inc.php
branches/dev-syncromind-2/property/inc/class.soentity.inc.php
branches/dev-syncromind-2/property/inc/class.sogeneric_.inc.php
branches/dev-syncromind-2/property/inc/class.sopending_action.inc.php
branches/dev-syncromind-2/property/inc/class.soproject.inc.php
branches/dev-syncromind-2/property/inc/class.sotts.inc.php
branches/dev-syncromind-2/property/inc/class.soworkorder.inc.php
branches/dev-syncromind-2/property/inc/class.uidimb_role_user.inc.php
branches/dev-syncromind-2/property/inc/class.uientity.inc.php
branches/dev-syncromind-2/property/inc/class.uigeneric.inc.php
branches/dev-syncromind-2/property/inc/class.uiproject.inc.php
branches/dev-syncromind-2/property/inc/class.uitts.inc.php
branches/dev-syncromind-2/property/inc/class.uiwo_hour.inc.php
branches/dev-syncromind-2/property/inc/class.uiworkorder.inc.php
branches/dev-syncromind-2/property/inc/cron/default/Import_fra_agresso_X205_BK.php
branches/dev-syncromind-2/property/inc/custom/default/BkBygg_lag_Agresso_ordre_fra_melding.php
branches/dev-syncromind-2/property/inc/custom/default/BkBygg_lag_Agresso_ordre_fra_workorder.php
branches/dev-syncromind-2/property/inc/hook_config.inc.php
branches/dev-syncromind-2/property/js/portico/condition_survey.js
branches/dev-syncromind-2/property/js/portico/custom.edit.js
branches/dev-syncromind-2/property/js/portico/invoice.list_sub.js
branches/dev-syncromind-2/property/js/portico/project.edit.js
branches/dev-syncromind-2/property/js/portico/request.edit.js
branches/dev-syncromind-2/property/js/portico/tenant_claim.edit.js
branches/dev-syncromind-2/property/js/portico/tts.view.js
branches/dev-syncromind-2/property/js/portico/wo_hour.deviation.js
branches/dev-syncromind-2/property/js/portico/wo_hour.index.js
branches/dev-syncromind-2/property/setup/phpgw_no.lang
branches/dev-syncromind-2/property/setup/setup.inc.php
branches/dev-syncromind-2/property/setup/tables_current.inc.php
branches/dev-syncromind-2/property/setup/tables_update.inc.php
branches/dev-syncromind-2/property/templates/base/attributes_view.xsl
branches/dev-syncromind-2/property/templates/base/cat_select.xsl
branches/dev-syncromind-2/property/templates/base/cat_sub_select.xsl
branches/dev-syncromind-2/property/templates/base/config.tpl
branches/dev-syncromind-2/property/templates/base/css/base.css
branches/dev-syncromind-2/property/templates/base/dimb_role_user.xsl
branches/dev-syncromind-2/property/templates/base/entity.xsl
branches/dev-syncromind-2/property/templates/base/group_select.xsl
branches/dev-syncromind-2/property/templates/base/location_form.xsl
branches/dev-syncromind-2/property/templates/base/location_form2.xsl
branches/dev-syncromind-2/property/templates/base/project.xsl
branches/dev-syncromind-2/property/templates/base/status_select.xsl
branches/dev-syncromind-2/property/templates/base/tts.xsl
branches/dev-syncromind-2/property/templates/base/user_id_select.xsl
branches/dev-syncromind-2/property/templates/base/workorder.xsl
branches/dev-syncromind-2/rental/inc/class.soparty.inc.php
branches/dev-syncromind-2/setup/templates/base/config.tpl
branches/dev-syncromind-2/xmlrpc.php
Added Paths:
-----------
branches/dev-syncromind-2/phpgwapi/js/jquery/js/jquery-3.2.1.min.js
branches/dev-syncromind-2/property/inc/class.bosubstitute.inc.php
branches/dev-syncromind-2/property/inc/class.sosubstitute.inc.php
branches/dev-syncromind-2/property/inc/class.uisubstitute.inc.php
branches/dev-syncromind-2/property/js/portico/substitute.index.js
branches/dev-syncromind-2/property/templates/base/substitute.xsl
Property Changed:
----------------
branches/dev-syncromind-2/
branches/dev-syncromind-2/booking/
branches/dev-syncromind-2/bookingfrontend/
Index: branches/dev-syncromind-2
===================================================================
--- branches/dev-syncromind-2 2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2 2017-05-13 14:15:15 UTC (rev 16738)
Property changes on: branches/dev-syncromind-2
___________________________________________________________________
Modified: svn:mergeinfo
## -1,3 +1,3 ##
/branches/dev-syncromind:13653
/branches/stavangerkommune:12743-12875,12986
-/trunk:14934-14935,15165-15215,15218-15220,15222-15304,15306-15337,15339,15341-15398,15400-15421,15423-15474,15476-15607,15609,15611,15613-15652,15654-15732,15734,15736-15746,15750-15770,15772-15775,15777-15795,15797-15798,15800-15812,15814-15838,15840,15842-15888,15890,15892-15997,15999-16097,16103-16128,16131-16187,16190-16299,16301-16393,16396-16586
\ No newline at end of property
+/trunk:14934-14935,15165-15215,15218-15220,15222-15304,15306-15337,15339,15341-15398,15400-15421,15423-15474,15476-15607,15609,15611,15613-15652,15654-15732,15734,15736-15746,15750-15770,15772-15775,15777-15795,15797-15798,15800-15812,15814-15838,15840,15842-15888,15890,15892-15997,15999-16097,16103-16128,16131-16187,16190-16299,16301-16393,16396-16586,16589-16737
\ No newline at end of property
Modified:
branches/dev-syncromind-2/activitycalendar/inc/class.soactivity.inc.php
===================================================================
--- branches/dev-syncromind-2/activitycalendar/inc/class.soactivity.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/activitycalendar/inc/class.soactivity.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -777,7 +777,7 @@
$this->soap = $soap;
//fromdate -> innparam for uthenting av delta -
timestamp
$whereclause_date = "";
- if ($parameters['fromdate'])
+ if (isset($parameters['fromdate']) &&
$parameters['fromdate'])
{
$from_date = (int)$parameters['fromdate'];
$whereclause_date = "AND last_change_date >
{$from_date}";
Modified: branches/dev-syncromind-2/admin/inc/class.uiaccounts.inc.php
===================================================================
--- branches/dev-syncromind-2/admin/inc/class.uiaccounts.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/admin/inc/class.uiaccounts.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -164,6 +164,15 @@
$valid_users = array_unique($valid_users);
+ $my_membership = $accounts->membership();
+
+ foreach ($my_membership as $group_id => $info)
+ {
+ $members = $accounts->member($group_id);
+ $valid_users =
array_merge($valid_users, array_keys($members));
+ }
+ $valid_users = array_unique($valid_users);
+
$account_list =
$GLOBALS['phpgw']->accounts->get_list('accounts', -1,$dir, $order, $query);
foreach($account_list as $user)
{
@@ -291,6 +300,10 @@
$valid_users = array();
foreach($available_apps as $_app => $dummy)
{
+ if($_app == 'admin')
+ {
+ continue;
+ }
if($GLOBALS['phpgw']->acl->check('admin', phpgwapi_acl::ADD, $_app))
{
$valid_users =
array_merge($valid_users, $GLOBALS['phpgw']->acl->get_ids_for_location('run',
phpgwapi_acl::READ, $_app));
@@ -299,10 +312,12 @@
$valid_users = array_unique($valid_users);
+ $admin_groups =
$GLOBALS['phpgw']->acl->get_ids_for_location('run', phpgwapi_acl::READ,
'admin');
+
$allusers =
$GLOBALS['phpgw']->accounts->get_list('groups', -1,$this->sort, $this->order,
$this->query);
foreach($allusers as $user)
{
- if(!in_array($user->id, $valid_users))
+ if(!in_array($user->id, $valid_users)
|| in_array($user->id, $admin_groups))
{
unset($allusers[$user->id]);
}
@@ -982,6 +997,15 @@
return array('error' => 'error');
}
+ /**
+ * Go away
+ */
+ $test_admins =
$GLOBALS['phpgw']->acl->get_ids_for_location('run', phpgwapi_acl::READ,
'admin');
+ if(in_array($group_id, $test_admins) &&
!$GLOBALS['phpgw']->acl->check('run', phpgwapi_acl::READ, 'admin'))
+ {
+ return array('error' => 'error');
+ }
+
$acl = createObject('phpgwapi.acl', $group_id);
$is_admin_group = $acl->check('run',
phpgwapi_acl::READ, 'admin');
$current_user =
$GLOBALS['phpgw_info']['user']['account_id'];
@@ -998,6 +1022,7 @@
$GLOBALS['phpgw']->accounts->delete_account4group($user_id, $group_id);
//Delete cached menu for members of
group
phpgwapi_cache::user_clear('phpgwapi',
'menu', $user_id);
+
$GLOBALS['phpgw']->acl->clear_user_cache($user_id);
}
return array('message' => 'OK');
}
@@ -1032,6 +1057,7 @@
$GLOBALS['phpgw']->accounts->delete_account4group($entry['account_id'],
$group_id);
//Delete cached menu for members of
group
phpgwapi_cache::user_clear('phpgwapi',
'menu', $entry['account_id']);
+
$GLOBALS['phpgw']->acl->clear_user_cache($entry['account_id']);
}
return array('message' => 'OK');
}
@@ -1049,6 +1075,15 @@
return array('error' => 'error');
}
+ /**
+ * Do not get to elevate to admin rights
+ */
+ $test_admins =
$GLOBALS['phpgw']->acl->get_ids_for_location('run', phpgwapi_acl::READ,
'admin');
+ if(in_array($group_id, $test_admins) &&
!$GLOBALS['phpgw']->acl->check('run', phpgwapi_acl::READ, 'admin'))
+ {
+ return array('error' => 'error');
+ }
+
if($group_id && isset($_POST['account_user']))
{
foreach ($account_user as $user_id)
@@ -1056,6 +1091,7 @@
$GLOBALS['phpgw']->accounts->add_user2group($user_id, $group_id);
//Delete cached menu for members of
group
phpgwapi_cache::user_clear('phpgwapi',
'menu', $user_id);
+
$GLOBALS['phpgw']->acl->clear_user_cache($user_id);
}
return array('message' => 'OK');
}
Index: branches/dev-syncromind-2/booking
===================================================================
--- branches/dev-syncromind-2/booking 2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/booking 2017-05-13 14:15:15 UTC (rev 16738)
Property changes on: branches/dev-syncromind-2/booking
___________________________________________________________________
Modified: svn:mergeinfo
## -1,2 +1,2 ##
/branches/stavangerkommune/booking:9468-12740,12743-12875,12986
-/trunk/booking:14937-15027,15165-15215,15253-15304,15306-15337,15341-15398,15476-15607,15613-15652,15654-15732,15814-15838,15892-15997,15999-16097,16131-16187,16301-16393,16396-16586
\ No newline at end of property
+/trunk/booking:14937-15027,15165-15215,15253-15304,15306-15337,15341-15398,15476-15607,15613-15652,15654-15732,15814-15838,15892-15997,15999-16097,16131-16187,16301-16393,16396-16586,16589-16737
\ No newline at end of property
Modified: branches/dev-syncromind-2/booking/inc/class.bobooking.inc.php
===================================================================
--- branches/dev-syncromind-2/booking/inc/class.bobooking.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/booking/inc/class.bobooking.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -1128,7 +1128,11 @@
// echo "A0: break ef <= bf && et >= bt\n\n";
break;
}
- elseif (($ef >= $bf) &&
($et > $bt))
+ //elseif (($ef >= $bf)
&& ($et > $bt))
+ /**
+ * Sigurd 20170425 -
altered in an attempt to keep allocations from disappearing.
+ */
+ elseif (($ef >= $bf) &&
($et >= $bt))
{
// echo "A1: (ef >= bf) && (et > bt)\n";
$tmp['from_'] =
$bf;
Modified: branches/dev-syncromind-2/booking/inc/class.socommon.inc.php
===================================================================
--- branches/dev-syncromind-2/booking/inc/class.socommon.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/booking/inc/class.socommon.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -576,7 +576,10 @@
while
($this->db->next_record())
{
$id =
$this->_unmarshal($this->db->f($key, false), 'int');
-
$results[$id_map[$id]][$field] = array();
+
if(empty($results[$id_map[$id]][$field]))
+ {
+
$results[$id_map[$id]][$field] = array();
+ }
$data = array();
foreach
($params['manytomany']['column'] as $intOrCol => $paramsOrCol)
{
@@ -604,7 +607,7 @@
while
($this->db->next_record())
{
$id =
$this->_unmarshal($this->db->f($key, false), 'int');
-
if(!isset($results[$id_map[$id]][$field]))
+
if(empty($results[$id_map[$id]][$field]))
{
$results[$id_map[$id]][$field] = array();
}
Modified:
branches/dev-syncromind-2/booking/inc/class.socompleted_reservation_export.inc.php
===================================================================
---
branches/dev-syncromind-2/booking/inc/class.socompleted_reservation_export.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++
branches/dev-syncromind-2/booking/inc/class.socompleted_reservation_export.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -992,7 +992,20 @@
$log_cost = $reservation['cost'];
$log_varelinjer_med_dato =
$reservation['article_description'] . ' - ' . $reservation['description'];
- $log[] = $reservation['id'] . ';' .
$reservation['reservation_type'] . ';' . $log_order_id . ';' .
$log_customer_name . ' - ' . $log_customer_nr . ';' . $log_varelinjer_med_dato
. ';' . $log_buidling . ';' . $log_cost;
+ $line_field = array();
+
+ $line_field[] =
"\"{$reservation['id']}\"";
+ $line_field[] =
"\"{$reservation['reservation_type']}\"";
+ $line_field[] = "\"{$log_order_id}\"";
+ $line_field[] =
"\"{$log_customer_name}\"";
+ $line_field[] =
"\"{$log_customer_nr}\"";
+ $line_field[] =
"\"{$log_varelinjer_med_dato}\"";
+ $line_field[] = "\"{$log_buidling}\"";
+ $line_field[] = "\"{$log_cost}\"";
+
+ $log[] = implode(';', $line_field);
+
+// $log[] = $reservation['id'] . ';' .
$reservation['reservation_type'] . ';' . $log_order_id . ';' .
$log_customer_name . ' - ' . $log_customer_nr . ';' . $log_varelinjer_med_dato
. ';' . $log_buidling . ';' . $log_cost;
}
else
{
@@ -1108,7 +1121,7 @@
$file_format_linebreak = "\n";
}
- return array('data' => implode($file_format_linebreak,
$output), 'data_log' => implode("\n", $log),
+ return array('data' => implode($file_format_linebreak,
$output), 'data_log' => implode(PHP_EOL, $log),
'info' => $export_info, 'header_count' =>
$header_count);
}
@@ -1360,7 +1373,7 @@
$file_format_linebreak = "\n";
}
- return array('data' => implode($file_format_linebreak,
$output), 'data_log' => implode("\n", $log),
+ return array('data' => implode($file_format_linebreak,
$output), 'data_log' => implode(PHP_EOL, $log),
'info' => $export_info, 'header_count' =>
$header_count);
}
Modified: branches/dev-syncromind-2/booking/inc/class.uiallocation.inc.php
===================================================================
--- branches/dev-syncromind-2/booking/inc/class.uiallocation.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/booking/inc/class.uiallocation.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -436,8 +436,8 @@
}
else
{
- $timeFrom = $dateTimeFromE[1];
- $timeTo = $dateTimeToE[1];
+ $timeFrom = end($dateTimeFromE);
+ $timeTo = end($dateTimeToE);
}
array_set_default($allocation, 'resources',
array(phpgw::get_var('resource', 'int')));
Modified: branches/dev-syncromind-2/booking/templates/base/allocation_new.xsl
===================================================================
--- branches/dev-syncromind-2/booking/templates/base/allocation_new.xsl
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/booking/templates/base/allocation_new.xsl
2017-05-13 14:15:15 UTC (rev 16738)
@@ -51,7 +51,7 @@
</xsl:attribute>
</input>
</div>
- <div class="pure-control-group">
+ <!--div class="pure-control-group">
<label for="field_weekday">
<xsl:value-of
select="php:function('lang', 'Weekday')" />
</label>
@@ -99,7 +99,7 @@
<xsl:value-of
select="php:function('lang', 'Sunday')" />
</option>
</select>
- </div>
+ </div-->
<div class="pure-control-group">
<label for="field_from">
<xsl:value-of
select="php:function('lang', 'From')" />
Index: branches/dev-syncromind-2/bookingfrontend
===================================================================
--- branches/dev-syncromind-2/bookingfrontend 2017-05-13 04:35:18 UTC (rev
16737)
+++ branches/dev-syncromind-2/bookingfrontend 2017-05-13 14:15:15 UTC (rev
16738)
Property changes on: branches/dev-syncromind-2/bookingfrontend
___________________________________________________________________
Modified: svn:mergeinfo
## -1,2 +1,2 ##
/branches/stavangerkommune/bookingfrontend:9468-12740,12986
-/trunk/bookingfrontend:14937-15027,15253-15304,15306-15337,15476-15607,15613-15652,15814-15838,15892-15997,16131-16187,16190-16299,16301-16393,16396-16586
\ No newline at end of property
+/trunk/bookingfrontend:14937-15027,15253-15304,15306-15337,15476-15607,15613-15652,15814-15838,15892-15997,16131-16187,16190-16299,16301-16393,16396-16586,16589-16737
\ No newline at end of property
Modified: branches/dev-syncromind-2/bookingfrontend/inc/custom/default/MinId.php
===================================================================
--- branches/dev-syncromind-2/bookingfrontend/inc/custom/default/MinId.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/bookingfrontend/inc/custom/default/MinId.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -117,7 +117,12 @@
}
catch (Exception $e)
{
- $status = lang('unable_to_connect_to_database');
+ $GLOBALS['phpgw']->log->error(array(
+ 'text' =>
'bookingfrontend_external_user::get_breg_orgs() : error when trying to connect.
Error: %1',
+ 'p1' => $db->get_error_message(),
+ 'line' => __LINE__,
+ 'file' => __FILE__
+ ));
}
$sql = "SELECT DISTINCT orgnr FROM breg.personcurrent
WHERE fodselsnr ='{$fodselsnr}'";
Modified: branches/dev-syncromind-2/eventplanner/inc/class.socalendar.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/class.socalendar.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplanner/inc/class.socalendar.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -148,8 +148,13 @@
break;
case 'delete':
- $sql = "DELETE FROM
eventplanner_calendar WHERE customer_id IS NULL";
- $where = 'AND';
+ $this->db->transaction_begin();
+ $sql = "DELETE FROM
eventplanner_calendar_comment WHERE calendar_id IN(". implode(',', $ids) . ')';
+
$this->db->query($sql,__LINE__,__FILE__);
+
+ $sql = "DELETE FROM
eventplanner_calendar WHERE id IN(". implode(',', $ids) . ')';
+
$this->db->query($sql,__LINE__,__FILE__);
+ return $this->db->transaction_commit();
break;
case 'disconnect':
Modified: branches/dev-syncromind-2/eventplanner/inc/class.socustomer.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/class.socustomer.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplanner/inc/class.socustomer.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -58,6 +58,11 @@
function get_acl_condition( )
{
$acl_condition = parent::get_acl_condition();
+
+ if($this->relaxe_acl)
+ {
+ return $acl_condition;
+ }
$sql = "SELECT object_id, permission FROM
eventplanner_permission WHERE subject_id = {$this->account}";
$this->db->query($sql,__LINE__,__FILE__);
Modified: branches/dev-syncromind-2/eventplanner/inc/class.sovendor.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/class.sovendor.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplanner/inc/class.sovendor.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -115,4 +115,17 @@
return $this->db->transaction_commit();
}
+ function check_duplicate_organization($organization_number =
false)
+ {
+ if(!$organization_number)
+ {
+ return false;
+ }
+
+ $query = $this->db->db_addslashes($organization_number);
+ $sql = "SELECT name FROM eventplanner_vendor WHERE
organization_number = '{$query}'";
+ $this->db->query($sql,__LINE__,__FILE__);
+ $this->db->next_record();
+ return $this->db->f('name', true);
+ }
}
\ No newline at end of file
Modified: branches/dev-syncromind-2/eventplanner/inc/class.uiapplication.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/class.uiapplication.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplanner/inc/class.uiapplication.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -127,7 +127,12 @@
{
if (empty($this->permissions[PHPGW_ACL_READ]))
{
- phpgw::no_access();
+ $message = '';
+ if($this->currentapp == 'eventplannerfrontend')
+ {
+ $message = lang('you need to log in to
access this page.');
+ }
+ phpgw::no_access(false, $message);
}
if (phpgw::get_var('phpgw_return_as') == 'json')
@@ -153,6 +158,7 @@
'phpgw_return_as' => 'json'
)),
'allrows' => true,
+ 'sorted_by' => array('key' =>
$this->currentapp == 'eventplanner' ? 6 : 3, 'dir' => 'asc'),
'new_item' =>
self::link(array('menuaction' => "{$this->currentapp}.uiapplication.add")),
'editor_action' => '',
'field' => parent::_get_fields()
@@ -298,8 +304,8 @@
);
$dates_def = array(
- array('key' => 'id', 'label' => lang('id'),
'sortable' => true, 'resizeable' => true,'formatter' =>
'JqueryPortico.formatLink'),
- array('key' => 'from_', 'label' =>
lang('From'), 'sortable' => false, 'resizeable' => true),
+ array('key' => 'id', 'label' => lang('id'),
'sortable' => false, 'resizeable' => true,'formatter' =>
'JqueryPortico.formatLink'),
+ array('key' => 'from_', 'label' =>
lang('From'), 'sortable' => true, 'resizeable' => true),
array('key' => 'to_', 'label' => lang('To'),
'sortable' => false, 'resizeable' => true),
array('key' => 'status', 'label' =>
lang('status'), 'sortable' => false, 'resizeable' => true),
array('key' => 'customer_name', 'label' =>
lang('who'), 'sortable' => true, 'resizeable' => true),
@@ -368,7 +374,8 @@
'data' => json_encode(array()),
'config' => array(
array('disableFilter' => true),
- array('disablePagination' => true)
+ array('disablePagination' => true),
+ array('order' =>
json_encode(array(1,'asc'))),
)
);
$GLOBALS['phpgw']->jqcal->add_listener('date_start');
@@ -418,7 +425,8 @@
'select_name' => 'category_id',
'selected' =>
$application->category_id ? $application->category_id : $default_category,
'use_acl' => $this->_category_acl,
- 'required' => true)),
+ 'required' => true,
+ 'class'=>'pure-input-1-2')),
'status_list' => array('options' =>
$this->get_status_options($application->status)),
'application_type_list' =>
$application_type_list,
'wardrobe_list' => array('options' =>
$wardrobe_list),
@@ -428,6 +436,7 @@
);
phpgwapi_jquery::formvalidator_generate(array('date',
'security', 'file'));
phpgwapi_jquery::load_widget('autocomplete');
+ self::rich_text_editor('summary');
self::add_javascript($this->currentapp, 'portico',
'application.edit.js');
self::render_template_xsl(array('application',
'datatable_inline'), array($mode => $data));
}
Modified: branches/dev-syncromind-2/eventplanner/inc/class.uibooking.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/class.uibooking.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplanner/inc/class.uibooking.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -82,17 +82,17 @@
'form' => array(
'toolbar' => array(
'item' => array(
+// array(
+// 'type' =>
'autocomplete',
+// 'name' =>
'application',
+// 'app' =>
$this->currentapp,
+// 'ui' =>
'application',
+// 'function' =>
'get_list',
+// 'label_attr' =>
'title',
+// 'text' =>
lang('application') . ':',
+//
'requestGenerator' => 'requestWithApplicationFilter'
+// ),
array(
- 'type' =>
'autocomplete',
- 'name' =>
'application',
- 'app' =>
$this->currentapp,
- 'ui' =>
'application',
- 'function' =>
'get_list',
- 'label_attr' =>
'title',
- 'text' =>
lang('application') . ':',
-
'requestGenerator' => 'requestWithApplicationFilter'
- ),
- array(
'type' =>
'checkbox',
'name' =>
'filter_active',
'text' =>
lang('showall'),
@@ -160,7 +160,12 @@
$GLOBALS['phpgw_info']['flags']['app_header'] .= '::' .
lang('edit');
if (empty($this->permissions[PHPGW_ACL_ADD]))
{
- phpgw::no_access();
+ $message = '';
+ if($this->currentapp == 'eventplannerfrontend')
+ {
+ $message = lang('you need to log in to
access this page.');
+ }
+ phpgw::no_access(false, $message);
}
if (!empty($values['object']))
Modified: branches/dev-syncromind-2/eventplanner/inc/class.uicustomer.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/class.uicustomer.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplanner/inc/class.uicustomer.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -85,7 +85,12 @@
{
if (empty($this->permissions[PHPGW_ACL_READ]))
{
- phpgw::no_access();
+ $message = '';
+ if($this->currentapp == 'eventplannerfrontend')
+ {
+ $message = lang('you need to log in to
access this page.');
+ }
+ phpgw::no_access(false, $message);
}
if (phpgw::get_var('phpgw_return_as') == 'json')
@@ -252,6 +257,8 @@
)
);
+ $config = CreateObject('phpgwapi.config',
'eventplanner')->read();
+ $booking_interval = !empty($config['booking_interval'])
? $config['booking_interval'] : null;
$data = array(
'datatable_def' => $datatable_def,
'form_action' => self::link(array('menuaction'
=> "{$this->currentapp}.uicustomer.save")),
@@ -258,6 +265,7 @@
'cancel_url' => self::link(array('menuaction'
=> "{$this->currentapp}.uicustomer.index",)),
'customer' => $customer,
'category_list' => array('options' =>
$this->get_category_options( $customer->category_id )),
+ 'booking_interval' => $booking_interval,
'mode' => $mode,
'tabs' =>
phpgwapi_jquery::tabview_generate($tabs, $active_tab),
'value_active_tab' => $active_tab
Modified: branches/dev-syncromind-2/eventplanner/inc/class.uievents.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/class.uievents.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplanner/inc/class.uievents.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -141,6 +141,7 @@
'phpgw_return_as' => 'json'
)),
'allrows' => true,
+ 'sorted_by' => array('key' => 3,
'dir' => 'asc'),
'editor_action' => '',
'field' => parent::_get_fields()
)
@@ -244,8 +245,6 @@
}
$category =
$this->cats->return_single($application->category_id);
- $config = CreateObject('phpgwapi.config',
'eventplanner')->read();
- $booking_interval = !empty($config['booking_interval'])
? $config['booking_interval'] : null;
$data = array(
'datatable_def' => $datatable_def,
@@ -252,7 +251,6 @@
'cancel_url' => self::link(array('menuaction'
=> "{$this->currentapp}.uievents.index",)),
'application' => $application,
'category_name' => $category[0]['name'],
- 'booking_interval' => $booking_interval,
'status_list' => array('options' =>
$this->get_status_options($application->status)),
'application_type_list' =>
$application_type_list,
'tabs' =>
phpgwapi_jquery::tabview_generate($tabs, $active_tab),
Modified: branches/dev-syncromind-2/eventplanner/inc/class.uivendor.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/class.uivendor.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplanner/inc/class.uivendor.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -86,7 +86,12 @@
{
if (empty($this->permissions[PHPGW_ACL_READ]))
{
- phpgw::no_access();
+ $message = '';
+ if($this->currentapp == 'eventplannerfrontend')
+ {
+ $message = lang('you need to log in to
access this page.');
+ }
+ phpgw::no_access(false, $message);
}
if (phpgw::get_var('phpgw_return_as') == 'json')
Modified:
branches/dev-syncromind-2/eventplanner/inc/model/class.application.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/model/class.application.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplanner/inc/model/class.application.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -62,6 +62,7 @@
$audience_limit,
$title,
$description,
+ $summary,
$remark,
$contact_name,
$contact_email,
@@ -130,6 +131,7 @@
'label' => 'id',
'sortable'=> true,
'formatter' =>
'JqueryPortico.formatLink',
+ 'public' => true,
),
'display_in_dashboard' => array('action'=>
PHPGW_ACL_ADD | PHPGW_ACL_EDIT,
'type' => 'bool'),
@@ -171,12 +173,19 @@
'label' => 'title',
'sortable' => false,
'query' => true,
+ 'public' => true,
),
'description' => array('action'=> PHPGW_ACL_ADD
| PHPGW_ACL_EDIT,
'type' => 'string',
'label' => 'application description',
'sortable' => false,
+ 'required' => true,
),
+ 'summary' => array('action'=> PHPGW_ACL_ADD |
PHPGW_ACL_EDIT,
+ 'type' => 'html',
+ 'label' => 'summary',
+ 'sortable' => false,
+ ),
'remark' => array('action'=> PHPGW_ACL_ADD |
PHPGW_ACL_EDIT,
'type' => 'string',
'label' => 'description',
@@ -226,7 +235,9 @@
),
'types' => array(
'action'=> PHPGW_ACL_ADD |
PHPGW_ACL_EDIT,
- 'type' => 'int', 'required' => true,
+ 'type' => 'int',
+ 'label' => 'program type',
+ 'required' => true,
'manytomany' => array(
'table' =>
'eventplanner_application_type_relation',
'key' => 'application_id',
@@ -236,6 +247,7 @@
'date_start' => array('action'=> PHPGW_ACL_READ
| PHPGW_ACL_ADD | PHPGW_ACL_EDIT,
'type' => 'date',
'label' => 'date start',
+ 'sortable' => true,
'history' => true
),
'date_end' => array('action'=> PHPGW_ACL_READ |
PHPGW_ACL_ADD | PHPGW_ACL_EDIT,
Modified: branches/dev-syncromind-2/eventplanner/inc/model/class.booking.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/model/class.booking.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplanner/inc/model/class.booking.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -108,7 +108,7 @@
),
'from_' => array('action' => PHPGW_ACL_READ,
'type' => 'string',
- 'query' => true,
+ 'query' => false,
'label' => 'from',
'public' => true,
'join' => array(
@@ -120,7 +120,7 @@
),
'to_' => array('action' => PHPGW_ACL_READ,
'type' => 'string',
- 'query' => true,
+ 'query' => false,
'label' => 'to',
'public' => true,
'join' => array(
@@ -132,7 +132,7 @@
),
'active' => array('action' => PHPGW_ACL_READ,
'type' => 'string',
- 'query' => true,
+ 'query' => false,
'label' => 'active',
'public' => true,
'join' => array(
Modified:
branches/dev-syncromind-2/eventplanner/inc/model/class.customer.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/model/class.customer.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplanner/inc/model/class.customer.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -106,6 +106,7 @@
'label' => 'id',
'sortable'=> true,
'formatter' =>
'JqueryPortico.formatLink',
+ 'public' => true
),
'owner_id' => array('action'=> PHPGW_ACL_ADD,
'type' => 'int',
@@ -135,6 +136,7 @@
'label' => 'name',
'required' => true,
'query' => true,
+ 'public' => true
),
'address_1' => array('action'=> PHPGW_ACL_ADD |
PHPGW_ACL_EDIT,
'type' => 'string',
Modified: branches/dev-syncromind-2/eventplanner/inc/model/class.vendor.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/inc/model/class.vendor.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplanner/inc/model/class.vendor.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -264,6 +264,16 @@
}
}
+ protected function doValidate( $entity, &$errors )
+ {
+ $organization_number = $entity->organization_number;
+ $duplicate_name =
eventplanner_sovendor::get_instance()->check_duplicate_organization($organization_number);
+ if ($duplicate_name)
+ {
+ $errors['organization_number'] =
lang('organization number already exists for %1', $duplicate_name);
+ }
+ }
+
protected function generate_secret( $length = 10 )
{
return substr(base64_encode(rand(1000000000,
9999999999)), 0, $length);
Modified: branches/dev-syncromind-2/eventplanner/js/portico/application.edit.js
===================================================================
--- branches/dev-syncromind-2/eventplanner/js/portico/application.edit.js
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplanner/js/portico/application.edit.js
2017-05-13 14:15:15 UTC (rev 16738)
@@ -66,7 +66,7 @@
return;
}
var id = $("#application_id").val();
-
+ document.getElementById('summary').value =
CKEDITOR.instances['summary'].getData();
if (id > 0)
{
document.form.submit();
@@ -438,3 +438,34 @@
);
}
};
+
+ $.formUtils.addValidator({
+ name: 'application_types',
+ validatorFunction: function (value, $el, config, language,
$form)
+ {
+ var n = 0;
+ $('#application_tbody_types input').each(function ()
+ {
+ if($(this).prop("checked"))
+ {
+ n++;
+ }
+ });
+ var v = (n > 0) ? true : false;
+
+ if(v === false)
+ {
+
$('#application_tbody_types').css("background-color", "#f2dede");
+ $('#application_tbody_types').css("border",
"#b94a48 1px solid");
+ }
+ else
+ {
+
$('#application_tbody_types').css("background-color", "white");
+ $('#application_tbody_types').css("border",
"black");
+ }
+
+ return v;
+ },
+ errorMessage: 'Type is required',
+ errorMessageKey: 'application_types'
+ });
Modified: branches/dev-syncromind-2/eventplanner/setup/phpgw_no.lang
===================================================================
--- branches/dev-syncromind-2/eventplanner/setup/phpgw_no.lang 2017-05-13
04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplanner/setup/phpgw_no.lang 2017-05-13
14:15:15 UTC (rev 16738)
@@ -119,4 +119,9 @@
Time is already booked eventplanner no Tiden er allerede booking
booking interval eventplanner no Booking intervall
days eventplanner no dager
-there is a minimum interval of %1 hours eventplanner no Det er
et minimumsintervall på %1 time(r)
\ No newline at end of file
+hours eventplanner no Timer
+there is a minimum interval of %1 hours eventplanner no Det er
et minimumsintervall på %1 time(r)
+summary eventplanner no kortversjon programbeskrivelse
+organization number already exists for %1 eventplanner no
Organisasjonsnummeret er allerede registrert på %1.
+you need to log in to access this page. eventplanner no Du må
logge deg på for å få tilgang til denne siden.
+do you represent the owner of this entry? eventplanner no
Representerer du eieren av denne posten?
\ No newline at end of file
Modified: branches/dev-syncromind-2/eventplanner/setup/setup.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/setup/setup.inc.php 2017-05-13
04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplanner/setup/setup.inc.php 2017-05-13
14:15:15 UTC (rev 16738)
@@ -11,7 +11,7 @@
* @version $Id: setup.inc.php 14728 2016-02-11 22:28:46Z sigurdne $
*/
$setup_info['eventplanner']['name'] = 'eventplanner';
- $setup_info['eventplanner']['version'] = '0.9.18.008';
+ $setup_info['eventplanner']['version'] = '0.9.18.009';
$setup_info['eventplanner']['app_order'] = 20;
$setup_info['eventplanner']['enable'] = 1;
$setup_info['eventplanner']['app_group'] = 'office';
Modified: branches/dev-syncromind-2/eventplanner/setup/tables_current.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/setup/tables_current.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplanner/setup/tables_current.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -148,6 +148,7 @@
'other_participants' => array('type' => 'text',
'nullable' => True),
'title' => array('type' => 'text', 'nullable'
=> False),
'description' => array('type' => 'text',
'nullable' => False),
+ 'summary' => array('type' => 'text', 'nullable'
=> true),
'remark' => array('type' => 'text', 'nullable'
=> True),
'contact_name' => array('type' => 'text',
'nullable' => False),
'contact_email' => array('type' => 'text',
'nullable' => False),
Modified: branches/dev-syncromind-2/eventplanner/setup/tables_update.inc.php
===================================================================
--- branches/dev-syncromind-2/eventplanner/setup/tables_update.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplanner/setup/tables_update.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -355,3 +355,20 @@
}
return $GLOBALS['setup_info']['eventplanner']['currentver'];
}
+
+ $test[] = '0.9.18.008';
+ function eventplanner_upgrade0_9_18_008()
+ {
+ $GLOBALS['phpgw_setup']->oProc->m_odb->transaction_begin();
+
+
$GLOBALS['phpgw_setup']->oProc->AddColumn('eventplanner_application',
'summary', array(
+ 'type' => 'text',
+ 'nullable' => true
+ ));
+
+ if($GLOBALS['phpgw_setup']->oProc->m_odb->transaction_commit())
+ {
+ $GLOBALS['setup_info']['eventplanner']['currentver'] =
'0.9.18.009';
+ }
+ return $GLOBALS['setup_info']['eventplanner']['currentver'];
+ }
Modified: branches/dev-syncromind-2/eventplanner/templates/base/application.xsl
===================================================================
--- branches/dev-syncromind-2/eventplanner/templates/base/application.xsl
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplanner/templates/base/application.xsl
2017-05-13 14:15:15 UTC (rev 16738)
@@ -129,7 +129,7 @@
<xsl:value-of select="$lang_vendor"/>
</xsl:attribute>
</input>
- <input
type="text" id="vendor_name" name="vendor_name"
value="{application/vendor_name}">
+ <input
type="text" id="vendor_name" name="vendor_name"
value="{application/vendor_name}" class="pure-input-1-2" >
<xsl:attribute name="placeholder">
<xsl:value-of select="$lang_vendor"/>
</xsl:attribute>
@@ -149,7 +149,7 @@
<label>
<xsl:value-of select="php:function('lang', 'contact name')"/>
</label>
- <input
type="text" id="contact_name" name="contact_name"
value="{application/contact_name}">
+ <input
type="text" id="contact_name" name="contact_name"
value="{application/contact_name}" class="pure-input-1-2" >
<xsl:attribute name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -165,7 +165,7 @@
<label>
<xsl:value-of select="php:function('lang', 'contact email')"/>
</label>
- <input
type="text" id="contact_email" name="contact_email"
value="{application/contact_email}">
+ <input
type="text" id="contact_email" name="contact_email"
value="{application/contact_email}" class="pure-input-1-2" >
<xsl:attribute name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -182,7 +182,7 @@
<label>
<xsl:value-of select="php:function('lang', 'contact phone')"/>
</label>
- <input
type="text" id="contact_phone" name="contact_phone"
value="{application/contact_phone}">
+ <input
type="text" id="contact_phone" name="contact_phone"
value="{application/contact_phone}" class="pure-input-1-2" >
<xsl:attribute name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -198,7 +198,7 @@
<label>
<xsl:value-of select="php:function('lang', 'other participants')"/>
</label>
- <textarea
cols="47" rows="7" name="other_participants">
+ <textarea
cols="47" rows="7" name="other_participants" class="pure-input-1-2" >
<xsl:value-of select="application/other_participants"/>
</textarea>
</div>
@@ -211,7 +211,7 @@
<label>
<xsl:value-of select="php:function('lang', 'program title')"/>
</label>
- <input
type="text" id="title" name="title" value="{application/title}">
+ <input
type="text" id="title" name="title" value="{application/title}"
class="pure-input-1-2" >
<xsl:attribute name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -227,7 +227,13 @@
<label>
<xsl:value-of select="php:function('lang', 'program description')"/>
</label>
- <textarea
cols="47" rows="7" name="description">
+ <textarea
cols="47" rows="7" name="description" class="pure-input-1-2" >
+
<xsl:attribute name="data-validation">
+
<xsl:text>required</xsl:text>
+
</xsl:attribute>
+
<xsl:attribute name="data-validation-error-msg">
+
<xsl:value-of select="php:function('lang', 'program description')"/>
+
</xsl:attribute>
<xsl:attribute name="title">
<xsl:value-of select="php:function('lang', 'might be published')"/>
</xsl:attribute>
@@ -250,7 +256,7 @@
</th>
</tr>
</thead>
-
<tbody>
+
<tbody id="application_tbody_types">
<xsl:for-each select="application_type_list">
<tr>
<td>
@@ -268,7 +274,11 @@
</tbody>
</table>
</div>
-
+ <input
type="text" data-validation="application_types" size="1" style="visibility:
hidden;">
+
<xsl:attribute name="data-validation-error-msg">
+
<xsl:value-of select="php:function('lang', 'program type')"/>
+
</xsl:attribute>
+ </input>
</div>
<div
class="pure-control-group">
@@ -377,7 +387,7 @@
<label>
<xsl:value-of select="php:function('lang', 'remark')"/>
</label>
- <textarea
cols="47" rows="7" name="remark">
+ <textarea
cols="47" rows="7" name="remark" class="pure-input-1-2" >
<xsl:value-of select="application/remark"/>
</textarea>
</div>
@@ -392,6 +402,12 @@
<xsl:value-of select="php:function('lang', 'case officer')"/>
</label>
<select
id="case_officer_id" name="case_officer_id">
+
<xsl:attribute name="data-validation">
+
<xsl:text>required</xsl:text>
+
</xsl:attribute>
+
<xsl:attribute name="data-validation-error-msg">
+
<xsl:value-of select="php:function('lang', 'case officer')"/>
+
</xsl:attribute>
<xsl:apply-templates select="list_case_officer/options"/>
</select>
</div>
@@ -438,9 +454,17 @@
</div>
<div
class="pure-control-group">
<label>
+
<xsl:value-of select="php:function('lang', 'summary')"/>
+ </label>
+ <textarea
cols="47" rows="7" id="summary" name="summary" class="pure-input-1-2" >
+
<xsl:value-of disable-output-escaping="yes" select="application/summary"/>
+ </textarea>
+ </div>
+ <div
class="pure-control-group">
+ <label>
<xsl:value-of select="php:function('lang', 'comment')"/>
</label>
- <textarea
cols="47" rows="7" name="comment">
+ <textarea
cols="47" rows="7" name="comment" class="pure-input-1-2" >
<xsl:value-of select="application/comment"/>
</textarea>
</div>
@@ -504,7 +528,7 @@
<label>
<xsl:value-of select="php:function('lang', 'stage requirement')"/>
</label>
- <textarea
cols="47" rows="7" name="stage_requirement">
+ <textarea
cols="47" rows="7" name="stage_requirement" class="pure-input-1-2" >
<xsl:value-of select="application/stage_requirement"/>
</textarea>
</div>
@@ -683,7 +707,7 @@
<div
class="pure-control-group">
<label>
</label>
- <textarea
cols="47" rows="7" name="raider">
+ <textarea
cols="47" rows="7" name="raider" class="pure-input-1-2" >
<xsl:value-of select="application/raider"/>
</textarea>
</div>
Modified:
branches/dev-syncromind-2/eventplanner/templates/base/application_info.xsl
===================================================================
--- branches/dev-syncromind-2/eventplanner/templates/base/application_info.xsl
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplanner/templates/base/application_info.xsl
2017-05-13 14:15:15 UTC (rev 16738)
@@ -18,6 +18,14 @@
<div class="pure-control-group">
<label>
+ <xsl:value-of select="php:function('lang', 'program
description')"/>
+ </label>
+ <div class="pure-custom">
+ <xsl:value-of disable-output-escaping="yes"
select="application/summary"/>
+ </div>
+ </div>
+ <div class="pure-control-group">
+ <label>
<xsl:value-of select="php:function('lang', 'remark')"/>
</label>
<xsl:value-of select="application/remark"/>
Modified: branches/dev-syncromind-2/eventplanner/templates/base/customer.xsl
===================================================================
--- branches/dev-syncromind-2/eventplanner/templates/base/customer.xsl
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplanner/templates/base/customer.xsl
2017-05-13 14:15:15 UTC (rev 16738)
@@ -350,6 +350,17 @@
</div>
<div id="booking">
<fieldset>
+ <xsl:if test="booking_interval
!= ''">
+ <div
class="pure-control-group">
+ <label>
+
<xsl:value-of select="php:function('lang', 'booking interval')"/>
+ </label>
+ <xsl:value-of
select="booking_interval"/>
+ <xsl:text>
</xsl:text>
+ <xsl:value-of
select="php:function('lang', 'hours')"/>
+ </div>
+ </xsl:if>
+
<div class="pure-control-group">
<label>
<xsl:value-of
select="php:function('lang', 'booking')"/>
Modified:
branches/dev-syncromind-2/eventplannerfrontend/js/portico/application.edit.js
===================================================================
---
branches/dev-syncromind-2/eventplannerfrontend/js/portico/application.edit.js
2017-05-13 04:35:18 UTC (rev 16737)
+++
branches/dev-syncromind-2/eventplannerfrontend/js/portico/application.edit.js
2017-05-13 14:15:15 UTC (rev 16738)
@@ -66,6 +66,7 @@
return;
}
var id = $("#application_id").val();
+ document.getElementById('summary').value =
CKEDITOR.instances['summary'].getData();
if (id > 0)
{
Modified:
branches/dev-syncromind-2/eventplannerfrontend/templates/base/application.xsl
===================================================================
---
branches/dev-syncromind-2/eventplannerfrontend/templates/base/application.xsl
2017-05-13 04:35:18 UTC (rev 16737)
+++
branches/dev-syncromind-2/eventplannerfrontend/templates/base/application.xsl
2017-05-13 14:15:15 UTC (rev 16738)
@@ -129,7 +129,7 @@
<xsl:value-of select="$lang_vendor"/>
</xsl:attribute>
</input>
- <input
type="text" id="vendor_name" name="vendor_name"
value="{application/vendor_name}">
+ <input
type="text" id="vendor_name" name="vendor_name"
value="{application/vendor_name}" class="pure-input-1-2" >
<xsl:attribute name="placeholder">
<xsl:value-of select="$lang_vendor"/>
</xsl:attribute>
@@ -150,7 +150,7 @@
<label>
<xsl:value-of select="php:function('lang', 'contact name')"/>
</label>
- <input
type="text" id="contact_name" name="contact_name"
value="{application/contact_name}">
+ <input
type="text" id="contact_name" name="contact_name"
value="{application/contact_name}" class="pure-input-1-2" >
<xsl:attribute name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -166,7 +166,7 @@
<label>
<xsl:value-of select="php:function('lang', 'contact email')"/>
</label>
- <input
type="text" id="contact_email" name="contact_email"
value="{application/contact_email}">
+ <input
type="text" id="contact_email" name="contact_email"
value="{application/contact_email}" class="pure-input-1-2" >
<xsl:attribute name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -183,7 +183,7 @@
<label>
<xsl:value-of select="php:function('lang', 'contact phone')"/>
</label>
- <input
type="text" id="contact_phone" name="contact_phone"
value="{application/contact_phone}">
+ <input
type="text" id="contact_phone" name="contact_phone"
value="{application/contact_phone}" class="pure-input-1-2" >
<xsl:attribute name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -199,7 +199,7 @@
<label>
<xsl:value-of select="php:function('lang', 'other participants')"/>
</label>
- <textarea
cols="47" rows="7" name="other_participants">
+ <textarea
cols="47" rows="7" name="other_participants" class="pure-input-1-2" >
<xsl:value-of select="application/other_participants"/>
</textarea>
</div>
@@ -212,7 +212,7 @@
<label>
<xsl:value-of select="php:function('lang', 'program title')"/>
</label>
- <input
type="text" id="title" name="title" value="{application/title}">
+ <input
type="text" id="title" name="title" value="{application/title}"
class="pure-input-1-2" >
<xsl:attribute name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -228,7 +228,7 @@
<label>
<xsl:value-of select="php:function('lang', 'program description')"/>
</label>
- <textarea
cols="47" rows="7" name="description">
+ <textarea
cols="47" rows="7" name="description" class="pure-input-1-2" >
<xsl:attribute name="title">
<xsl:value-of select="php:function('lang', 'might be published')"/>
</xsl:attribute>
@@ -376,9 +376,17 @@
<div
class="pure-control-group">
<label>
+
<xsl:value-of select="php:function('lang', 'summary')"/>
+ </label>
+ <textarea
cols="47" rows="7" id="summary" name="summary" class="pure-input-1-2" >
+
<xsl:value-of disable-output-escaping="yes" select="application/summary"/>
+ </textarea>
+ </div>
+ <div
class="pure-control-group">
+ <label>
<xsl:value-of select="php:function('lang', 'remark')"/>
</label>
- <textarea
cols="47" rows="7" name="remark">
+ <textarea
cols="47" rows="7" name="remark" class="pure-input-1-2" >
<xsl:value-of select="application/remark"/>
</textarea>
</div>
Modified:
branches/dev-syncromind-2/eventplannerfrontend/templates/base/application_info.xsl
===================================================================
---
branches/dev-syncromind-2/eventplannerfrontend/templates/base/application_info.xsl
2017-05-13 04:35:18 UTC (rev 16737)
+++
branches/dev-syncromind-2/eventplannerfrontend/templates/base/application_info.xsl
2017-05-13 14:15:15 UTC (rev 16738)
@@ -15,6 +15,14 @@
</label>
<xsl:value-of select="application/title"/>
</div>
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of select="php:function('lang', 'program
description')"/>
+ </label>
+ <div class="pure-custom">
+ <xsl:value-of disable-output-escaping="yes"
select="application/summary"/>
+ </div>
+ </div>
<div class="pure-control-group">
<label>
Modified:
branches/dev-syncromind-2/eventplannerfrontend/templates/base/customer.xsl
===================================================================
--- branches/dev-syncromind-2/eventplannerfrontend/templates/base/customer.xsl
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplannerfrontend/templates/base/customer.xsl
2017-05-13 14:15:15 UTC (rev 16738)
@@ -50,7 +50,7 @@
<label>
<xsl:value-of
select="$lang_category"/>
</label>
- <select
name="category_id">
+ <select
name="category_id" class="pure-input-1-2" >
<xsl:attribute
name="title">
<xsl:value-of select="$lang_category"/>
</xsl:attribute>
@@ -67,7 +67,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'name')"/>
</label>
- <input type="text"
name="name" value="{customer/name}">
+ <input type="text"
name="name" value="{customer/name}" class="pure-input-1-2" >
<xsl:attribute
name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -88,7 +88,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'address')"/>
</label>
- <input type="text"
name="address_1" value="{customer/address_1}">
+ <input type="text"
name="address_1" value="{customer/address_1}" class="pure-input-1-4" >
<xsl:attribute
name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -97,7 +97,7 @@
</xsl:attribute>
</input>
- <input type="text"
name="address_2" value="{customer/address_2}">
+ <input type="text"
name="address_2" value="{customer/address_2}" class="pure-input-1-4" >
<xsl:attribute
name="placeholder">
<xsl:value-of select="$lang_address_2"/>
</xsl:attribute>
@@ -107,7 +107,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'zip code')"/>
</label>
- <input type="text"
name="zip_code" value="{customer/zip_code}">
+ <input type="text"
name="zip_code" value="{customer/zip_code}" class="pure-input-1-4" >
<xsl:attribute
name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -115,7 +115,7 @@
<xsl:value-of select="php:function('lang', 'zip code')"/>
</xsl:attribute>
</input>
- <input type="text"
name="city" value="{customer/city}">
+ <input type="text"
name="city" value="{customer/city}" class="pure-input-1-4" >
<xsl:attribute
name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -128,7 +128,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'organization number')"/>
</label>
- <input type="text"
id="organization_number" name="organization_number"
value="{customer/organization_number}">
+ <input type="text"
id="organization_number" name="organization_number"
value="{customer/organization_number}" class="pure-input-1-2" >
<xsl:attribute
name="data-validation">
<xsl:text>organization_number</xsl:text>
</xsl:attribute>
@@ -144,7 +144,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'account number')"/>
</label>
- <input type="text"
id="account_number" name="account_number" value="{customer/account_number}">
+ <input type="text"
id="account_number" name="account_number" value="{customer/account_number}"
class="pure-input-1-2" >
<xsl:attribute
name="data-validation">
<xsl:text>account_number</xsl:text>
</xsl:attribute>
@@ -160,7 +160,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'number of users')"/>
</label>
- <input type="text"
name="number_of_users" value="{customer/number_of_users}">
+ <input type="text"
name="number_of_users" value="{customer/number_of_users}"
class="pure-input-1-2" >
<xsl:attribute
name="data-validation">
<xsl:text>number</xsl:text>
</xsl:attribute>
@@ -173,7 +173,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'contact name')"/>
</label>
- <input type="text"
name="contact_name" value="{customer/contact_name}">
+ <input type="text"
name="contact_name" value="{customer/contact_name}" class="pure-input-1-2" >
<xsl:attribute
name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -186,7 +186,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'email')"/>
</label>
- <input type="text"
name="contact_email" id="contact_email" value="{customer/contact_email}">
+ <input type="text"
name="contact_email" id="contact_email" value="{customer/contact_email}"
class="pure-input-1-2" >
<xsl:attribute
name="data-validation">
<xsl:text>email</xsl:text>
</xsl:attribute>
@@ -199,7 +199,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'contact phone')"/>
</label>
- <input type="text"
name="contact_phone" value="{customer/contact_phone}">
+ <input type="text"
name="contact_phone" value="{customer/contact_phone}" class="pure-input-1-2" >
<xsl:attribute
name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -213,7 +213,7 @@
<xsl:value-of
select="php:function('lang', 'contact name')"/>
<xsl:text>
2</xsl:text>
</label>
- <input type="text"
name="contact2_name" id="contact2_name" value="{customer/contact2_name}">
+ <input type="text"
name="contact2_name" id="contact2_name" value="{customer/contact2_name}"
class="pure-input-1-2" >
<xsl:attribute
name="data-validation-optional">
<xsl:text>true</xsl:text>
</xsl:attribute>
@@ -227,7 +227,7 @@
<xsl:value-of
select="php:function('lang', 'email')"/>
<xsl:text>
2</xsl:text>
</label>
- <input type="text"
name="contact2_email" id="contact2_email" value="{customer/contact2_email}">
+ <input type="text"
name="contact2_email" id="contact2_email" value="{customer/contact2_email}"
class="pure-input-1-2" >
<xsl:attribute
name="data-validation">
<xsl:text>email</xsl:text>
</xsl:attribute>
@@ -244,7 +244,7 @@
<xsl:value-of
select="php:function('lang', 'contact phone')"/>
<xsl:text>
2</xsl:text>
</label>
- <input type="text"
name="contact2_phone" id="contact2_phone" value="{customer/contact2_phone}">
+ <input type="text"
name="contact2_phone" id="contact2_phone" value="{customer/contact2_phone}"
class="pure-input-1-2" >
<xsl:attribute
name="data-validation-depends-on">
<xsl:text>contact2_name</xsl:text>
</xsl:attribute>
@@ -260,7 +260,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'description')"/>
</label>
- <textarea cols="47"
rows="7" name="description">
+ <textarea cols="47"
rows="7" name="description" class="pure-input-1-2" >
<xsl:value-of
select="customer/description"/>
</textarea>
</div>
@@ -268,7 +268,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'remark')"/>
</label>
- <textarea cols="47"
rows="7" name="remark">
+ <textarea cols="47"
rows="7" name="remark" class="pure-input-1-2" >
<xsl:value-of
select="customer/remark"/>
</textarea>
</div>
@@ -276,6 +276,16 @@
</div>
<div id="booking">
<fieldset>
+ <xsl:if test="booking_interval
!= ''">
+ <div
class="pure-control-group">
+ <label>
+
<xsl:value-of select="php:function('lang', 'booking interval')"/>
+ </label>
+ <xsl:value-of
select="booking_interval"/>
+ <xsl:text>
</xsl:text>
+ <xsl:value-of
select="php:function('lang', 'hours')"/>
+ </div>
+ </xsl:if>
<div class="pure-control-group">
<label>
<xsl:value-of
select="php:function('lang', 'booking')"/>
Modified:
branches/dev-syncromind-2/eventplannerfrontend/templates/base/events.xsl
===================================================================
--- branches/dev-syncromind-2/eventplannerfrontend/templates/base/events.xsl
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplannerfrontend/templates/base/events.xsl
2017-05-13 14:15:15 UTC (rev 16738)
@@ -65,17 +65,6 @@
</label>
<xsl:value-of
select="category_name"/>
</div>
-
- <xsl:if test="booking_interval != ''">
- <div class="pure-control-group">
- <label>
- <xsl:value-of
select="php:function('lang', 'booking interval')"/>
- </label>
- <xsl:value-of
select="booking_interval"/>
- <xsl:text> </xsl:text>
- <xsl:value-of
select="php:function('lang', 'days')"/>
- </div>
- </xsl:if>
<div class="pure-control-group">
<label>
Modified:
branches/dev-syncromind-2/eventplannerfrontend/templates/base/vendor.xsl
===================================================================
--- branches/dev-syncromind-2/eventplannerfrontend/templates/base/vendor.xsl
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/eventplannerfrontend/templates/base/vendor.xsl
2017-05-13 14:15:15 UTC (rev 16738)
@@ -50,7 +50,7 @@
<label>
<xsl:value-of
select="$lang_category"/>
</label>
- <select
name="category_id">
+ <select
name="category_id" class="pure-input-1-2" >
<xsl:attribute
name="title">
<xsl:value-of select="$lang_category"/>
</xsl:attribute>
@@ -67,7 +67,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'name')"/>
</label>
- <input type="text"
name="name" value="{vendor/name}">
+ <input type="text"
name="name" value="{vendor/name}" class="pure-input-1-2" >
<xsl:attribute
name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -88,7 +88,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'address')"/>
</label>
- <input type="text"
name="address_1" value="{vendor/address_1}">
+ <input type="text"
name="address_1" value="{vendor/address_1}" class="pure-input-1-4" >
<xsl:attribute
name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -97,7 +97,7 @@
</xsl:attribute>
</input>
- <input type="text"
name="address_2" value="{vendor/address_2}">
+ <input type="text"
name="address_2" value="{vendor/address_2}" class="pure-input-1-4" >
<xsl:attribute
name="placeholder">
<xsl:value-of select="$lang_address_2"/>
</xsl:attribute>
@@ -107,7 +107,8 @@
<label>
<xsl:value-of
select="php:function('lang', 'zip code')"/>
</label>
- <input type="text"
name="zip_code" value="{vendor/zip_code}">
+
+ <input type="text"
name="zip_code" value="{vendor/zip_code}" class="pure-input-1-4" >
<xsl:attribute
name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -115,7 +116,7 @@
<xsl:value-of select="php:function('lang', 'zip code')"/>
</xsl:attribute>
</input>
- <input type="text"
name="city" value="{vendor/city}">
+ <input type="text"
name="city" value="{vendor/city}" class="pure-input-1-4" >
<xsl:attribute
name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -128,7 +129,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'organization number')"/>
</label>
- <input type="text"
id="organization_number" name="organization_number"
value="{vendor/organization_number}">
+ <input type="text"
id="organization_number" name="organization_number"
value="{vendor/organization_number}" class="pure-input-1-2" >
<xsl:attribute
name="data-validation">
<xsl:text>organization_number</xsl:text>
</xsl:attribute>
@@ -141,7 +142,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'contact name')"/>
</label>
- <input type="text"
name="contact_name" value="{vendor/contact_name}">
+ <input type="text"
name="contact_name" value="{vendor/contact_name}" class="pure-input-1-2" >
<xsl:attribute
name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -154,7 +155,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'email')"/>
</label>
- <input type="text"
name="contact_email" id="contact_email" value="{vendor/contact_email}">
+ <input type="text"
name="contact_email" id="contact_email" value="{vendor/contact_email}"
class="pure-input-1-2" >
<xsl:attribute
name="data-validation">
<xsl:text>email</xsl:text>
</xsl:attribute>
@@ -167,7 +168,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'contact phone')"/>
</label>
- <input type="text"
name="contact_phone" value="{vendor/contact_phone}">
+ <input type="text"
name="contact_phone" value="{vendor/contact_phone}" class="pure-input-1-2" >
<xsl:attribute
name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -180,7 +181,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'account number')"/>
</label>
- <input type="text"
name="account_number" value="{vendor/account_number}">
+ <input type="text"
name="account_number" value="{vendor/account_number}" class="pure-input-1-2" >
<xsl:attribute
name="data-validation">
<xsl:text>account_number</xsl:text>
</xsl:attribute>
@@ -193,7 +194,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'vendor description')"/>
</label>
- <textarea cols="47"
rows="7" name="description">
+ <textarea cols="47"
rows="7" name="description" class="pure-input-1-2" >
<xsl:attribute
name="data-validation">
<xsl:text>required</xsl:text>
</xsl:attribute>
@@ -204,7 +205,7 @@
<label>
<xsl:value-of
select="php:function('lang', 'remark')"/>
</label>
- <textarea cols="47"
rows="7" name="remark">
+ <textarea cols="47"
rows="7" name="remark" class="pure-input-1-2" >
<xsl:value-of
select="vendor/remark"/>
</textarea>
</div>
Modified: branches/dev-syncromind-2/helpdesk/inc/class.boemail_out.inc.php
===================================================================
--- branches/dev-syncromind-2/helpdesk/inc/class.boemail_out.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/helpdesk/inc/class.boemail_out.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -138,7 +138,7 @@
$cc ='';
$bcc = '';
$from_email = $config['from_email'];
- $from_name = '';
+ $from_name = $config['from_email'];
foreach ($ids as $recipient_id)
{
$recipient = $sogeneric->read_single(array('id'
=> $recipient_id));
Modified: branches/dev-syncromind-2/helpdesk/inc/class.botts.inc.php
===================================================================
--- branches/dev-syncromind-2/helpdesk/inc/class.botts.inc.php 2017-05-13
04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/helpdesk/inc/class.botts.inc.php 2017-05-13
14:15:15 UTC (rev 16738)
@@ -545,7 +545,7 @@
function read_additional_notes($id)
{
$additional_notes = array();
- $history_array =
$this->historylog->return_array(array(),array('C'),'','',$id);
+ $history_array =
$this->historylog->return_array(array(),array('C'),'history_timestamp','ASC',$id);
$i=2;
foreach ($history_array as $value)
@@ -773,23 +773,19 @@
$log_recipients = array();
$this->send =
CreateObject('phpgwapi.send');
- $ticket = $this->so->read_single($id);
+ $ticket = $this->read_single($id);
- $address_element =
$this->get_address_element($ticket['location_code']);
-
- $history_values =
$this->historylog->return_array(array(),array('O'),'history_timestamp','DESC',$id);
- $entry_date =
$GLOBALS['phpgw']->common->show_date($history_values[0]['datetime'],$this->dateformat);
-
if($ticket['status']=='X')
{
$history_values =
$this->historylog->return_array(array(),array('X'),'history_timestamp','DESC',$id);
- $timestampclosed =
$GLOBALS['phpgw']->common->show_date($history_values[0]['datetime'],$this->dateformat);
+ $timestampclosed =
$GLOBALS['phpgw']->common->show_date($history_values[0]['datetime']);
}
- $history_2 =
$this->historylog->return_array(array('C','O'),array(),'','',$id);
- $m=count($history_2)-1;
- $ticket['status']=$history_2[$m]['status'];
+ $history_values =
$this->historylog->return_array(array(),array('O'),'history_timestamp','DESC',$id);
+ $entry_date =
$GLOBALS['phpgw']->common->show_date($history_values[0]['datetime']);
+ $status_text = $this->get_status_text();
+
$group_name=
$GLOBALS['phpgw']->accounts->id2name($ticket['group_id']);
// build subject
@@ -813,75 +809,129 @@
//-----------from--------
// build body
- $body = '';
- $body .= '<a href ="http://' .
$GLOBALS['phpgw_info']['server']['hostname'] .
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'helpdesk.uitts.view', 'id' => $id)).'">' . lang('Ticket').' #' .$id
.'</a>'."\n";
- $body .= lang('Date Opened').': '.$entry_date."\n";
- $body .= lang('Category').': '.
$this->get_category_name($ticket['cat_id']) ."\n";
-// $body .= lang('Subject').': '. $ticket['subject'] ."\n";
- $body .= lang('Location').': '.
$ticket['location_code'] ."\n";
- $body .= lang('Address').': '. $ticket['address'] ."\n";
- if (isset($address_element) AND
is_array($address_element))
+ $request_scheme = empty($_SERVER['HTTPS']) ||
$_SERVER['HTTPS'] == 'off' ? 'http' : 'https';
+
+ if($request_scheme == 'https')
{
- foreach($address_element as $address_entry)
- {
- $body .= $address_entry['text'].': '.
$address_entry['value'] ."\n";
- }
+ $GLOBALS['phpgw_info']['server']['enforce_ssl']
= true;
}
+ $body = '<a href ="' .
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'helpdesk.uitts.view',
+ 'id' => $id), false, true) . '">' .
lang('Ticket') . ' #' . $id . '</a>' . "\n";
- if($ticket['tenant_id'])
+ $body .= "<table>";
+ $body .= '<tr><td>'. lang('Date
Opened').'</td><td>: '.$entry_date."</td></tr>";
+ $body .= '<tr><td>'.
lang('status').'</td><td>: '.$status_text[$ticket['status']]."</td></tr>";
+ $body .= '<tr><td>'.
lang('Category').'</td><td>: '.
$this->get_category_name($ticket['cat_id']) ."</td></tr>";
+
+ $body .= '<tr><td>'. lang('Assigned
To').'</td><td>: '.$GLOBALS['phpgw']->accounts->id2name($ticket['assignedto'])."</td></tr>";
+
if(empty($this->config->config_data['disable_priority']))
{
-
$tenant_data=$this->bocommon->read_single_tenant($ticket['tenant_id']);
- $body .= lang('Tenant').': '.
$tenant_data['first_name'] . ' ' .$tenant_data['last_name'] ."\n";
+ $body .= '<tr><td>'.
lang('Priority').'</td><td>: '.$ticket['priority']."</td></tr>";
+ }
- if($tenant_data['contact_phone'])
- {
- $body .= lang('Contact phone').': '.
$tenant_data['contact_phone'] ."\n";
+
if(empty($this->config->config_data['tts_disable_groupassign_on_add']))
+ {
+ $body .= '<tr><td>'.
lang('Group').'</td><td>: '. $group_name ."</td></tr>";
+ }
- }
+ if($ticket['reverse_id'])
+ {
+ $user_name = $ticket['reverse_name'];
+ $body .= '<tr><td>'. lang('Owned
By').'</td><td>: '. $ticket['user_name'] ."</td></tr>";
}
- $body .= lang('Assigned To').':
'.$GLOBALS['phpgw']->accounts->id2name($ticket['assignedto'])."\n";
- $body .= lang('Priority').': '.$ticket['priority']."\n";
- if($group_name)
+ else
{
- $body .= lang('Group').': '. $group_name ."\n";
+ $user_name = $ticket['user_name'];
}
- $body .= lang('Opened By').': '. $ticket['user_name']
."\n\n";
- $body .= lang('First Note Added').":\n";
- $body .=
stripslashes(strip_tags($ticket['details']))."\n\n";
-
/**************************************************************\
- * Display additional notes
*
-
\**************************************************************/
- if($fields_updated)
+ $body .= '<tr><td>'. lang('Opened
By').'</td><td>: '. $user_name ."</td></tr>";
+
+ if($timestampclosed)
{
- $i=1;
+ $body .= '<tr><td>'. lang('Date
Closed').'</td><td>: '.$timestampclosed."</td></tr>";
+ }
- $history_array =
$this->historylog->return_array(array(),array('C'),'','',$id);
+ if(!empty($ticket['attributes']))
+ {
+ $custom =
createObject('property.custom_fields');
+ $location_id =
$GLOBALS['phpgw']->locations->get_id('helpdesk', '.ticket');
- foreach($history_array as $value)
+ foreach ($ticket['attributes'] as $attribute)
{
- $body .= lang('Date') . ':
'.$GLOBALS['phpgw']->common->show_date($value['datetime'])."\n";
- $body .= lang('User') . ':
'.$value['owner']."\n";
- $body .=lang('Note').': '.
nl2br(stripslashes($value['new_value']))."\n\n";
- $i++;
+ $custom_value =
$custom->get_translated_value(array(
+ 'value' =>
$attribute['value'],
+ 'attrib_id' =>
$attribute['id'],
+ 'datatype' =>
$attribute['datatype'],
+
'get_single_function' => $attribute['get_single_function'],
+
'get_single_function_input' => $attribute['get_single_function_input']
+ ),
+ $location_id);
+ $body .= '<tr><td>'.
$attribute['input_text'].'</td><td>: '.$custom_value."</td></tr>";
}
- $subject.= "-" .$i;
}
-
/**************************************************************\
- * Display record history
*
-
\**************************************************************/
- if($timestampclosed)
+ $body .= '</table>';
+
+
+ if($get_message)
{
- $body .= lang('Date Closed').':
'.$timestampclosed."\n\n";
+ $i = 1;
+ $lang_date = lang('date');
+ $lang_user = lang('user');
+ $lang_note = lang('note');
+ $table_content = <<<HTML
+ <thead>
+ <tr>
+ <th>
+ #
+ </th>
+ <th>
+ {$lang_date}
+ </th>
+ <th>
+ {$lang_user}
+ </th>
+ <th>
+ {$lang_note}
+ </th>
+ </tr>
+ </thead>
+HTML;
+
+ $table_content .=
"<tr><td>{$i}</td><td>{$entry_date}</td><td>{$user_name}</td><td>{$ticket['details']}</td></tr>";
+
+
+ $additional_notes =
$this->read_additional_notes($id);
+
+ foreach ($additional_notes as $value)
+ {
+ $table_content .=
"<tr><td>{$value['value_count']}</td><td>{$value['value_date']}</td><td>{$value['value_user']}</td><td>{$value['value_note']}</td></tr>";
+ }
+ $body.= "<table border='1' class='pure-table
pure-table-bordered pure-table-striped'>{$table_content}</table>";
+ $subject .= "::{$i}";
}
-
if($get_message)
{
return array('subject' => $subject, 'body' =>
$body);
}
+ $css = file_get_contents(PHPGW_SERVER_ROOT .
"/phpgwapi/templates/pure/css/pure-min.css");
+ $html = <<<HTML
+<!DOCTYPE HTML>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <style TYPE="text/css">
+ <!--{$css}-->
+ </style>
+ </head>
+ <body>
+ {$body}
+ </body>
+</html>
+HTML;
+
$members = array();
if(
isset($this->config->config_data['groupnotification']) &&
$this->config->config_data['groupnotification']==1 && $ticket['group_id'] )
@@ -899,7 +949,8 @@
if(
(isset($GLOBALS['phpgw']->preferences->data['helpdesk']['tts_notify_me'])
&&
($GLOBALS['phpgw']->preferences->data['helpdesk']['tts_notify_me'] == 1)
)
- ||
($this->config->config_data['ownernotification'] && $ticket['user_id']))
+ ||
($this->config->config_data['ownernotification'] && $ticket['user_id'])
+ || $ticket['reverse_id'])
{
// add owner to recipients
$members[$ticket['user_id']] =
$GLOBALS['phpgw']->accounts->id2name($ticket['user_id']);
@@ -926,8 +977,17 @@
foreach($members as $account_id => $account_name)
{
$prefs =
$this->bocommon->create_preferences('helpdesk',$account_id);
- if(!isset($prefs['tts_notify_me']) ||
$prefs['tts_notify_me'] == 1)
+ if(!isset($prefs['tts_notify_me']) ||
$prefs['tts_notify_me'] == 1 || $ticket['reverse_id'])
{
+ /**
+ * Calculate email from username
+ */
+ if(!$prefs['email'])
+ {
+ $email_domain =
!empty($GLOBALS['phpgw_info']['server']['email_domain']) ?
$GLOBALS['phpgw_info']['server']['email_domain'] : 'bergen.kommune.no';
+ $account_lid =
$GLOBALS['phpgw']->accounts->get($account_id)->lid;
+ $prefs['email'] =
"address@hidden";
+ }
if
($validator->check_email_address($prefs['email']))
{
// Email address is technically
valid
@@ -1003,13 +1063,12 @@
if($toarray)
{
$to = implode(';',$toarray);
- $body = nl2br($body);
if
(isset($GLOBALS['phpgw_info']['server']['smtp_server']) &&
$GLOBALS['phpgw_info']['server']['smtp_server'])
{
try
{
- $rc = $this->send->msg('email',
$to, $subject, stripslashes($body), '', $cc,
$bcc,$current_user_address,$GLOBALS['phpgw_info']['user']['fullname'],'html');
+ $rc = $this->send->msg('email',
$to, $subject, $html, '', $cc,
$bcc,$current_user_address,$GLOBALS['phpgw_info']['user']['fullname'],'html');
}
catch (phpmailerException $e)
{
Modified: branches/dev-syncromind-2/helpdesk/inc/class.sogeneric.inc.php
===================================================================
--- branches/dev-syncromind-2/helpdesk/inc/class.sogeneric.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/helpdesk/inc/class.sogeneric.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -239,7 +239,7 @@
'created' =>
array('add' => 'time()'),
'modified' =>
array('edit' => 'time()'),
),
- 'check_grant' => true
+ // 'check_grant' => true
);
break;
@@ -302,7 +302,7 @@
'created' =>
array('add' => 'time()'),
'modified' =>
array('edit' => 'time()'),
),
- 'check_grant' => true
+ // 'check_grant' => true
);
break;
Modified: branches/dev-syncromind-2/helpdesk/inc/class.sotts.inc.php
===================================================================
--- branches/dev-syncromind-2/helpdesk/inc/class.sotts.inc.php 2017-05-13
04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/helpdesk/inc/class.sotts.inc.php 2017-05-13
14:15:15 UTC (rev 16738)
@@ -114,9 +114,10 @@
$sort = isset($data['sort']) &&
$data['sort'] ? $data['sort']:'DESC';
$order =
isset($data['order'])?$data['order']:'';
$cat_id = isset($data['cat_id']) &&
$data['cat_id'] ? $data['cat_id']:0;
- $allrows =
isset($data['allrows'])?$data['allrows']:'';
$start_date = isset($data['start_date']) &&
$data['start_date'] ? (int)$data['start_date'] : 0;
$end_date = isset($data['end_date']) &&
$data['end_date'] ? (int)$data['end_date'] : 0;
+ $results = isset($data['results']) &&
$data['results'] ? (int)$data['results'] : 0;
+ $allrows = $results == -1 ? true : false;
$dry_run = isset($data['dry_run']) ?
$data['dry_run'] : '';
$new = isset($data['new']) ?
$data['new'] : '';
$location_code = isset($data['location_code']) ?
$data['location_code'] : '';
@@ -265,7 +266,7 @@
{
if($value)
{
- $filtermethod .= "{$or}
phpgw_helpdesk_tickets.status = '{$value}'";
+ $filtermethod .= "{$or}
phpgw_helpdesk_tickets.status = '{$value}'";
$or = ' OR';
}
}
@@ -347,7 +348,7 @@
if(!$allrows)
{
- $this->db2->limit_query($sql .
$ordermethod,$start,__LINE__,__FILE__);
+ $this->db2->limit_query($sql .
$ordermethod,$start,__LINE__,__FILE__, $results);
}
else
{
@@ -507,14 +508,15 @@
if ($this->db->next_record())
{
- $ticket['assignedto'] =
$this->db->f('assignedto');
- $ticket['user_id'] =
$this->db->f('user_id');
- $ticket['group_id'] =
$this->db->f('group_id');
+ $ticket['assignedto'] =
(int)$this->db->f('assignedto');
+ $ticket['user_id'] =
(int)$this->db->f('user_id');
+ $ticket['group_id'] =
(int)$this->db->f('group_id');
+ $ticket['reverse_id'] =
(int)$this->db->f('reverse_id');
$ticket['status'] =
$this->db->f('status');
$ticket['cat_id'] =
$this->db->f('cat_id');
$ticket['subject'] =
$this->db->f('subject', true);
$ticket['priority'] =
$this->db->f('priority');
- $ticket['details'] =
htmlspecialchars ($this->db->f('details', true));
+ $ticket['details'] =
$this->db->f('details', true);
$ticket['location_code'] =
$this->db->f('location_code');
$ticket['contact_phone'] =
$this->db->f('contact_phone');
$ticket['contact_email'] =
$this->db->f('contact_email',true);
@@ -540,9 +542,12 @@
$ticket['billable_hours'] =
$this->db->f('billable_hours');
$ticket['modified_date'] =
$this->db->f('modified_date');
- $user_id=(int)$this->db->f('user_id');
+ if($ticket['reverse_id'])
+ {
+ $ticket['reverse_name'] =
$GLOBALS['phpgw']->accounts->get($ticket['reverse_id'])->__toString();
+ }
- $ticket['user_name'] =
$GLOBALS['phpgw']->accounts->get($user_id)->__toString();
+ $ticket['user_name'] =
$GLOBALS['phpgw']->accounts->get($ticket['user_id'])->__toString();
if ($ticket['assignedto'] > 0)
{
$ticket['assignedto_name'] =
$GLOBALS['phpgw']->accounts->get($ticket['assignedto'])->__toString();
@@ -553,7 +558,7 @@
$ticket['attributes'] =
$values['attributes'];
foreach ($ticket['attributes'] as
&$attr)
{
- $attr['value'] =
$this->db->f($attr['column_name']);
+ $attr['value'] =
$this->db->f($attr['column_name'], true);
}
}
}
@@ -593,8 +598,15 @@
}
}
+ if(!empty($ticket['reverse_id']))
+ {
+ $ticket['assignedto'] =
$GLOBALS['phpgw_info']['user']['account_id'];
+ }
+ $ticket['user_id'] = !empty($ticket['reverse_id'])
? $ticket['reverse_id'] : $GLOBALS['phpgw_info']['user']['account_id'];
+
$value_set['priority'] = isset($ticket['priority']) ?
$ticket['priority'] : 0;
- $value_set['user_id'] =
$GLOBALS['phpgw_info']['user']['account_id'];
+ $value_set['user_id'] = $ticket['user_id'];
+ $value_set['reverse_id'] =
$GLOBALS['phpgw_info']['user']['account_id']; //The originator for the reversed
ticket
$value_set['assignedto'] = $ticket['assignedto'];
$value_set['group_id'] = $ticket['group_id'];
$value_set['subject'] =
$this->db->db_addslashes($ticket['subject']);
@@ -899,6 +911,20 @@
$_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);
+
+ $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');
+ if ($old_status == 'X' || $old_closed)
+ {
+ $config =
CreateObject('phpgwapi.config', 'helpdesk')->read();
+ $new_status =
!empty($config['reopen_status']) ? $config['reopen_status'] : '0';
+ $this->fields_updated[] = 'status';
+ $this->historylog->add('R', $id,
$new_status, $old_status);
+ $this->db->query("UPDATE
phpgw_helpdesk_tickets SET status='{$new_status}' WHERE id= {$id}", __LINE__,
__FILE__);
+ $this->db->query("UPDATE
phpgw_helpdesk_tickets SET priority = 1 WHERE id = {$id}", __LINE__, __FILE__);
+ }
}
$value_set = array();
@@ -905,10 +931,17 @@
$data_attribute =
$this->custom->prepare_for_db('phpgw_helpdesk_tickets', $values_attribute);
- if (isset($data_attribute['value_set']))
+ if (!empty($data_attribute['value_set']))
{
+ $this->db->query("SELECT * FROM
phpgw_helpdesk_tickets WHERE id='$id'", __LINE__, __FILE__);
+ $this->db->next_record();
foreach ($data_attribute['value_set'] as
$input_name => $value)
{
+ $old_values = $this->db->f($input_name);
+ if($value == $old_values)
+ {
+ continue;
+ }
$this->fields_updated[] = $input_name;
$value_set[$input_name] = $value;
}
@@ -921,6 +954,7 @@
if (isset($this->fields_updated) &&
$this->fields_updated && $simple)
{
+ $this->db->query("DELETE FROM
phpgw_helpdesk_views WHERE id={$id} AND account_id !=" . (int) $this->account,
__LINE__, __FILE__);
$receipt['message'][] = array('msg' =>
lang('Ticket has been updated'));
$this->db->transaction_commit();
return $receipt;
@@ -980,6 +1014,7 @@
if (($this->db->f('closed') ||
$ticket['status'] == 'X') && ($old_status != 'X' && !$old_closed))
{
+ $this->db->query("UPDATE
phpgw_helpdesk_tickets SET priority = 0 WHERE id = {$id}", __LINE__, __FILE__);
$location_id =
$GLOBALS['phpgw']->locations->get_id('helpdesk', '.ticket');
// at controller
if
(isset($GLOBALS['phpgw_info']['user']['apps']['controller']))
@@ -1038,13 +1073,15 @@
$this->db->query("UPDATE phpgw_helpdesk_tickets
SET $value_set WHERE id={$id}", __LINE__, __FILE__);
}
-
- $this->db->transaction_commit();
-
+// _debug_array($this->fields_updated);die();
if (isset($this->fields_updated) &&
$this->fields_updated)
{
+ $this->db->query("DELETE FROM
phpgw_helpdesk_views WHERE id={$id} AND account_id !=" . (int) $this->account,
__LINE__, __FILE__);
$receipt['message'][] = array('msg' =>
lang('Ticket has been updated'));
}
+
+ $this->db->transaction_commit();
+
return $receipt;
}
@@ -1107,7 +1144,7 @@
throw new Exception("phpgwapi_locations::get_id
('helpdesk', '.ticket') returned 0");
}
- $this->db->transaction_begin();
+ $this->db->transaction_begin();
$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__);
Modified: branches/dev-syncromind-2/helpdesk/inc/class.uitts.inc.php
===================================================================
--- branches/dev-syncromind-2/helpdesk/inc/class.uitts.inc.php 2017-05-13
04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/helpdesk/inc/class.uitts.inc.php 2017-05-13
14:15:15 UTC (rev 16738)
@@ -51,7 +51,8 @@
'columns' => true,
'update_data' => true,
'upload_clip' => true,
- 'view_image' => true
+ 'view_image' => true,
+ 'get_reverse_assignee'=>true
);
/**
@@ -180,11 +181,34 @@
}
/**
- * Fetch data from $this->bo based on parametres
+ * called as ajax from edit form
+ *
+ * @param string $query
+ *
* @return array
*/
- public function query()
+ public function get_reverse_assignee()
{
+ $query = phpgw::get_var('query');
+
+ $filter = array('active' => 1);
+
+ $account_list =
$GLOBALS['phpgw']->accounts->get_list('accounts', -1,'ASC', 'account_lastname',
$query, false, $filter);
+
+ $values = array();
+
+ foreach ($account_list as $account)
+ {
+ $values[] = array(
+ 'id' => $account->id,
+ 'name' => $account->__toString()
+ );
+ }
+ return array('ResultSet' => array('Result' => $values));
+ }
+
+ function get_params()
+ {
$search = phpgw::get_var('search');
$order = phpgw::get_var('order');
$draw = phpgw::get_var('draw', 'int');
@@ -207,7 +231,7 @@
'vendor_id' => $this->bo->vendor_id,
'district_id' => $this->bo->district_id,
'part_of_town_id' => $this->bo->part_of_town_id,
- 'allrows' => $this->bo->allrows,
+ //'allrows' => $this->bo->allrows,
'start_date' => $this->bo->start_date,
'end_date' => $this->bo->end_date,
'location_code' => $this->bo->location_code,
@@ -217,8 +241,20 @@
'ecodimb' => $this->bo->ecodimb,
'branch_id' => phpgw::get_var('branch_id'),
'order_dim1' => phpgw::get_var('order_dim1'),
+ 'check_date_type' =>
phpgw::get_var('check_date_type', 'int'),
);
+ return $params;
+ }
+
+ /**
+ * Fetch data from $this->bo based on parametres
+ * @return array
+ */
+ public function query()
+ {
+ $params = $this->get_params();
+
$values = $this->bo->read($params);
if ($values)
@@ -266,24 +302,91 @@
function _print()
{
- if(!$this->acl_read)
+ if (!$this->acl_read)
{
-
$GLOBALS['phpgw']->redirect_link('/index.php',array('menuaction'=>
'helpdesk.uilocation.stop', 'perm'=> 1, 'acl_location'=> $this->acl_location));
+ $GLOBALS['phpgw']->redirect_link('/index.php',
array('menuaction' => 'property.uilocation.stop',
+ 'perm' => 1, 'acl_location' =>
$this->acl_location));
}
$GLOBALS['phpgw_info']['flags']['noheader'] = true;
$GLOBALS['phpgw_info']['flags']['nofooter'] = true;
$GLOBALS['phpgw_info']['flags']['xslt_app'] = false;
- $id = phpgw::get_var('id', 'int');
+ $id = phpgw::get_var('id', 'int');
- $ticket = $this->bo->mail_ticket($id,
$fields_updated=true, $receipt = array(),$location_code='', $get_message =
true);
+ $ticket_html = $this->bo->mail_ticket($id,
$fields_updated = true, $receipt = array(), $location_code = '', $get_message =
true);
- $html =
"<html><head><title>{$ticket['subject']}</title></head>";
- $html .= "<body>";
- $html .= $ticket['subject'] . '</br></br>';
- $html .= nl2br($ticket['body']);
- $html .= "</body></html>";
+ $ticket = $this->bo->read_single($id);
+ $content_files = array();
+
+ $lang_files = lang('files');
+
+ $files = '';
+ if($ticket['files'])
+ {
+ $files = <<<HTML
+
+ <br/>
+ <table class='pure-table pure-table-bordered
pure-table-striped'>
+ <thead>
+ <tr>
+ <th>
+ #
+ </th>
+ <th>
+
{$lang_files}
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+HTML;
+
+ $i=1;
+ foreach ($ticket['files'] as $_entry)
+ {
+ $files .= <<<HTML
+
+ <tr>
+ <td>
+ {$i}
+ </td>
+ <td>
+ {$_entry['name']}
+ </td>
+ </tr>
+HTML;
+ $i++;
+ }
+ $files .= <<<HTML
+
+ </tbody>
+ </table>
+
+HTML;
+
+ }
+
+ $lang_print = lang('print');
+
+ $html = <<<HTML
+
+ <!DOCTYPE html>
+ <html>
+ <head>
+ <title>{$ticket_html['subject']}</title>
+ <link
href="{$GLOBALS['phpgw_info']['server']['webserver_url']}/phpgwapi/templates/pure/css/pure-min.css"
type="text/css" rel="StyleSheet">
+ </head>
+ <script type="text/javascript">
+ document.onload = window.print();
+ </script>
+ <body>
+ <H2>{$ticket_html['subject']}</H2>
+ {$ticket_html['body']}
+ {$files}
+ </body>
+ </html>
+HTML;
+
echo $html;
}
@@ -1327,7 +1430,7 @@
'lang_part_of_town' => lang('Part of town'),
'lang_no_part_of_town' => lang('No part of
town'),
'cat_select' =>
$this->cats->formatted_xslt_list(array('select_name' => 'values[cat_id]',
- 'selected' => $this->cat_id, 'use_acl'
=> $this->_category_acl, 'required' => true)),
+ 'selected' => $this->cat_id, 'use_acl'
=> $this->_category_acl, 'required' => true,'class'=>'pure-input-1-2')),
'pref_send_mail' =>
(isset($GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['tts_user_mailnotification'])
?
$GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['tts_user_mailnotification']
: ''),
'fileupload' =>
true,//(isset($this->bo->config->config_data['fmttsfileupload']) ?
$this->bo->config->config_data['fmttsfileupload'] : ''),
'tabs' =>
phpgwapi_jquery::tabview_generate($tabs, $active_tab)
@@ -1698,7 +1801,7 @@
'value_id' => '', //not from
historytable
'value_count' => 1,
'value_date' =>
$GLOBALS['phpgw']->common->show_date($ticket['timestamp']),
- 'value_user' => $ticket['user_name'],
+ 'value_user' => $ticket['reverse_id']?
$ticket['reverse_name'] : $ticket['user_name'],
'value_note' => $ticket['details'],
'value_publish' =>
$ticket['publish_note']
)
@@ -1736,7 +1839,8 @@
'data' => json_encode($additional_notes),
'config' => array(
array('disableFilter' => true),
- array('disablePagination' => true)
+ array('disablePagination' => true),
+ array('order' =>
json_encode(array(0,'asc')))
)
);
@@ -1848,7 +1952,7 @@
//_debug_array($supervisor_email);die();
$msgbox_data = $this->bocommon->msgbox_data($receipt);
$cat_select =
$this->cats->formatted_xslt_list(array('select_name' => 'values[cat_id]',
- 'selected' => $this->cat_id, 'use_acl' =>
$this->_category_acl, 'required' => true));
+ 'selected' => $this->cat_id, 'use_acl' =>
$this->_category_acl, 'required' => true,'class'=>'pure-input-1-2'));
$_ticket_cat_found = false;
if (isset($cat_select['cat_list']) &&
is_array($cat_select['cat_list']))
@@ -1927,6 +2031,7 @@
'lang_user_statustext' => lang('Select the user
the selection belongs to. To do not use a user select NO USER'),
'select_user_name' => 'values[assignedto]',
'value_assignedto_id' => $ticket['assignedto'],
+ 'value_owned_by' =>
$ticket['user_name'],
'user_list' =>
$this->_get_user_list($ticket['assignedto']),
'lang_no_group' => lang('No group'),
'group_list' =>
$this->bo->get_group_list($ticket['group_id']),
Modified:
branches/dev-syncromind-2/helpdesk/inc/custom/default/ticket_LRS_pre_commit_validate.php
===================================================================
---
branches/dev-syncromind-2/helpdesk/inc/custom/default/ticket_LRS_pre_commit_validate.php
2017-05-13 04:35:18 UTC (rev 16737)
+++
branches/dev-syncromind-2/helpdesk/inc/custom/default/ticket_LRS_pre_commit_validate.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -37,6 +37,12 @@
{
return;
}
+
+ if(!empty($data['reverse_id']))
+ {
+ return true;
+ }
+
$org_unit = (int)$values_attribute['1']['value'];
$sql = "SELECT arbeidssted FROM fm_org_unit WHERE id =
{$org_unit}";
$this->db->query($sql);
Modified: branches/dev-syncromind-2/helpdesk/inc/hook_config.inc.php
===================================================================
--- branches/dev-syncromind-2/helpdesk/inc/hook_config.inc.php 2017-05-13
04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/helpdesk/inc/hook_config.inc.php 2017-05-13
14:15:15 UTC (rev 16738)
@@ -26,7 +26,36 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+ /**
+ * Get HTML listbox with workorder reopen status that are to be set
when invoice is processed
+ *
+ * @param $config
+ * @return string HTML checkboxes to be placed in a table
+ */
+ function reopen_status( $config )
+ {
+ $status_entries = execMethod('helpdesk.botts.get_status_list');
+ $status_assigned = isset($config['reopen_status']) ?
$config['reopen_status'] : array();
+
+ $out = '<option value="">' . lang('none selected') .
'</option>' . "\n";
+ foreach ($status_entries as $status)
+ {
+ $selected = '';
+ if ($status_assigned == $status['id'])
+ {
+ $selected = ' selected = "selected"';
+ }
+
+ $out .= <<<HTML
+ <option
value='{$status['id']}'{$selected}>{$status['name']}</option>
+HTML;
+ }
+
+ return $out;
+ }
+
+
/**
* Get HTML checkbox with groups that are candidates for simplified tts
interface
*
Modified: branches/dev-syncromind-2/helpdesk/js/portico/tts.add.js
===================================================================
--- branches/dev-syncromind-2/helpdesk/js/portico/tts.add.js 2017-05-13
04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/helpdesk/js/portico/tts.add.js 2017-05-13
14:15:15 UTC (rev 16738)
@@ -262,4 +262,8 @@
};
}
-});
\ No newline at end of file
+});
+
+var oArgs = {menuaction: 'helpdesk.uitts.get_reverse_assignee'};
+var strURL = phpGWLink('index.php', oArgs, true);
+JqueryPortico.autocompleteHelper(strURL, 'reverse_name', 'reverse_id',
'reverse_container');
Modified: branches/dev-syncromind-2/helpdesk/setup/phpgw_no.lang
===================================================================
--- branches/dev-syncromind-2/helpdesk/setup/phpgw_no.lang 2017-05-13
04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/helpdesk/setup/phpgw_no.lang 2017-05-13
14:15:15 UTC (rev 16738)
@@ -199,4 +199,6 @@
select helpdesk no Velg
modified helpdesk no Endret
sent helpdesk no Sendt
-generic helpdesk no Generelt
\ No newline at end of file
+generic helpdesk no Generelt
+reverse helpdesk no Revers tildeling
+owned by helpdesk no Eies av
\ No newline at end of file
Modified: branches/dev-syncromind-2/helpdesk/setup/setup.inc.php
===================================================================
--- branches/dev-syncromind-2/helpdesk/setup/setup.inc.php 2017-05-13
04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/helpdesk/setup/setup.inc.php 2017-05-13
14:15:15 UTC (rev 16738)
@@ -12,7 +12,7 @@
*/
$setup_info['helpdesk']['name'] = 'helpdesk';
- $setup_info['helpdesk']['version'] = '0.9.18.004';
+ $setup_info['helpdesk']['version'] = '0.9.18.005';
$setup_info['helpdesk']['app_order'] = 8;
$setup_info['helpdesk']['enable'] = 1;
$setup_info['helpdesk']['app_group'] = 'office';
Modified: branches/dev-syncromind-2/helpdesk/setup/tables_current.inc.php
===================================================================
--- branches/dev-syncromind-2/helpdesk/setup/tables_current.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/helpdesk/setup/tables_current.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -35,6 +35,7 @@
'priority' => array('type' => 'int','precision'
=> '2','nullable' => False),
'user_id' => array('type' => 'int','precision'
=> '4','nullable' => True),
'assignedto' => array('type' =>
'int','precision' => '4','nullable' => True),
+ 'reverse_id' => array('type' =>
'int','precision' => '4','nullable' => True),
'subject' => array('type' =>
'varchar','precision' => '255','nullable' => True),
'cat_id' => array('type' => 'int','precision'
=> '4','nullable' => True),
'billable_hours' => array('type' =>
'decimal','precision' => '8','scale' => '2','nullable' => True),
Modified: branches/dev-syncromind-2/helpdesk/setup/tables_update.inc.php
===================================================================
--- branches/dev-syncromind-2/helpdesk/setup/tables_update.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/helpdesk/setup/tables_update.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -216,4 +216,25 @@
$GLOBALS['setup_info']['helpdesk']['currentver'] =
'0.9.18.004';
return $GLOBALS['setup_info']['helpdesk']['currentver'];
}
+ }
+ /**
+ * Update helpdesk version from 0.9.18.004 to 0.9.18.005
+ */
+ $test[] = '0.9.18.004';
+
+ function helpdesk_upgrade0_9_18_004()
+ {
+ $GLOBALS['phpgw_setup']->oProc->m_odb->transaction_begin();
+
+
$GLOBALS['phpgw_setup']->oProc->AddColumn('phpgw_helpdesk_tickets',
'reverse_id', array(
+ 'type' => 'int',
+ 'precision' => '4',
+ 'nullable' => true
+ ));
+
+ if($GLOBALS['phpgw_setup']->oProc->m_odb->transaction_commit())
+ {
+ $GLOBALS['setup_info']['helpdesk']['currentver'] =
'0.9.18.005';
+ return $GLOBALS['setup_info']['helpdesk']['currentver'];
+ }
}
\ No newline at end of file
Modified: branches/dev-syncromind-2/helpdesk/templates/base/config.tpl
===================================================================
--- branches/dev-syncromind-2/helpdesk/templates/base/config.tpl
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/helpdesk/templates/base/config.tpl
2017-05-13 14:15:15 UTC (rev 16738)
@@ -40,6 +40,14 @@
{lang_default}: {lang_Open}</td>
<td><input name="newsettings[tts_lang_open]"
value="{value_tts_lang_open}"></td>
</tr>
+ <tr>
+ <td>{lang_reopen_status}:</td>
+ <td>
+ <select
name="newsettings[reopen_status]">
+ {hook_reopen_status}
+ </select>
+ </td>
+ <tr>
<tr class="pure-table-odd">
<td >{lang_TTS_disable_assign_to_user_on_add}:</td>
<td>
Modified: branches/dev-syncromind-2/helpdesk/templates/base/files.xsl
===================================================================
--- branches/dev-syncromind-2/helpdesk/templates/base/files.xsl 2017-05-13
04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/helpdesk/templates/base/files.xsl 2017-05-13
14:15:15 UTC (rev 16738)
@@ -1,149 +1,53 @@
-<xsl:template name="file_list">
- <tr>
- <td width="19%" align="left" valign="top">
- <xsl:value-of select="//lang_files"/>
- </td>
- <td>
- <table>
- <tr class="th">
- <td class="th_text" width="85%"
align="left">
- <xsl:value-of
select="lang_filename"/>
- </td>
- <td class="th_text" width="15%"
align="center">
- <xsl:value-of
select="lang_file_action"/>
- </td>
- </tr>
- <xsl:for-each select="files" >
- <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:choose>
- <xsl:when
test="//link_to_files!=''">
-
<xsl:variable name="link_to_file"><xsl:value-of
select="//link_to_files"/>/<xsl:value-of select="directory"/>/<xsl:value-of
select="file_name"/></xsl:variable>
- <a
href="{$link_to_file}" target="_blank"
title="{//lang_view_file_statustext}"><xsl:value-of select="name"/></a>
- </xsl:when>
- <xsl:otherwise>
-
<xsl:variable name="link_view_file"><xsl:value-of
select="//link_view_file"/>&file_name=<xsl:value-of
select="file_name"/></xsl:variable>
- <a
href="{$link_view_file}" target="_blank"
title="{//lang_view_file_statustext}"><xsl:value-of select="name"/></a>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text> </xsl:text>
- </td>
- <td align="center">
- <input type="checkbox"
name="values[file_action][]" value="{name}"
onMouseout="window.status='';return true;">
- <xsl:attribute
name="title">
-
<xsl:value-of select="//lang_file_action_statustext"/>
- </xsl:attribute>
- </input>
- </td>
- </tr>
- </xsl:for-each>
- </table>
- </td>
- </tr>
+
+<!-- $Id: files.xsl 15892 2016-10-24 13:50:59Z sigurdne $ -->
+
+<xsl:template name="multi_upload">
+ <xsl:apply-templates select="multi_upload"/>
</xsl:template>
-<xsl:template name="file_list_view">
- <tr>
- <td align="left" valign="top">
- <xsl:value-of select="//lang_files"/>
- </td>
- <td>
- <table>
- <tr class="th">
- <td class="th_text" width="85%"
align="left">
- <xsl:value-of
select="lang_filename"/>
- </td>
- </tr>
- <xsl:for-each select="files" >
- <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:choose>
- <xsl:when
test="//link_to_files!=''">
-
<xsl:variable name="link_to_file"><xsl:value-of
select="//link_to_files"/>/<xsl:value-of select="directory"/>/<xsl:value-of
select="file_name"/></xsl:variable>
- <a
href="{$link_to_file}" target="_blank"
title="{//lang_view_file_statustext}"><xsl:value-of select="name"/></a>
- </xsl:when>
- <xsl:otherwise>
-
<xsl:variable name="link_view_file"><xsl:value-of
select="//link_view_file"/>&file_name=<xsl:value-of
select="file_name"/></xsl:variable>
- <a
href="{$link_view_file}" target="_blank"
title="{//lang_view_file_statustext}"><xsl:value-of select="name"/></a>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text> </xsl:text>
- </td>
- </tr>
- </xsl:for-each>
- </table>
- </td>
- </tr>
+<xsl:template xmlns:php="http://php.net/xsl" match="multi_upload">
+ <xsl:call-template name="multi_upload_file"/>
</xsl:template>
-<xsl:template name="file_upload" xmlns:php="http://php.net/xsl">
- <tr>
- <td valign="top">
- <xsl:value-of select="lang_upload_file"/>
- </td>
- <td>
- <input type="file" name="file" size="40"
onMouseout="window.status='';return true;">
- <xsl:attribute name="title">
- <xsl:value-of
select="//lang_file_statustext"/>
- </xsl:attribute>
- </input>
- </td>
- </tr>
+
+<!-- New template-->
+<xsl:template xmlns:php="http://php.net/xsl" name="file_upload">
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of select="php:function('lang', 'upload
files')"/>
+ </label>
+ <input type="file" name="file" size="40" class="pure-input-1-2"
>
+ <xsl:attribute name="title">
+ <xsl:value-of select="php:function('lang',
'Select file to upload')"/>
+ </xsl:attribute>
+ </input>
+ </div>
<xsl:choose>
<xsl:when test="multiple_uploader!=''">
- <tr>
- <td>
+ <div class="pure-control-group">
+ <label>
<a href="javascript:fileuploader()">
<xsl:attribute name="title">
- <xsl:value-of
select="php:function('lang', 'upload multiple files')" />
+ <xsl:value-of
select="php:function('lang', 'upload multiple files')"/>
</xsl:attribute>
- <xsl:value-of
select="php:function('lang', 'upload multiple files')" />
+ <xsl:value-of
select="php:function('lang', 'upload multiple files')"/>
</a>
- </td>
- <td>
- </td>
- </tr>
+ </label>
+ </div>
</xsl:when>
</xsl:choose>
</xsl:template>
-<xsl:template name="jasper_upload" xmlns:php="http://php.net/xsl">
- <tr>
- <td valign="top">
+<!-- New template-->
+<xsl:template xmlns:php="http://php.net/xsl" name="jasper_upload">
+ <div class="pure-control-group">
+ <label>
<xsl:value-of select="php:function('lang', 'jasper
upload')"/>
- </td>
- <td>
- <input type="file" name="jasperfile" size="40">
- <xsl:attribute name="title">
- <xsl:value-of
select="php:function('lang', 'upload a jasper definition file')"/>
- </xsl:attribute>
- </input>
- </td>
- </tr>
+ </label>
+ <input type="file" name="jasperfile" size="40">
+ <xsl:attribute name="title">
+ <xsl:value-of select="php:function('lang',
'upload a jasper definition file')"/>
+ </xsl:attribute>
+ </input>
+ </div>
</xsl:template>
Modified: branches/dev-syncromind-2/helpdesk/templates/base/tts.xsl
===================================================================
--- branches/dev-syncromind-2/helpdesk/templates/base/tts.xsl 2017-05-13
04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/helpdesk/templates/base/tts.xsl 2017-05-13
14:15:15 UTC (rev 16738)
@@ -87,6 +87,18 @@
<xsl:call-template name="user_id_select"/>
</div>
</xsl:if>
+ <div
class="pure-control-group">
+ <xsl:variable
name="lang_reverse">
+
<xsl:value-of select="php:function('lang', 'reverse')"/>
+ </xsl:variable>
+ <label>
+
<xsl:value-of select="$lang_reverse"/>
+ </label>
+ <input
type="hidden" id="reverse_id" name="values[reverse_id]"
value="{value_reverse_id}"/>
+ <input
type="text" id="reverse_name" name="values[reverse_name]"
value="{value_reverse_name}" class="pure-input-1-2">
+ </input>
+ <div
id="reverse_container"/>
+ </div>
<!--xsl:call-template
name="contact_form"/-->
<!--div
class="pure-control-group">
<label>
@@ -115,7 +127,7 @@
<xsl:variable name="select_priority_name">
<xsl:value-of select="select_priority_name"/>
</xsl:variable>
- <select
name="{$select_priority_name}" title="{$lang_priority_statustext}">
+ <select
name="{$select_priority_name}" title="{$lang_priority_statustext}"
class="pure-input-1-2" >
<xsl:apply-templates select="priority_list/options"/>
</select>
</div>
@@ -125,7 +137,7 @@
<xsl:value-of select="php:function('lang', 'status')"/>
</label>
- <select
id="status_id" name="values[status]">
+ <select
id="status_id" name="values[status]" class="pure-input-1-2" >
<xsl:attribute name="title">
<xsl:value-of select="php:function('lang', 'Set the status of the ticket')"/>
</xsl:attribute>
@@ -154,7 +166,7 @@
<xsl:value-of
select="php:function('lang', 'subject')"/>
</label>
- <input type="text"
name="values[subject]" value="{value_subject}" size="60" >
+ <input type="text"
name="values[subject]" value="{value_subject}" size="60"
class="pure-input-1-2" >
<xsl:attribute
name="title">
<xsl:value-of
select="php:function('lang', 'Enter the subject of this ticket')"/>
</xsl:attribute>
@@ -174,7 +186,7 @@
<xsl:value-of
select="php:function('lang', 'Details')"/>
</label>
- <textarea cols="60" rows="10"
name="values[details]" >
+ <textarea cols="60" rows="10"
name="values[details]" class="pure-input-1-2" >
<xsl:attribute
name="title">
<xsl:value-of
select="php:function('lang', 'Enter the details of this ticket')"/>
</xsl:attribute>
@@ -209,7 +221,7 @@
<br/>
<xsl:text>Ctrl +
V</xsl:text>
</label>
- <canvas title="Copy image data
into clipboard and press Ctrl+V" style="border:1px solid grey;" id="my_canvas"
width="100" height="100">
+ <canvas title="Copy image data
into clipboard and press Ctrl+V" style="border:1px solid grey;" id="my_canvas"
width="100" height="10" class="pure-input-1-2" >
</canvas>
<input type="hidden"
id="pasted_image" name="pasted_image"></input>
<input type="hidden"
id="pasted_image_is_blank" name="pasted_image_is_blank" value="1"></input>
@@ -250,9 +262,9 @@
function response_lookup()
{
- var oArgs =
{menuaction:'helpdesk.uilookup.response_template',type:'response_template'};
- var strURL = phpGWLink('index.php', oArgs);
- TINY.box.show({iframe:strURL,
boxid:"frameless",width:750,height:450,fixed:false,maskid:"darkmask",maskopacity:40,
mask:true, animate:true, close: true});
+ var oArgs =
{menuaction:'helpdesk.uilookup.response_template',type:'response_template'};
+ var strURL = phpGWLink('index.php', oArgs);
+ TINY.box.show({iframe:strURL,
boxid:"frameless",width:750,height:450,fixed:false,maskid:"darkmask",maskopacity:40,
mask:true, animate:true, close: true});
}
var my_groups = <xsl:value-of select="my_groups"/>;
@@ -263,7 +275,15 @@
// var initialSelection = <xsl:value-of
select="resources_json"/>;
var lang = <xsl:value-of select="php:function('js_lang',
'Name', 'Address')"/>
+ function open_print_view()
+ {
+ var oArgs = {menuaction:'helpdesk.uitts._print',id:
$('#id').val()};
+ var strURL = phpGWLink('index.php', oArgs);
+ var win = window.open(strURL, '_blank');
+ win.focus();
+ }
+
</script>
<dl>
<xsl:choose>
@@ -295,8 +315,13 @@
</input>
<input type="hidden" id="id"
name="id" value="{id}">
</input>
-
</div>
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of
select="php:function('lang', 'owned by')"/>
+ </label>
+ <xsl:value-of
select="value_owned_by"/>
+ </div>
<xsl:for-each select="value_origin">
<div class="pure-control-group">
<label>
@@ -417,7 +442,7 @@
<xsl:variable name="select_priority_name">
<xsl:value-of select="select_priority_name"/>
</xsl:variable>
- <select
name="{$select_priority_name}" class="forms"
title="{$lang_priority_statustext}"
onMouseover="window.status='{$lang_priority_statustext}'; return true;"
onMouseout="window.status='';return true;">
+ <select
name="{$select_priority_name}" title="{$lang_priority_statustext}"
class="pure-input-1-2" >
<xsl:apply-templates select="priority_list/options"/>
</select>
</div>
@@ -426,7 +451,7 @@
<label>
<xsl:value-of select="php:function('lang', 'status')"/>
</label>
- <select
id="status_id" name="values[status]" class="forms">
+ <select
id="status_id" name="values[status]" class="pure-input-1-2" >
<xsl:attribute name="title">
<xsl:value-of select="php:function('lang', 'Set the status of the ticket')"/>
</xsl:attribute>
@@ -548,7 +573,7 @@
<br/>
<xsl:text>Ctrl +
V</xsl:text>
</label>
- <canvas title="Copy image data
into clipboard and press Ctrl+V" style="border:1px solid grey;" id="my_canvas"
width="100" height="100">
+ <canvas title="Copy image data
into clipboard and press Ctrl+V" style="border:1px solid grey;" id="my_canvas"
width="100" height="10" class="pure-input-1-2" >
</canvas>
<input type="hidden"
id="pasted_image" name="pasted_image"></input>
</div>
@@ -671,6 +696,11 @@
<xsl:value-of
select="php:function('lang', 'Back to the ticket list')"/>
</xsl:attribute>
</input>
+ <input type="button" class="pure-button
pure-button-primary" name="print_view" onClick="open_print_view();">
+ <xsl:attribute name="value">
+ <xsl:value-of
select="php:function('lang', 'print view')"/>
+ </xsl:attribute>
+ </input>
</div>
</form>
Modified:
branches/dev-syncromind-2/phpgwapi/inc/accounts/class.accounts_.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/accounts/class.accounts_.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/phpgwapi/inc/accounts/class.accounts_.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -215,7 +215,7 @@
* @return array list of accounts that match criteria
*/
abstract public function get_list($_type='both', $start = -1,
$sort = '',
-
$order = '', $query = '', $offset = -1);
+
$order = '', $query = '', $offset = -1, $filter = array());
/**
* Convert an account login id to an account id
Modified:
branches/dev-syncromind-2/phpgwapi/inc/accounts/class.accounts_ldap.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/accounts/class.accounts_ldap.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/phpgwapi/inc/accounts/class.accounts_ldap.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -307,7 +307,7 @@
* @param integer $offset Offset from start position (-1 == no
limit)
* @return array|boolean List with all accounts|groups or false
*/
- public function get_list($_type = 'both', $start = -1, $sort =
'', $order = '', $query = '', $offset = -1)
+ public function get_list($_type = 'both', $start = -1, $sort =
'', $order = '', $query = '', $offset = -1, $filter = array())
{
//echo "accounts_ldap:get_list($_type, $start, $sort,
$order, $query, $offset) called<br>";
$query = strtolower($query);
Modified:
branches/dev-syncromind-2/phpgwapi/inc/accounts/class.accounts_sql.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/accounts/class.accounts_sql.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/phpgwapi/inc/accounts/class.accounts_sql.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -437,7 +437,7 @@
* @return array list of accounts that match criteria
*/
public function get_list($_type='both', $start = -1, $sort = '',
- $order = '',
$query = '', $offset = -1)
+ $order = '',
$query = '', $offset = -1, $filter = array())
{
// For XML-RPC
/* if (is_array($_type))
@@ -468,26 +468,30 @@
}
$whereclause = '';
+
+ $where = 'WHERE';
+
+ if($filter['active'] == 1)
+ {
+ $whereclause = "{$where} account_status = 'A'";
+ $where = 'AND';
+ }
+
switch($_type)
{
case 'accounts':
- $whereclause = "WHERE account_type =
'u'";
+ $whereclause .= " {$where} account_type
= 'u'";
+ $where = 'AND';
break;
case 'groups':
- $whereclause = "WHERE account_type =
'g'";
+ $whereclause .= " {$where} account_type
= 'g'";
+ $where = 'AND';
break;
}
if ($query)
{
- if ($whereclause)
- {
- $whereclause .= ' AND (';
- }
- else
- {
- $whereclause = ' WHERE (';
- }
+ $whereclause .= " {$where} (";
if(ctype_digit($query))
{
Modified:
branches/dev-syncromind-2/phpgwapi/inc/auth/class.auth_customsso.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/auth/class.auth_customsso.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/phpgwapi/inc/auth/class.auth_customsso.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -75,9 +75,22 @@
public function get_username()
{
$headers = getallheaders();
-
$ssn = $headers['uid'];
+ $remote_user = explode('@', $headers['REMOTE_USER']);
+ $username = $remote_user[0];
+
+ /**
+ * Shibboleth from inside firewall
+ */
+ if($username && !$ssn)
+ {
+ return $username;
+ }
+
+ /**
+ * Shibboleth from outside firewall
+ */
if(!$ssn)
{
return;
@@ -98,27 +111,46 @@
return $username;
}
+ $db = createObject('phpgwapi.db_adodb', null, null,
true);
- // Alternative
- $config =
CreateObject('phpgwapi.config','rental')->read();
+ // Alternative config
+ $config = CreateObject('admin.soconfig',
$GLOBALS['phpgw']->locations->get_id('property', '.admin'));
- if(! $config['external_db_host'] ||
!$this->ping($config['external_db_host']))
+ if ($config->config_data['fellesdata']['host'])
{
- $message ="Database server
{$config['external_db_host']} is not accessible";
- phpgwapi_cache::message_set($message, 'error');
- // return false;
+ if(
!$this->ping($config->config_data['fellesdata']['host']))
+ {
+ $message = "Database server
{$config->config_data['fellesdata']['host']} is not accessible";
+ phpgwapi_cache::message_set($message,
'error');
+ }
+
+ $db->debug = false;
+ $db->Host =
$config->config_data['fellesdata']['host'];
+ $db->Port =
$config->config_data['fellesdata']['port'];
+ $db->Type = 'oracle';
+ $db->Database =
$config->config_data['fellesdata']['db_name'];
+ $db->User =
$config->config_data['fellesdata']['user'];
+ $db->Password =
$config->config_data['fellesdata']['password'];
+
}
+ else
+ {
+ $config =
CreateObject('phpgwapi.config','rental')->read();
-// $db = createObject('phpgwapi.db', null, null, true);
- $db = createObject('phpgwapi.db_adodb', null, null,
true);
+ if(! $config['external_db_host'] ||
!$this->ping($config['external_db_host']))
+ {
+ $message ="Database server
{$config['external_db_host']} is not accessible";
+ phpgwapi_cache::message_set($message,
'error');
+ }
- $db->debug = !!$config['external_db_debug'];
- $db->Host = $config['external_db_host'];
- $db->Port = $config['external_db_port'];
- $db->Type = $config['external_db_type'];
- $db->Database = $config['external_db_name'];
- $db->User = $config['external_db_user'];
- $db->Password = $config['external_db_password'];
+ $db->debug = !!$config['external_db_debug'];
+ $db->Host = $config['external_db_host'];
+ $db->Port = $config['external_db_port'];
+ $db->Type = $config['external_db_type'];
+ $db->Database = $config['external_db_name'];
+ $db->User = $config['external_db_user'];
+ $db->Password = $config['external_db_password'];
+ }
try
{
@@ -131,7 +163,6 @@
return false;
}
-
$sql = "SELECT BRUKERNAVN FROM V_AD_PERSON WHERE
FODSELSNR ='{$ssn}'";
$db->query($sql,__LINE__,__FILE__);
$db->next_record();
Modified: branches/dev-syncromind-2/phpgwapi/inc/class.acl.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/class.acl.inc.php 2017-05-13
04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/phpgwapi/inc/class.acl.inc.php 2017-05-13
14:15:15 UTC (rev 16738)
@@ -1523,13 +1523,16 @@
}
}
- foreach ( $accounts[$grantor] as
$grantors )
+ if(isset($accounts[$grantor]) &&
is_array($accounts[$grantor]))
{
- if (
!isset($grants['accounts'][$grantors]) )
+ foreach ( $accounts[$grantor]
as $grantors )
{
-
$grants['accounts'][$grantors] = 0;
+ if (
!isset($grants['accounts'][$grantors]) )
+ {
+
$grants['accounts'][$grantors] = 0;
+ }
+
$grants['accounts'][$grantors] |= $rights;
}
- $grants['accounts'][$grantors]
|= $rights;
}
}
}
Modified: branches/dev-syncromind-2/phpgwapi/inc/class.bocommon.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/class.bocommon.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/phpgwapi/inc/class.bocommon.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -52,12 +52,13 @@
$order = phpgw::get_var('order');
$draw = phpgw::get_var('draw', 'int');
$columns = phpgw::get_var('columns');
+ $sort = $columns[$order[0]['column']]['data'];
$params = array(
'start' => phpgw::get_var('start', 'int',
'REQUEST', 0),
'results' => phpgw::get_var('length', 'int',
'REQUEST', 0),
'query' => $query ? $query : $search['value'],
- 'sort' => $columns[$order[0]['column']]['data'],
+ 'sort' => false,
'dir' => $order[0]['dir'],
'allrows' => phpgw::get_var('length', 'int') ==
-1,
);
@@ -68,6 +69,11 @@
{
$params['filters'][$field] =
phpgw::get_var("filter_$field", $_params['type']);
}
+
+ if($field == $order)
+ {
+ $params['sort'] = $field;
+ }
}
return $params;
Modified: branches/dev-syncromind-2/phpgwapi/inc/class.db.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/class.db.inc.php 2017-05-13
04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/phpgwapi/inc/class.db.inc.php 2017-05-13
14:15:15 UTC (rev 16738)
@@ -100,6 +100,8 @@
var $persistent = false;
var $delayPointer = false;
+
+ var $error_message = '';
/**
* Constructor
* @param string $query query to be executed (optional)
@@ -171,6 +173,10 @@
}
+ public function get_error_message( )
+ {
+ return $this->error_message;
+ }
/**
* Backward compatibility for get current connection id
* @return bool true
@@ -275,10 +281,10 @@
*/
function get_offset($sql = '', $offset, $num_rows = 0)
{
- $offset = (int)$offset;
+ $offset = $offset < 0 ? 0 : (int)$offset;
$num_rows = (int)$num_rows;
- if ($num_rows == 0)
+ if ($num_rows <= 0)
{
$maxmatches =
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'];
$num_rows = isset($maxmatches) && $maxmatches ?
(int)$maxmatches : 15;
Modified: branches/dev-syncromind-2/phpgwapi/inc/class.db_adodb.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/class.db_adodb.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/phpgwapi/inc/class.db_adodb.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -216,7 +216,7 @@
{
$message = 'could not connect to
server';
}
-
+ $this->error_message = $e->getMessage();
throw new Exception($message);
return false;
}
Modified: branches/dev-syncromind-2/phpgwapi/inc/class.db_pdo.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/class.db_pdo.inc.php 2017-05-13
04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/phpgwapi/inc/class.db_pdo.inc.php 2017-05-13
14:15:15 UTC (rev 16738)
@@ -245,7 +245,7 @@
{
$message = 'could not connect to
server';
}
-
+ $this->error_message = $e->getMessage();
throw new Exception($message);
return false;
}
Modified: branches/dev-syncromind-2/phpgwapi/inc/class.jquery.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/class.jquery.inc.php 2017-05-13
04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/phpgwapi/inc/class.jquery.inc.php 2017-05-13
14:15:15 UTC (rev 16738)
@@ -58,13 +58,13 @@
phpgwapi_cache::message_set($message, 'error');
$_jquery_core = 'jquery-1.11.3'; // In case we
need IE 6–8 support.
- $_jquery_migrate = 'jquery-migrate-1.4.1.min';
+ // $_jquery_migrate = 'jquery-migrate-1.4.1.min';
}
else
{
// $_jquery_core = 'jquery-2.1.4';
- $_jquery_core = 'jquery-3.1.1';
- $_jquery_migrate = 'jquery-migrate-3.0.0.min';
+ $_jquery_core = 'jquery-3.2.1';
+ // $_jquery_migrate = 'jquery-migrate-3.0.0.min';
}
$_jquery_ui = 'jquery-ui-1.12.1';
Modified: branches/dev-syncromind-2/phpgwapi/inc/class.login.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/class.login.inc.php 2017-05-13
04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/phpgwapi/inc/class.login.inc.php 2017-05-13
14:15:15 UTC (rev 16738)
@@ -90,6 +90,12 @@
/* Program starts here */
$uilogin = new phpgw_uilogin($tmpl,
$GLOBALS['phpgw_info']['server']['auth_type'] == 'remoteuser' &&
!isset($GLOBALS['phpgw_remote_user']));
+ if(phpgw::get_var('hide_lightbox', 'bool'))
+ {
+ $uilogin->phpgw_display_login(array());
+ exit;
+ }
+
if ($GLOBALS['phpgw_info']['server']['auth_type'] ==
'remoteuser' && isset($GLOBALS['phpgw_info']['server']['mapping']) &&
!empty($GLOBALS['phpgw_info']['server']['mapping']) &&
isset($_SERVER['REMOTE_USER']))
{
$login =
$GLOBALS['phpgw']->mapping->get_mapping($_SERVER['REMOTE_USER']);
@@ -123,6 +129,7 @@
// remove entities to stop mangling
$passwd =
html_entity_decode(phpgw::get_var('passwd', 'string', 'POST'));
}
+
if ($GLOBALS['phpgw_info']['server']['auth_type'] ==
'http' && isset($_SERVER['PHP_AUTH_USER']))
{
$submit = true;
@@ -180,15 +187,21 @@
$extra_vars['cd'] = 'yes';
$GLOBALS['phpgw']->hooks->process('login');
- if ($after)
+ if ($lightbox)
{
- $this->redirect_after($frontend);
+
$GLOBALS['phpgw']->redirect_link("{$frontend}/login.php", array('hide_lightbox'
=> true));
}
else
{
-
$GLOBALS['phpgw']->redirect_link("{$frontend}/home.php", $extra_vars);
+ if ($after)
+ {
+
$this->redirect_after($frontend);
+ }
+ else
+ {
+
$GLOBALS['phpgw']->redirect_link("{$frontend}/home.php", $extra_vars);
+ }
}
-
//----------------- End login ntlm
}
@@ -225,16 +238,23 @@
unset($sslattributes);
}
- if ($GLOBALS['phpgw_info']['server']['auth_type'] ==
'customsso' && !isset($_GET['cd']))
+ if ($GLOBALS['phpgw_info']['server']['auth_type'] ==
'customsso' && (!isset($_REQUEST['skip_remote']) || !$_REQUEST['skip_remote']))
{
-
//Reset auth object
$GLOBALS['phpgw']->auth =
createObject('phpgwapi.auth');
$login =
$GLOBALS['phpgw']->auth->get_username();
- $GLOBALS['sessionid'] =
$GLOBALS['phpgw']->session->create($login, '');
+ if($login)
+ {
+ $GLOBALS['hook_values'] = array
+ (
+ 'account_lid' => $login
+ );
+
$GLOBALS['phpgw']->hooks->process('auto_addaccount', array('frontend'));
+ $GLOBALS['sessionid'] =
$GLOBALS['phpgw']->session->create($login, '');
+ }
- if (!isset($GLOBALS['sessionid']) ||
!$GLOBALS['sessionid'])
+ if (!$login || empty($GLOBALS['sessionid']))
{
$cd_array = array();
if
($GLOBALS['phpgw']->session->cd_reason)
@@ -243,6 +263,11 @@
}
$cd_array['skip_remote'] = true;
+ if ($lightbox)
+ {
+ $cd_array['lightbox'] = true;
+ }
+
$GLOBALS['phpgw']->redirect_link("/{$partial_url}", $cd_array);
exit;
}
@@ -263,18 +288,24 @@
$extra_vars['cd'] = 'yes';
- $GLOBALS['phpgw']->hooks->process('login');
- if ($after)
+ if ($lightbox)
{
- $this->redirect_after($frontend);
+
$GLOBALS['phpgw']->redirect_link("{$frontend}/login.php", array('hide_lightbox'
=> true));
}
else
{
-
$GLOBALS['phpgw']->redirect_link("{$frontend}/home.php", $extra_vars);
+
$GLOBALS['phpgw']->hooks->process('login');
+ if ($after)
+ {
+
$this->redirect_after($frontend);
+ }
+ else
+ {
+
$GLOBALS['phpgw']->redirect_link("{$frontend}/home.php", $extra_vars);
+ }
}
}
-
if ((isset($_POST['submitit']) ||
isset($_POST['submit_x']) || isset($_POST['submit_y'])))
{
if ($_SERVER['REQUEST_METHOD'] != 'POST' &&
@@ -347,7 +378,6 @@
}
$extra_vars['cd'] = 'yes';
- $GLOBALS['phpgw']->hooks->process('login');
if ($lightbox)
{
@@ -355,6 +385,7 @@
}
else
{
+
$GLOBALS['phpgw']->hooks->process('login');
if ($after)
{
$this->redirect_after($frontend);
Modified: branches/dev-syncromind-2/phpgwapi/inc/class.sessions.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/class.sessions.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/phpgwapi/inc/class.sessions.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -607,6 +607,13 @@
}
}
+ $request_scheme = empty($_SERVER['HTTPS']) ||
$_SERVER['HTTPS'] == 'off' ? 'http' : 'https';
+
+ if($request_scheme == 'https')
+ {
+ $GLOBALS['phpgw_info']['server']['enforce_ssl']
= true;
+ }
+
if (
isset($GLOBALS['phpgw_info']['server']['enforce_ssl'])
&&
$GLOBALS['phpgw_info']['server']['enforce_ssl'])
{
Modified: branches/dev-syncromind-2/phpgwapi/inc/class.socommon.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/class.socommon.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/phpgwapi/inc/class.socommon.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -160,7 +160,7 @@
{
return date($this->dateformat,
strtotime($value));
}
- return $value;
+ return $this->db->stripslashes($value);
}
/**
@@ -304,7 +304,10 @@
while
($this->db->next_record())
{
$id =
$this->unmarshal($this->db->f($key, false), 'int');
-
$results[$id_map[$id]][$field] = array();
+
if(empty($results[$id_map[$id]][$field]))
+ {
+
$results[$id_map[$id]][$field] = array();
+ }
$data = array();
foreach
($params['manytomany']['column'] as $intOrCol => $paramsOrCol)
{
@@ -332,7 +335,7 @@
while
($this->db->next_record())
{
$id =
$this->unmarshal($this->db->f($key, false), 'int');
-
if(!isset($results[$id_map[$id]][$field]))
+
if(empty($results[$id_map[$id]][$field]))
{
$results[$id_map[$id]][$field] = array();
}
@@ -411,7 +414,8 @@
{
if($acl_condition && !$acl_test)
{
- phpgw::no_access();
+ $message = lang('do you represent the
owner of this entry?');
+ phpgw::no_access(false, $message);
}
foreach ($this->fields as $field => $params)
@@ -498,7 +502,16 @@
if ($params['query'])
{
$table = $params['join'] ?
$this->build_join_table_alias($field, $params) : $this->table_name;
- $column = $params['join'] ?
$params['join']['column'] : $field;
+
+ if
(isset($params['multiple_join']) && $params['multiple_join'])
+ {
+ $table_column =
$params['multiple_join']['column'];
+ }
+ else
+ {
+ $column =
$params['join'] ? $params['join']['column'] : $field;
+ $table_column =
"{$table}.{$column}";
+ }
if ($params['type'] == 'int')
{
if (!(int)$query)
@@ -505,11 +518,11 @@
{
continue;
}
- $like_clauses[] =
"{$table}.{$column} = " . (int)$query;//$this->db->db_addslashes($query);
+ $like_clauses[] =
"{$table_column} = " . (int)$query;//$this->db->db_addslashes($query);
}
else
{
- $like_clauses[] =
"{$table}.{$column} $this->like $like_pattern";
+ $like_clauses[] =
"{$table_column} $this->like $like_pattern";
}
}
}
Modified: branches/dev-syncromind-2/phpgwapi/inc/class.uicommon_jquery.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/class.uicommon_jquery.inc.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/phpgwapi/inc/class.uicommon_jquery.inc.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -64,8 +64,6 @@
self::add_javascript('phpgwapi', $yui,
'common.js');
}
- self::add_javascript('phpgwapi', "jquery", 'common.js');
-
$this->url_prefix = str_replace('_', '.',
get_class($this));
$this->dateFormat =
$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'];
@@ -77,6 +75,7 @@
phpgwapi_jquery::load_widget('core');
phpgwapi_jquery::load_widget('contextMenu');
+ self::add_javascript('phpgwapi', "jquery", 'common.js');
self::add_javascript('phpgwapi', 'DataTables',
'media/js/jquery.dataTables.min.js');
self::add_javascript('phpgwapi', 'DataTables',
'extensions/Responsive/js/dataTables.responsive.js');
Modified:
branches/dev-syncromind-2/phpgwapi/inc/pdf/extensions/CezTableImage.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/pdf/extensions/CezTableImage.php
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/phpgwapi/inc/pdf/extensions/CezTableImage.php
2017-05-13 14:15:15 UTC (rev 16738)
@@ -40,7 +40,7 @@
/**
* @param Cezpdf $ezpdf current cezpdf object
*/
- function __construct($p,$o = 'portrait',$t = 'none', $op = array()){
+ function __construct($p='a4',$o = 'portrait',$t = 'none', $op =
array()){
parent::__construct($p, $o,$t,$op);
$this->allowedTags .= '|showimage:.*?';
}
Modified: branches/dev-syncromind-2/phpgwapi/inc/xmlrpc/lib/xmlrpc.inc
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/xmlrpc/lib/xmlrpc.inc
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/phpgwapi/inc/xmlrpc/lib/xmlrpc.inc
2017-05-13 14:15:15 UTC (rev 16738)
@@ -205,10 +205,10 @@
// The encoding used internally by PHP.
// String values received as xml will be converted to this, and php
strings will be converted to xml
// as if having been coded with this
- $GLOBALS['xmlrpc_internalencoding']='ISO-8859-1';
+ $GLOBALS['xmlrpc_internalencoding']='ISO-8859-1';
$GLOBALS['xmlrpcName']='XML-RPC for PHP';
- $GLOBALS['xmlrpcVersion']='3.0.0';
+ $GLOBALS['xmlrpcVersion']='3.0.0';
// let user errors start at 800
$GLOBALS['xmlrpcerruser']=800;
@@ -225,7 +225,7 @@
// set to TRUE to enable encoding of php NULL values to <EX:NIL/>
instead of <NIL/>
$GLOBALS['xmlrpc_null_apache_encoding']=false;
-
$GLOBALS['xmlrpc_null_apache_encoding_ns']='http://ws.apache.org/xmlrpc/namespaces/extensions';
+
$GLOBALS['xmlrpc_null_apache_encoding_ns']='http://ws.apache.org/xmlrpc/namespaces/extensions';
// used to store state during parsing
// quick explanation of components:
@@ -850,7 +850,7 @@
* http://curl.haxx.se/docs/faq.html#7.3)
*/
var $xmlrpc_curl_handle = null;
- /// Whether to use persistent connections for http 1.1 and https
+ /// Whether to use persistent connections for http 1.1 and https
var $keepalive = false;
/// Charset encodings that can be decoded without problems by
the client
var $accepted_charset_encodings = array();
@@ -872,7 +872,7 @@
* @param integer $port the port the server is listening on,
defaults to 80 or 443 depending on protocol used
* @param string $method the http protocol variant: defaults to
'http', 'https' and 'http11' can be used if CURL is installed
*/
- function xmlrpc_client($path, $server='', $port='', $method='')
+ function __construct($path, $server='', $port='', $method='')
{
// allow user to specify all params in $path
if($server == '' and $port == '' and $method == '')
@@ -944,7 +944,7 @@
/**
* Enables/disables the echoing to screen of the xmlrpc
responses received
- * @param integer $in values 0, 1 and 2 are supported (2 = echo
sent msg too, before received response)
+ * @param integer $in values 0, 1 and 2 are supported (2 = echo
sent msg too, before received response)
* @access public
*/
function setDebug($in)
@@ -980,7 +980,7 @@
/**
* Add a CA certificate to verify server with (see man page about
- * CURLOPT_CAINFO for more details)
+ * CURLOPT_CAINFO for more details)
* @param string $cacert certificate file name (or dir holding
certificates)
* @param bool $is_dir set to true to indicate cacert is a dir.
defaults to false
* @access public
@@ -1062,9 +1062,9 @@
if ($compmethod == 'any')
$this->accepted_compression = array('gzip',
'deflate');
else
- if ($compmethod == false )
- $this->accepted_compression = array();
- else
+ if ($compmethod == false )
+ $this->accepted_compression = array();
+ else
$this->accepted_compression =
array($compmethod);
}
@@ -1112,7 +1112,7 @@
/**
* Directly set cURL options, for extra flexibility
* It allows eg. to bind client to a specific IP interface /
address
- * @param array $options
+ * @param array $options
*/
function SetCurlOptions( $options )
{
@@ -1345,12 +1345,12 @@
$cookieheader = 'Cookie:' . $version .
substr($cookieheader, 0, -1) . "\r\n";
}
- // omit port if 80
- $port = ($port == 80) ? '' : (':' . $port);
-
+ // omit port if 80
+ $port = ($port == 80) ? '' : (':' . $port);
+
$op= 'POST ' . $uri. " HTTP/1.0\r\n" .
'User-Agent: ' . $this->user_agent . "\r\n" .
- 'Host: '. $server . $port . "\r\n" .
+ 'Host: '. $server . $port . "\r\n" .
$credentials .
$proxy_credentials .
$accepted_encoding .
@@ -1399,11 +1399,11 @@
}
else
{
- // reset errno and errstr on successful socket
connection
+ // reset errno and errstr on successful socket
connection
$this->errstr = '';
}
// G. Giunta 2005/10/24: close socket before parsing.
- // should yield slightly better execution times, and
make easier recursive calls (e.g. to follow http redirects)
+ // should yield slightly better execution times, and
make easier recursive calls (e.g. to follow http redirects)
$ipd='';
do
{
@@ -1621,13 +1621,13 @@
{
curl_setopt($curl,
CURLOPT_SSLKEYPASSWD, $keypass);
}
-
- // Upgrade transparently to more stringent check for versions
of php which do not support otherwise.
- // Doing it in constructor would be cleaner; doing it here
saves us a couple of function calls
- if($this->verifyhost == 1 && $info = curl_version() &&
version_compare($info['version'], '7.28.1') >= 0)
- {
- $this->verifyhost = 2;
- }
+
+ // Upgrade transparently to more stringent check for versions
of php which do not support otherwise.
+ // Doing it in constructor would be cleaner; doing it here
saves us a couple of function calls
+ if($this->verifyhost == 1 && $info = curl_version() &&
version_compare($info['version'], '7.28.1') >= 0)
+ {
+ $this->verifyhost = 2;
+ }
// whether to verify cert's common name (CN); 0
for no, 1 to verify that it exists, and 2 to verify that it matches the
hostname used
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,
$this->verifyhost);
}
@@ -1679,14 +1679,14 @@
{
print "<PRE>\n---CURL INFO---\n";
foreach(curl_getinfo($curl) as $name => $val)
- {
- if (is_array($val))
- {
- $val = implode("\n", $val);
- }
- print $name . ': ' . htmlentities($val)
. "\n";
- }
-
+ {
+ if (is_array($val))
+ {
+ $val = implode("\n", $val);
+ }
+ print $name . ': ' . htmlentities($val)
. "\n";
+ }
+
print "---END---\n</PRE>";
}
@@ -1707,12 +1707,12 @@
curl_close($curl);
}
$resp =& $msg->parseResponse($result, true,
$this->return_type);
- // if we got back a 302, we can not reuse the curl handle for
later calls
- if($resp->faultCode() == $GLOBALS['xmlrpcerr']['http_error']
&& $keepalive)
- {
- curl_close($curl);
- $this->xmlrpc_curl_handle = null;
- }
+ // if we got back a 302, we can not reuse the curl handle for
later calls
+ if($resp->faultCode() == $GLOBALS['xmlrpcerr']['http_error']
&& $keepalive)
+ {
+ curl_close($curl);
+ $this->xmlrpc_curl_handle = null;
+ }
}
return $resp;
}
@@ -1735,7 +1735,7 @@
* @param array $msgs an array of xmlrpcmsg objects
* @param integer $timeout connection timeout (in seconds)
* @param string $method the http protocol variant to be used
- * @param boolean fallback When true, upon receiving an error
during multicall, multiple single calls will be attempted
+ * @param boolean fallback When true, upon receiving an error
during multicall, multiple single calls will be attempted
* @return array
* @access public
*/
@@ -1968,7 +1968,7 @@
* NB: as of now we do not do it, since it might be either an
xmlrpcval or a plain
* php val, or a complete xml chunk, depending on usage of
xmlrpc_client::send() inside which creator is called...
*/
- function xmlrpcresp($val, $fcode = 0, $fstr = '', $valtyp='')
+ function __construct($val, $fcode = 0, $fstr = '', $valtyp='')
{
if($fcode != 0)
{
@@ -2042,7 +2042,7 @@
* with attributes being e.g. 'expires', 'path', domain'.
* NB: cookies sent as 'expired' by the server (i.e. with an
expiry date in the past)
* are still present in the array. It is up to the user-defined
code to decide
- * how to use the received cookies, and whether they have to be
sent back with the next
+ * how to use the received cookies, and whether they have to be
sent back with the next
* request to the server (using xmlrpc_client::setCookie) or not
* @return array array of cookies received from the server
* @access public
@@ -2064,14 +2064,14 @@
$this->content_type = 'text/xml; charset=' .
$charset_encoding;
else
$this->content_type = 'text/xml';
- if ($GLOBALS['xmlrpc_null_apache_encoding'])
- {
- $result = "<methodResponse
xmlns:ex=\"".$GLOBALS['xmlrpc_null_apache_encoding_ns']."\">\n";
- }
- else
- {
+ if ($GLOBALS['xmlrpc_null_apache_encoding'])
+ {
+ $result = "<methodResponse
xmlns:ex=\"".$GLOBALS['xmlrpc_null_apache_encoding_ns']."\">\n";
+ }
+ else
+ {
$result = "<methodResponse>\n";
- }
+ }
if($this->errno)
{
// G. Giunta 2005/2/13: let non-ASCII response
messages be tolerated by clients
@@ -2121,9 +2121,9 @@
/**
* @param string $meth the name of the method to invoke
- * @param array $pars array of parameters to be passed to the
method (xmlrpcval objects)
+ * @param array $pars array of parameters to be passed to the
method (xmlrpcval objects)
*/
- function xmlrpcmsg($meth, $pars=0)
+ function __construct($meth, $pars=0)
{
$this->methodname=$meth;
if(is_array($pars) && count($pars)>0)
@@ -2205,7 +2205,7 @@
/**
* Returns xml representation of the message. XML prologue
included
- * @param string $charset_encoding
+ * @param string $charset_encoding
* @return string the xml representation of the message, xml
prologue included
* @access public
*/
@@ -2259,7 +2259,7 @@
* infinite loop in that case, because we cannot trust the
caller
* to give us a valid pointer to an open file...
* @access public
- * @param resource $fp stream pointer
+ * @param resource $fp stream pointer
* @return xmlrpcresp
* @todo add 2nd & 3rd param to be passed to ParseResponse() ???
*/
@@ -2748,7 +2748,7 @@
* @param mixed $val
* @param string $type any valid xmlrpc type name (lowercase).
If null, 'string' is assumed
*/
- function xmlrpcval($val=-1, $type='')
+ function __construct($val=-1, $type='')
{
/// @todo: optimization creep - do not call addXX, do
it all inline.
/// downside: booleans will not be coerced anymore
@@ -3089,7 +3089,7 @@
}
/**
- * Checks whether a struct member with a given name is present.
+ * Checks whether a struct member with a given name is present.
* Works only on xmlrpcvals of type struct.
* @param string $m the name of the struct member to be looked up
* @return boolean
@@ -3688,10 +3688,10 @@
* we SHOULD assume it is strictly US-ASCII. But we try to be more
tolerant of unconforming (legacy?) clients/servers,
* which will be most probably using UTF-8 anyway...
*
- * @param string $httpheader the http Content-type header
+ * @param string $httpheader the http Content-type header
* @param string $xmlchunk xml content buffer
* @param string $encoding_prefs comma separated list of character
encodings to be used as default (when mb extension is enabled)
- * @return string
+ * @return string
*
* @todo explore usage of mb_http_input(): does it detect http headers +
post data? if so, use it instead of hand-detection!!!
*/
@@ -3784,7 +3784,7 @@
* if it is a valid subset of any encoding in the list
* @param string $encoding charset to be tested
* @param mixed $validlist comma separated list of valid charsets (or
array of charsets)
- * @return bool
+ * @return bool
*/
function is_valid_charset($encoding, $validlist)
{
@@ -3807,6 +3807,4 @@
return true;
return false;
}
- }
-
-?>
+ }
\ No newline at end of file
Modified: branches/dev-syncromind-2/phpgwapi/inc/xmlrpc/lib/xmlrpc_wrappers.inc
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/xmlrpc/lib/xmlrpc_wrappers.inc
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/phpgwapi/inc/xmlrpc/lib/xmlrpc_wrappers.inc
2017-05-13 14:15:15 UTC (rev 16738)
@@ -4,7 +4,7 @@
* Generate stubs to transparently access xmlrpc methods as php functions and
viceversa
*
* @author Gaetano Giunta
- * @copyright (C) 2006-2014 G. Giunta
+ * @copyright (C) 2006-2014 G. Giunta
* @license code licensed under the BSD License:
http://phpxmlrpc.sourceforge.net/license.txt
*
* @todo separate introspection from code generation for func-2-method wrapping
@@ -226,7 +226,7 @@
error_log('XML-RPC: method to be wrapped is the
constructor: '.$plainfuncname);
return false;
}
- if($func->isDestructor())
+ if($func->isDestructor())
{
error_log('XML-RPC: method to be wrapped is the
destructor: '.$plainfuncname);
return false;
@@ -515,12 +515,12 @@
* Given an xmlrpc client and a method name, register a php wrapper
function
* that will call it and return results using native php types for both
* params and results. The generated php function will return an
xmlrpcresp
- * object for failed xmlrpc calls
+ * object for failed xmlrpc calls
*
* Known limitations:
* - server must support system.methodsignature for the wanted xmlrpc
method
* - for methods that expose many signatures, only one can be picked (we
- * could in principle check if signatures differ only by number of
params
+ * could in principle check if signatures differ only by number of
params
* and not by type, but it would be more complication than we can
spare time)
* - nested xmlrpc params: the caller of the generated php function has
to
* encode on its own the params passed to the php function if these
are structs
@@ -536,11 +536,11 @@
*
* @param xmlrpc_client $client an xmlrpc client set up correctly to
communicate with target server
* @param string $methodname the xmlrpc method to be mapped to a
php function
- * @param array $extra_options array of options that specify
conversion details. valid options include
+ * @param array $extra_options array of options that specify
conversion details. valid options include
* integer signum the index of the method signature to
use in mapping (if method exposes many sigs)
* integer timeout timeout (in secs) to be used when
executing function/calling remote method
* string protocol 'http' (default), 'http11' or 'https'
- * string new_function_name the name of php function to
create. If unspecified, lib will pick an appropriate name
+ * string new_function_name the name of php function to
create. If unspecified, lib will pick an appropriate name
* string return_source if true return php code w.
function definition instead fo function name
* bool encode_php_objs let php objects be sent to
server using the 'improved' xmlrpc notation, so server can deserialize them as
php objects
* bool decode_php_objs --- WARNING !!! possible
security hazard. only use it with trusted servers ---
@@ -570,7 +570,7 @@
$encode_php_objects = isset($extra_options['encode_php_objs'])
? (bool)$extra_options['encode_php_objs'] : false;
$decode_php_objects = isset($extra_options['decode_php_objs'])
? (bool)$extra_options['decode_php_objs'] : false;
- // it seems like the meaning of 'simple_client_copy' here is
swapped wrt client_copy_mode later on...
+ // it seems like the meaning of 'simple_client_copy' here is
swapped wrt client_copy_mode later on...
$simple_client_copy =
isset($extra_options['simple_client_copy']) ?
(int)($extra_options['simple_client_copy']) : 0;
$buildit = isset($extra_options['return_source']) ?
!($extra_options['return_source']) : true;
$prefix = isset($extra_options['prefix']) ?
$extra_options['prefix'] : 'xmlrpc';
@@ -930,5 +930,4 @@
$code .= "\$client->return_type = '{$prefix}vals';\n";
//$code .= "\$client->setDebug(\$debug);\n";
return $code;
- }
-?>
\ No newline at end of file
+ }
\ No newline at end of file
Modified: branches/dev-syncromind-2/phpgwapi/inc/xmlrpc/lib/xmlrpcs.inc
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/xmlrpc/lib/xmlrpcs.inc
2017-05-13 04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/phpgwapi/inc/xmlrpc/lib/xmlrpcs.inc
2017-05-13 14:15:15 UTC (rev 16738)
@@ -420,7 +420,7 @@
/**
* Add a string to the debug info that can be later seralized by the
server
* as part of the response message.
- * Note that for best compatibility, the debug string should be encoded
using
+ * Note that for best compatibility, the debug string should be encoded
using
* the $GLOBALS['xmlrpc_internalencoding'] character set.
* @param string $m
* @access public
@@ -450,7 +450,7 @@
* @see php_xmlrpc_encode for a list of values
*/
var $phpvals_encoding_options = array( 'auto_dates' );
- /// controls whether the server is going to echo debugging
messages back to the client as comments in response body. valid values: 0,1,2,3
+ /// controls whether the server is going to echo debugging
messages back to the client as comments in response body. valid values: 0,1,2,3
var $debug = 1;
/**
* Controls behaviour of server when invoked user function
throws an exception:
@@ -494,10 +494,10 @@
var $user_data = null;
/**
- * @param array $dispmap the dispatch map with definition of
exposed services
- * @param boolean $servicenow set to false to prevent the server
from running upon construction
+ * @param array $dispmap the dispatch map with definition of
exposed services
+ * @param boolean $servicenow set to false to prevent the server
from running upon construction
*/
- function xmlrpc_server($dispMap=null, $serviceNow=true)
+ function __construct($dispMap=null, $serviceNow=true)
{
// if ZLIB is enabled, let the server by default accept
compressed requests,
// and compress responses sent to clients that support
them
@@ -540,7 +540,7 @@
* with the standard processing of the php function exposed as
method. In
* particular, triggering an USER_ERROR level error will not
halt script
* execution anymore, but just end up logged in the xmlrpc
response)
- * Note that info added at level 2 and 3 will be base64 encoded
+ * Note that info added at level 2 and 3 will be base64 encoded
* @access public
*/
function setDebug($in)
@@ -711,7 +711,7 @@
* Verify type and number of parameters received against a list
of known signatures
* @param array $in array of either xmlrpcval objects or xmlrpc
type definitions
* @param array $sig array of known signatures to match against
- * @return array
+ * @return array
* @access private
*/
function verifySignature($in, $sig)
@@ -777,7 +777,7 @@
/**
* Parse http headers received along with xmlrpc request. If
needed, inflate request
- * @return mixed null on success or an xmlrpcresp
+ * @return mixed null on success or an xmlrpcresp
* @access private
*/
function parseRequestHeaders(&$data, &$req_encoding,
&$resp_encoding, &$resp_compression)
@@ -940,7 +940,7 @@
}
/// @BUG this will fail on PHP 5 if charset is
not specified in the xml prologue,
// the encoding is not UTF8 and there are
non-ascii chars in the text...
- /// @todo use an empty string for php 5 ???
+ /// @todo use an empty string for php 5 ???
$parser = xml_parser_create($req_encoding);
}
else
@@ -1202,7 +1202,7 @@
/**
* add a string to the 'internal debug message' (separate from
'user debug message')
- * @param string $string
+ * @param string $string
* @access private
*/
function debugmsg($string)
@@ -1234,5 +1234,4 @@
$r=new xmlrpcresp(new xmlrpcval( "'Aha said I: '" .
$GLOBALS['HTTP_RAW_POST_DATA'], 'string'));
print $r->serialize();
}
- }
-?>
+ }
\ No newline at end of file
Modified: branches/dev-syncromind-2/phpgwapi/js/jquery/common.js
===================================================================
--- branches/dev-syncromind-2/phpgwapi/js/jquery/common.js 2017-05-13
04:35:18 UTC (rev 16737)
+++ branches/dev-syncromind-2/phpgwapi/js/jquery/common.js 2017-05-13
14:15:15 UTC (rev 16738)
@@ -489,7 +489,7 @@
}
try
{
- window['local_DrawCallback' + num](oTable);
+ window['local_DrawCallback' + num](container);
}
catch (err)
{
@@ -758,9 +758,23 @@
var oArgs = {lightbox: 1};
var strURL = phpGWLink('login.php', oArgs);
var width = $(window).width() * 0.80;
- TINY.box.show({iframe: strURL, boxid: 'frameless', width: width,
height: 400, fixed: false, maskid: 'darkmask', maskopacity: 40, mask: true,
animate: false, close: false, closejs: false});
+ TINY.box.show({
+ iframe: strURL,
+ boxid: 'frameless',
+ width: width,
+ height: 400,
+ fixed: false,
+ maskid: 'darkmask',
+ maskopacity: 40,
+ mask: true,
+ animate: false,
+ close: false,
+ closejs: false
+ });
};
+
+
JqueryPortico.showlightbox_history = function (sUrl)
{
TINY.box.show({iframe: sUrl, boxid: 'frameless', width: 650, height:
400, fixed: false, maskid: 'darkmask', maskopacity: 40, mask: true, animate:
true, close: true});
Copied: branches/dev-syncromind-2/phpgwapi/js/jquery/js/jquery-3.2.1.min.js
(from rev 16737, trunk/phpgwapi/js/jquery/js/jquery-3.2.1.min.js)
===================================================================
--- branches/dev-syncromind-2/phpgwapi/js/jquery/js/jquery-3.2.1.min.js
(rev 0)
+++ branches/dev-syncromind-2/phpgwapi/js/jquery/js/jquery-3.2.1.min.js
2017-05-13 14:15:15 UTC (rev 16738)
@@ -0,0 +1,4 @@
+/*! jQuery v3.2.1 | (c) JS Foundation and other contributors |
jquery.org/license */
@@ Diff output truncated at 153600 characters. @@
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [16738] Syncromind: Merge 16588:16737 from trunk,
sigurdne <=