[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [7330] property: more on integration
From: |
Sigurd Nes |
Subject: |
[Fmsystem-commits] [7330] property: more on integration |
Date: |
Mon, 30 May 2011 12:48:28 +0000 |
Revision: 7330
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=7330
Author: sigurdne
Date: 2011-05-30 12:48:27 +0000 (Mon, 30 May 2011)
Log Message:
-----------
property: more on integration
Modified Paths:
--------------
trunk/property/inc/class.uilocation.inc.php
trunk/property/js/yahoo/location.index.js
Modified: trunk/property/inc/class.uilocation.inc.php
===================================================================
--- trunk/property/inc/class.uilocation.inc.php 2011-05-30 11:10:14 UTC (rev
7329)
+++ trunk/property/inc/class.uilocation.inc.php 2011-05-30 12:48:27 UTC (rev
7330)
@@ -231,87 +231,96 @@
$datatable = array();
$values_combo_box = array();
- $integrationurl = '';
$location_id =
$GLOBALS['phpgw']->locations->get_id('property', $this->acl_location);
$custom_config =
CreateObject('admin.soconfig',$location_id);
- $_integration_config =
isset($custom_config->config_data['integration']) ?
$custom_config->config_data['integration'] : array();
+ $_config = isset($custom_config->config_data) &&
$custom_config->config_data ? $custom_config->config_data : array();
- if(isset($_integration_config['url']))
+ $_integration_set = array();
+ foreach ($_config as $_config_section =>
$_config_section_data)
{
-
if(isset($_integration_config['auth_hash_name']) &&
$_integration_config['auth_hash_name'] &&
isset($_integration_config['auth_url']) && $_integration_config['auth_url'])
+ $integrationurl = '';
+ if(isset($_config_section_data['url']))
{
- //get session key from remote system
+
if(isset($_config_section_data['auth_hash_name']) &&
$_config_section_data['auth_hash_name'] &&
isset($_config_section_data['auth_url']) && $_config_section_data['auth_url'])
+ {
+ //get session key from remote
system
- $arguments =
array($_integration_config['auth_hash_name'] =>
$_integration_config['auth_hash_value']);
- $query = http_build_query($arguments);
- $auth_url =
$_integration_config['auth_url'];
- $request = "{$auth_url}?{$query}";
+ $arguments =
array($_config_section_data['auth_hash_name'] =>
$_config_section_data['auth_hash_value']);
+ $query =
http_build_query($arguments);
+ $auth_url =
$_config_section_data['auth_url'];
+ $request =
"{$auth_url}?{$query}";
- $aContext = array
- (
- 'http' => array
+ $aContext = array
(
-
'request_fulluri' => true,
- ),
- );
+ 'http' => array
+ (
+
'request_fulluri' => true,
+ ),
+ );
-
if(isset($GLOBALS['phpgw_info']['server']['httpproxy_server']))
- {
- $aContext['http']['proxy'] =
"{$GLOBALS['phpgw_info']['server']['httpproxy_server']}:{$GLOBALS['phpgw_info']['server']['httpproxy_port']}";
+
if(isset($GLOBALS['phpgw_info']['server']['httpproxy_server']))
+ {
+
$aContext['http']['proxy'] =
"{$GLOBALS['phpgw_info']['server']['httpproxy_server']}:{$GLOBALS['phpgw_info']['server']['httpproxy_port']}";
+ }
+
+ $cxContext =
stream_context_create($aContext);
+ $response =
trim(file_get_contents($request, False, $cxContext));
}
- $cxContext =
stream_context_create($aContext);
- $response =
trim(file_get_contents($request, False, $cxContext));
- }
+ $_config_section_data['url']
= htmlspecialchars_decode($_config_section_data['url']);
+ $_config_section_data['parametres']=
htmlspecialchars_decode($_config_section_data['parametres']);
+ $integration_name =
isset($_config_section_data['name']) && $_config_section_data['name'] ?
$_config_section_data['name'] : lang('integration');
+
parse_str($_config_section_data['parametres'], $output);
- $_integration_config['url'] =
htmlspecialchars_decode($_integration_config['url']);
- $_integration_config['parametres']=
htmlspecialchars_decode($_integration_config['parametres']);
- $integration_name =
isset($_integration_config['name']) && $_integration_config['name'] ?
$_integration_config['name'] : lang('integration');
+ foreach ($output as $_dummy =>
$_substitute)
+ {
+ $_keys[] = $_substitute;
+ $__substitute =
trim($_substitute, '_');
+ $_values[] =
$this->$__substitute;
+ }
+ unset($output);
- parse_str($_integration_config['parametres'],
$output);
+ $_sep = '?';
+ if
(stripos($_config_section_data['url'],'?'))
+ {
+ $_sep = '&';
+ }
+ $_param = str_replace($_keys, $_values,
$_config_section_data['parametres']);
- foreach ($output as $_dummy => $_substitute)
- {
- $_keys[] = $_substitute;
- $__substitute = trim($_substitute, '_');
- $_values[] = $this->$__substitute;
- }
- unset($output);
+ $integrationurl =
"{$_config_section_data['url']}{$_sep}{$_param}";
+ $integrationurl .=
"&{$_config_section_data['auth_key_name']}={$response}";
- $_sep = '?';
- if (stripos($_integration_config['url'],'?'))
- {
- $_sep = '&';
- }
- $_param = str_replace($_keys, $_values,
$_integration_config['parametres']);
+ $_config_section_data['location_data']=
htmlspecialchars_decode($_config_section_data['location_data']);
- $integrationurl =
"{$_integration_config['url']}{$_sep}{$_param}";
- $integrationurl .=
"&{$_integration_config['auth_key_name']}={$response}";
+ $parameters_integration = array();
+
if($_config_section_data['location_data'])
+ {
+
parse_str($_config_section_data['location_data'], $output);
- $_integration_config['location_data']=
htmlspecialchars_decode($_integration_config['location_data']);
-
- $parameters_integration = array();
- if($_integration_config['location_data'])
- {
-
parse_str($_integration_config['location_data'], $output);
-
- foreach ($output as $_name =>
$_substitute)
- {
- if($_substitute == '__loc1__')
// This one is a link...
+ foreach ($output as $_name =>
$_substitute)
{
- $_substitute =
'__location_code__';
- }
+ if($_substitute ==
'__loc1__') // This one is a link...
+ {
+ $_substitute =
'__location_code__';
+ }
-
$parameters_integration['parameter'][] = array
+
$parameters_integration['parameter'][] = array
(
'name'
=> $_name,
'source'
=> trim($_substitute, '_'),
);
+ }
}
+
+ $_integration_set[] = array
+ (
+ 'name' =>
$integration_name,
+ 'parameters' =>
$parameters_integration,
+ 'url' =>
$integrationurl
+ );
}
-
}
if( phpgw::get_var('phpgw_return_as') != 'json' )
@@ -494,18 +503,42 @@
)
);
- if($integrationurl)
+ $button_def[] = "oNormalButton_0";
+ $button_def[] = "oNormalButton_1";
+ $button_def[] = "oNormalButton_2";
+ $code_inner[] = "{order:0,
name:'btn_search',funct:'onSearchClick'}";
+ $code_inner[] = "{order:1, name:'btn_new',
funct:'onNewClick'}";
+ $code_inner[] = "{order:2,
name:'btn_export',funct:'onDownloadClick'}";
+ $_js_functions = '';
+
+ foreach ($_integration_set as $i =>
$_integration)
{
+
+ $button_def[] = 'oNormalButton_' . ($i
+ 3);
+ $code_inner[] = "{order:" . ($i + 3)
.", name:'btn_integration_{$i}',funct:'onIntegrationClick_{$i}'}";
+
$datatable['actions']['form'][0]['fields']['field'][] = array
- (
- 'type' => 'button',
- 'id' =>
'btn_integration',
- 'value' =>
$integration_name,
- 'tab_index' => 10
- );
+ (
+ 'type' => 'button',
+ 'id' =>
"btn_integration_{$i}",
+ 'value' =>
$_integration['name'],
+ 'tab_index' => 10 + $i
+ );
+
+ $_js_functions .= <<<JS
+ this.onIntegrationClick_{$i} =
function()
+ {
+
window.open(values_ds.integrationurl_{$i},'window');
+ }
+JS;
}
+ $code = 'var ' . implode(',', $button_def) .
";\n";
+ $code .= 'var normalButtons = [' . "\n" .
implode(",\n",$code_inner) . "\n];";
+ $code .= $_js_functions;
+ $GLOBALS['phpgw']->js->add_code('', $code);
+
if(!$block_query)
{
$datatable['actions']['form'][0]['fields']['field'][] = array
@@ -756,16 +789,15 @@
);
}
-
- if($integrationurl)
- {
+ foreach ($_integration_set as $_integration )
+ {
$datatable['rowactions']['action'][] =
array
- (
- 'my_name'
=> 'integration',
- 'text'
=> $integration_name,
- 'action'
=> $integrationurl.'&target=_blank',
- 'parameters' =>
$parameters_integration
- );
+ (
+ 'my_name' =>
'integration',
+ 'text' =>
$_integration['name'],
+ 'action' =>
$_integration['url'].'&target=_blank',
+ 'parameters' =>
$_integration['parameters']
+ );
}
if($this->acl_delete)
@@ -954,7 +986,10 @@
'records' =>
array()
);
- $json['integrationurl'] = $integrationurl;
+ foreach ($_integration_set as $i =>
$_integration)
+ {
+ $json["integrationurl_{$i}"] =
$_integration['url'];
+ }
// values for datatable
if(isset($datatable['rows']['row']) &&
is_array($datatable['rows']['row'])){
@@ -1536,7 +1571,6 @@
'headers' =>
$uicols
);
- $json['integrationurl'] = $integrationurl;
// values for datatable
if(isset($datatable['rows']['row']) &&
is_array($datatable['rows']['row'])){
Modified: trunk/property/js/yahoo/location.index.js
===================================================================
--- trunk/property/js/yahoo/location.index.js 2011-05-30 11:10:14 UTC (rev
7329)
+++ trunk/property/js/yahoo/location.index.js 2011-05-30 12:48:27 UTC (rev
7330)
@@ -11,6 +11,8 @@
]
// define buttons
+/*
+ // Defined i UI-class
var oNormalButton_0, oNormalButton_1, oNormalButton_2, oNormalButton_3;
var normalButtons = [
{order:0, name:'btn_search',funct:"onSearchClick"},
@@ -18,7 +20,7 @@
{order:2, name:'btn_export',funct:"onDownloadClick"},
{order:3, name:'btn_integration',funct:"onIntegrationClick"}
]
-
+*/
// define Text buttons
var textImput = [
{order:0, name:'query', id:'txt_query'}
@@ -36,13 +38,14 @@
var config_values = {
date_search : 0 //if search has link "Data search"
}
-
+/*
+ //defined in UI-class
this.onIntegrationClick = function()
{
window.open(values_ds.integrationurl,'window');
}
+*/
-
/****************************************************************************************/
this.particular_setting = function()
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [7330] property: more on integration,
Sigurd Nes <=