fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [7230] Merge 7227:7229 from trunk


From: Sigurd Nes
Subject: [Fmsystem-commits] [7230] Merge 7227:7229 from trunk
Date: Fri, 15 Apr 2011 17:02:15 +0000

Revision: 7230
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=7230
Author:   sigurdne
Date:     2011-04-15 17:02:14 +0000 (Fri, 15 Apr 2011)
Log Message:
-----------
Merge 7227:7229 from trunk

Modified Paths:
--------------
    branches/Version-1_0-branch/phpgwapi/templates/portico/navbar.inc.php
    branches/Version-1_0-branch/property/inc/class.menu.inc.php
    branches/Version-1_0-branch/property/inc/class.sogeneric.inc.php
    branches/Version-1_0-branch/property/inc/class.uigeneric.inc.php
    branches/Version-1_0-branch/property/setup/setup.inc.php
    branches/Version-1_0-branch/property/setup/tables_current.inc.php
    branches/Version-1_0-branch/property/setup/tables_update.inc.php

Property Changed:
----------------
    branches/Version-1_0-branch/


Property changes on: branches/Version-1_0-branch
___________________________________________________________________
Modified: svn:mergeinfo
   - 
/trunk:6439-6441,6443,6445-6447,6449-6464,6466-6468,6470-6474,6476-6477,6479-6480,6483-6488,6490-6491,6493-6494,6496-6501,6503-6504,6506,6508,6510-6511,6513,6515-6516,6518,6520-6524,6526-6528,6533-6534,6536-6541,6543-6565,6567,6569,6571-6576,6578,6580-6586,6588-6596,6598-6600,6602-6604,6606-6607,6609-6611,6613-6625,6629-6639,6641-6643,6645-6646,6648,6650-6654,6656-6659,6661-6663,6665-6666,6668-6669,6672-6673,6675,6677-6678,6680,6682-6686,6688-6717,6719,6721-6722,6724-6728,6730,6732-6734,6736-6739,6741,6743,6745-6746,6748-6756,6758-6762,6764,6766-6788,6790,6792-6798,6800-6814,6816-6819,6821-6822,6824-6826,6828-6837,6839,6841,6843-6849,6851,6853-6869,6871-6874,6876-6877,6879,6881,6883,6885-6886,6888-6893,6895-6897,6899-6901,6903,6905-6907,6909,6911-6929,6931-6936,6938-6947,6949,6951,6953,6955-6956,6958-6959,6961-6968,6970-6971,6973-6974,6976-6978,6980,6982-7017,7019-7025,7027-7035,7037-7039,7041-7045,7047-7055,7057,7059-7065,7067-7069,7071,7073,7075-7076,7078,7080-7081,7083,7085,7087,7089-7097,7099-7102,7104-7105,7107-7111,7113-7120,7122-7124,7126-7129,7131,7133-7141,7143,7145-7146,7148-7150,7152-7153,7155-7158,7160-7164,7166-7167,7169-7170,7172,7174,7176,7178,7180-7181,7183,7185,7187-7188,7190,7192-7196,7198-7199,7201-7203,7205,7207,7209-7210,7212,7214,7216-7217,7219-7222,7224-7226
   + 
/trunk:6439-6441,6443,6445-6447,6449-6464,6466-6468,6470-6474,6476-6477,6479-6480,6483-6488,6490-6491,6493-6494,6496-6501,6503-6504,6506,6508,6510-6511,6513,6515-6516,6518,6520-6524,6526-6528,6533-6534,6536-6541,6543-6565,6567,6569,6571-6576,6578,6580-6586,6588-6596,6598-6600,6602-6604,6606-6607,6609-6611,6613-6625,6629-6639,6641-6643,6645-6646,6648,6650-6654,6656-6659,6661-6663,6665-6666,6668-6669,6672-6673,6675,6677-6678,6680,6682-6686,6688-6717,6719,6721-6722,6724-6728,6730,6732-6734,6736-6739,6741,6743,6745-6746,6748-6756,6758-6762,6764,6766-6788,6790,6792-6798,6800-6814,6816-6819,6821-6822,6824-6826,6828-6837,6839,6841,6843-6849,6851,6853-6869,6871-6874,6876-6877,6879,6881,6883,6885-6886,6888-6893,6895-6897,6899-6901,6903,6905-6907,6909,6911-6929,6931-6936,6938-6947,6949,6951,6953,6955-6956,6958-6959,6961-6968,6970-6971,6973-6974,6976-6978,6980,6982-7017,7019-7025,7027-7035,7037-7039,7041-7045,7047-7055,7057,7059-7065,7067-7069,7071,7073,7075-7076,7078,7080-7081,7083,7085,7087,7089-7097,7099-7102,7104-7105,7107-7111,7113-7120,7122-7124,7126-7129,7131,7133-7141,7143,7145-7146,7148-7150,7152-7153,7155-7158,7160-7164,7166-7167,7169-7170,7172,7174,7176,7178,7180-7181,7183,7185,7187-7188,7190,7192-7196,7198-7199,7201-7203,7205,7207,7209-7210,7212,7214,7216-7217,7219-7222,7224-7226,7228-7229

Modified: branches/Version-1_0-branch/phpgwapi/templates/portico/navbar.inc.php
===================================================================
--- branches/Version-1_0-branch/phpgwapi/templates/portico/navbar.inc.php       
2011-04-15 16:55:22 UTC (rev 7229)
+++ branches/Version-1_0-branch/phpgwapi/templates/portico/navbar.inc.php       
2011-04-15 17:02:14 UTC (rev 7230)
@@ -225,6 +225,11 @@
                {
                        $target = "target = '{$item['target']}'";
                }
+               if(isset($item['local_files']) && $item['local_files'])
+               {
+                       $item['url'] = 'file:///' . 
str_replace(':','|',$item['url']);
+               }
+
                return <<<HTML
 $out
                                        <a 
href="{$item['url']}"{$link_class}{$icon_style} id="{$id}" {$target}>

Modified: branches/Version-1_0-branch/property/inc/class.menu.inc.php
===================================================================
--- branches/Version-1_0-branch/property/inc/class.menu.inc.php 2011-04-15 
16:55:22 UTC (rev 7229)
+++ branches/Version-1_0-branch/property/inc/class.menu.inc.php 2011-04-15 
17:02:14 UTC (rev 7230)
@@ -882,6 +882,9 @@
                                        );
                        }
 
+                       $custom_menus = CreateObject('property.sogeneric');
+                       
$custom_menus->get_location_info('custom_menu_items',false);
+
                        if ( $acl->check('.document', PHPGW_ACL_READ, 
'property') )
                        {
                                $laws_url = 
$GLOBALS['phpgw']->link('/redirect.php',array('go' => 
urlencode('http://www.regelhjelp.no/')));
@@ -926,20 +929,15 @@
                                                'text'  => lang('gallery')
                                        );
 
-                               $custom_menus = 
CreateObject('property.sogeneric');
-                               
$custom_menus->get_location_info('custom_menu_items',false);
                                $custom_menu_items= 
$custom_menus->read(array('type' => 'custom_menu_items' , 'filter' => 
array('location' => '.document')));
                                foreach($custom_menu_items as $item)
                                {
-                                       if($item['local_files'])
-                                       {
-                                               $item['url'] = 'file:///' . 
str_replace(':','|',$item['url']);
-                                       }
                                        
$menus['navigation']['documentation']['children'][] = array
                                                (
-                                                       'url'   => $item['url'],
-                                                       'text'  => 
$item['name'],
-                                                       'target'=> '_blank'
+                                                       'url'                   
=> $item['url'],
+                                                       'text'                  
=> $item['text'],
+                                                       'target'                
=> $item['target'] ? $item['target']: '_blank',
+                                                       'local_files'   => 
$item['local_files']
                                                );
                                }
                        }
@@ -971,6 +969,30 @@
                                                {
                                                        
$menus['navigation']["entity_{$entry['id']}"]['children'] = 
$entity->read_category_tree($entry['id'],'property.uientity.index', 
PHPGW_ACL_READ);
                                                }
+
+
+                                               $custom_menu_items= 
$custom_menus->read_tree(array('type' => 'custom_menu_items' , 'filter' => 
array('location' => ".entity.{$entry['id']}")));
+
+                                               if($custom_menu_items)
+                                               {
+                                                       
$menus['navigation']["entity_{$entry['id']}"]['children'] =  
array_merge($menus['navigation']["entity_{$entry['id']}"]['children'], 
$custom_menu_items);
+                                               }
+
+/*
+                                               foreach($custom_menu_items as 
$item)
+                                               {
+                                                       if($item['local_files'])
+                                                       {
+                                                               $item['url'] = 
'file:///' . str_replace(':','|',$item['url']);
+                                                       }
+                                                       
$menus['navigation']["entity_{$entry['id']}"]['children'][] = array
+                                                               (
+                                                                       'url'   
=> $item['url'],
+                                                                       'text'  
=> $item['name'],
+                                                                       
'target'=> '_blank'
+                                                               );
+                                               }
+*/
                                        }
                                }
                        }

Modified: branches/Version-1_0-branch/property/inc/class.sogeneric.inc.php
===================================================================
--- branches/Version-1_0-branch/property/inc/class.sogeneric.inc.php    
2011-04-15 16:55:22 UTC (rev 7229)
+++ branches/Version-1_0-branch/property/inc/class.sogeneric.inc.php    
2011-04-15 17:02:14 UTC (rev 7230)
@@ -45,6 +45,7 @@
                        $this->account  = 
$GLOBALS['phpgw_info']['user']['account_id'];
                        $this->custom   = 
createObject('property.custom_fields');
                        $this->_db              = & $GLOBALS['phpgw']->db;
+                       $this->_db2             = clone($this->_db);
                        $this->_like    = & $this->_db->like;
                        $this->_join    = & $this->_db->join;
                }
@@ -1874,7 +1875,23 @@
                                                (
                                                        array
                                                        (
-                                                               'name' => 
'name',
+                                                               'name'          
        => 'parent_id',
+                                                               'descr'         
        => lang('parent'),
+                                                               'type'          
        => 'select',
+                                                               'sortable'      
        => true,
+                                                               'nullable'      
        => true,
+                                                               'filter'        
        => false,
+                                                               'role'          
        => 'parent',
+                                                               'values_def'    
=> array
+                                                               (
+                                                                       
'valueset'              => false,
+                                                                       
'method'                => 'property.bogeneric.get_list',
+                                                                       
'method_input'  => array('type' => 'custom_menu_items', 'role' => 'parent', 
'selected' => '##parent_id##')
+                                                               )
+                                                       ),
+                                                       array
+                                                       (
+                                                               'name' => 
'text',
                                                                'descr' => 
lang('name'),
                                                                'type' => 
'varchar'
                                                        ),
@@ -1886,6 +1903,17 @@
                                                        ),
                                                        array
                                                        (
+                                                               'name'          
        => 'target',
+                                                               'descr'         
        => lang('target'),
+                                                               'type'          
        => 'select',
+                                                               'filter'        
        => false,
+                                                               'values_def'    
=> array
+                                                               (
+                                                                       
'valueset'              => array( array('id' => '_blank', 'name' => 
'_blank'),array('id' => '_parent', 'name' => '_parent') ),
+                                                               )
+                                                       ),
+                                                       array
+                                                       (
                                                                'name'          
        => 'location',
                                                                'descr'         
        => lang('location'),
                                                                'type'          
        => 'select',
@@ -2518,7 +2546,7 @@
                        {
                                return $this->tree;
                        }
-                       $sql = "SELECT * FROM {$table} WHERE parent_id = 
{$parent} ORDER BY name ASC";
+                       $sql = "SELECT * FROM {$table} WHERE parent_id = 
{$parent}";
                        $db->query($sql,__LINE__,__FILE__);
 
                        while ($db->next_record())
@@ -2535,7 +2563,124 @@
                        return $this->tree;
                } 
 
+
                /**
+                * used for retrive a child-node from a hierarchy
+                *
+                * @param integer $entity_id Entity id
+                * @param integer $parent is the parent of the children we want 
to see
+                * @param integer $level is increased when we go deeper into 
the tree,
+                * @return array $child Children
+                */
+
+               protected function get_children($data, $parent, $level)
+               {       
+                       $children = array();
+
+                       $this->get_location_info($data['type'], 
$data['type_id']);
+
+                       if (!isset($this->location_info['table']) || !$table = 
$this->location_info['table'])
+                       {
+                               return $children;
+                       }
+                       $this->table = $table;
+
+                       $filtermthod = 'WHERE parent_id = ' . (int)$parent;
+
+                       $sql = "SELECT * FROM {$table} {$filtermthod}";
+                       $this->_db2->query($sql,__LINE__,__FILE__);
+
+                       $fields = array(0 => 'id');
+                       foreach ($this->location_info['fields'] as $field)
+                       {
+                               $fields[] = $field['name'];
+                       }
+
+                       while ($this->_db2->next_record())
+                       {
+                               $id     = $this->_db2->f('id');
+                               foreach($fields as $field)
+                               {
+                                       $children[$id][$field] = 
$this->_db2->f($field,true);
+                               }
+                       }
+
+                       foreach($children as &$child)
+                       {
+                               $_children = $this->get_children($data, 
$child['id'], $level+1);
+                               if($_children)
+                               {
+                                       $child['children'] = $_children;
+                               }
+                       }
+                       return $children;
+               } 
+
+
+               public function read_tree($data)
+               {
+                       $tree = array();
+
+                       $this->get_location_info($data['type'], 
$data['type_id']);
+
+                       if (!isset($this->location_info['table']) || !$table = 
$this->location_info['table'])
+                       {
+                               return $tree;
+                       }
+                       $this->table = $table;
+
+                       $filtermthod = 'WHERE (parent_id = 0 OR parent_id IS 
NULL)';
+
+                       if (isset($data['filter']) && is_array($data['filter']))
+                       {
+                               $_filter = array();
+                               foreach ($data['filter'] as $_field => $_value)
+                               {
+                                       $_filter[] = "{$_field} = '{$_value}'";
+                               }
+                               if($_filter)
+                               {
+                                       $filtermthod .= ' AND ' . implode(' AND 
', $_filter);
+                               }
+                       }
+
+                       $sql = "SELECT * FROM {$table} {$filtermthod}";
+
+                       $this->_db2->query($sql,__LINE__,__FILE__);
+                       $this->total_records = $this->_db2->num_rows();
+
+                       $fields = array(0 => 'id');
+                       foreach ($this->location_info['fields'] as $field)
+                       {
+                               $fields[] = $field['name'];
+                       }
+                       $node = array();
+                       while ($this->_db2->next_record())
+                       {
+                               $id     = $this->_db2->f('id');
+                               
+                               foreach($fields as $field)
+                               {
+                                       $tree[$id][$field] = 
$this->_db2->f($field,true);
+                               }
+                       }
+
+                       foreach($tree as &$node)
+                       {
+                               $children = $this->get_children($data, 
$node['id'], 0);
+                               if ($children)
+                               {
+                                       $node['children'] = $children;
+                               }
+                       }
+if($tree)
+{
+//     _debug_array($tree);die();
+}
+                       return $tree;
+               }
+
+               /**
                 * used for retrive the path for a particular node from a 
hierarchy
                 *
                 * @param integer $node is the id of the node we want the path 
of

Modified: branches/Version-1_0-branch/property/inc/class.uigeneric.inc.php
===================================================================
--- branches/Version-1_0-branch/property/inc/class.uigeneric.inc.php    
2011-04-15 16:55:22 UTC (rev 7229)
+++ branches/Version-1_0-branch/property/inc/class.uigeneric.inc.php    
2011-04-15 17:02:14 UTC (rev 7230)
@@ -772,10 +772,13 @@
                                $field['value'] =       
isset($values[$field['name']]) ? $values[$field['name']] : '';
                                if(isset($field['values_def']))
                                {
-                                       if($field['values_def']['valueset'])
+                                       if($field['values_def']['valueset'] && 
is_array($field['values_def']['valueset']))
                                        {
                                                $field['valueset'] = 
$field['values_def']['valueset'];
-                                               // TODO find selected value
+                                               foreach($field['valueset'] as 
&$_entry)
+                                               {
+                                                       $_entry['selected'] = 
$_entry['id'] == $field['value'] ? 1 : 0;
+                                               }
                                        }
                                        else 
if(isset($field['values_def']['method']))
                                        {

Modified: branches/Version-1_0-branch/property/setup/setup.inc.php
===================================================================
--- branches/Version-1_0-branch/property/setup/setup.inc.php    2011-04-15 
16:55:22 UTC (rev 7229)
+++ branches/Version-1_0-branch/property/setup/setup.inc.php    2011-04-15 
17:02:14 UTC (rev 7230)
@@ -12,7 +12,7 @@
        */
 
        $setup_info['property']['name']                 = 'property';
-       $setup_info['property']['version']              = '0.9.17.615';
+       $setup_info['property']['version']              = '0.9.17.617';
        $setup_info['property']['app_order']    = 8;
        $setup_info['property']['enable']               = 1;
        $setup_info['property']['app_group']    = 'office';

Modified: branches/Version-1_0-branch/property/setup/tables_current.inc.php
===================================================================
--- branches/Version-1_0-branch/property/setup/tables_current.inc.php   
2011-04-15 16:55:22 UTC (rev 7229)
+++ branches/Version-1_0-branch/property/setup/tables_current.inc.php   
2011-04-15 17:02:14 UTC (rev 7230)
@@ -2220,8 +2220,10 @@
                'fm_custom_menu_items' => array(
                        'fd' => array(
                                'id' => array('type' => 'auto', 'precision' => 
4,'nullable' => False),
-                               'name' => array('type' => 'varchar', 
'precision' => 200,'nullable' => False),
+                               'parent_id' => array('type' => 
'int','precision' => '4','nullable' => True),
+                               'text' => array('type' => 'varchar', 
'precision' => 200,'nullable' => False),
                                'url' => array('type' => 'text','nullable' => 
True),
+                               'target' =>  array('type' => 
'varchar','precision' => '15','nullable' => True),
                                'location' => array('type' => 'varchar', 
'precision' => 200,'nullable' => False),
                                'local_files' => array('type' => 'int', 
'precision' => 2,'nullable' => true),
                                'user_id' => array('type' => 'int', 'precision' 
=> 4,'nullable' => True),

Modified: branches/Version-1_0-branch/property/setup/tables_update.inc.php
===================================================================
--- branches/Version-1_0-branch/property/setup/tables_update.inc.php    
2011-04-15 16:55:22 UTC (rev 7229)
+++ branches/Version-1_0-branch/property/setup/tables_update.inc.php    
2011-04-15 17:02:14 UTC (rev 7230)
@@ -5201,8 +5201,49 @@
                }
        }
 
+       /**
+       * Update property version from 0.9.17.615 to 0.9.17.616
+       * Enable hierarchy to custom menu
+       * 
+       */
 
+       $test[] = '0.9.17.615';
+       function property_upgrade0_9_17_615()
+       {
+               $GLOBALS['phpgw_setup']->oProc->m_odb->transaction_begin();
+
+               
$GLOBALS['phpgw_setup']->oProc->AddColumn('fm_custom_menu_items','parent_id', 
array('type' => 'int','precision' => '4','nullable' => True));
+
+               if($GLOBALS['phpgw_setup']->oProc->m_odb->transaction_commit())
+               {
+                       $GLOBALS['setup_info']['property']['currentver'] = 
'0.9.17.616';
+                       return $GLOBALS['setup_info']['property']['currentver'];
+               }
+       }
+
        /**
+       * Update property version from 0.9.17.616 to 0.9.17.617
+       * rename field, add customized url-target
+       * 
+       */
+
+       $test[] = '0.9.17.616';
+       function property_upgrade0_9_17_616()
+       {
+               $GLOBALS['phpgw_setup']->oProc->m_odb->transaction_begin();
+
+               
$GLOBALS['phpgw_setup']->oProc->RenameColumn('fm_custom_menu_items','name','text');
+               
$GLOBALS['phpgw_setup']->oProc->AddColumn('fm_custom_menu_items','target', 
array('type' => 'varchar','precision' => '15','nullable' => True));
+
+               if($GLOBALS['phpgw_setup']->oProc->m_odb->transaction_commit())
+               {
+                       $GLOBALS['setup_info']['property']['currentver'] = 
'0.9.17.617';
+                       return $GLOBALS['setup_info']['property']['currentver'];
+               }
+       }
+
+
+       /**
        * Update property version from 0.9.17.607 to 0.9.17.608
        * Add more room for address at tickets
        * 




reply via email to

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