fmsystem-commits
[Top][All Lists]
Advanced

[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()
        {




reply via email to

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