source: branches/2.4/set_box.php @ 2

Revision 2, 3.8 KB checked in by niltonneto, 13 years ago (diff)

Removida todas as tags usadas pelo CVS ($Id, $Source).
Primeira versão no CVS externo.

  • Property svn:eol-style set to native
  • Property svn:executable set to *
Line 
1<?php
2  /**************************************************************************\
3  * phpGroupWare                                                             *
4  * http://www.phpgroupware.org                                              *
5  * The file written by Joseph Engo <jengo@phpgroupware.org>                 *
6  * --------------------------------------------                             *
7  *  This program is free software; you can redistribute it and/or modify it *
8  *  under the terms of the GNU General Public License as published by the   *
9  *  Free Software Foundation; either version 2 of the License, or (at your  *
10  *  option) any later version.                                              *
11  \**************************************************************************/
12
13
14        $GLOBALS['phpgw_info']['flags'] = Array(
15                'noheader'      => True,
16                'nofooter'      => True,
17                'currentapp'    => 'home'
18        );
19        include('header.inc.php');
20
21//      if(basename($HTTP_REFERER) != 'home.php')
22//      {
23//              Header('Location: '.$GLOBALS['phpgw']->link('/home.php'));
24//              $GLOBALS['phpgw']->common->phpgw_exit();
25//      }
26
27        @reset($GLOBALS['phpgw_info']['user']['preferences']);
28        //_debug_array($GLOBALS['phpgw_info']['user']['preferences']['portal_order']);
29//      $GLOBALS['phpgw']->preferences->delete('portal_order');
30//      unset($GLOBALS['phpgw_info']['user']['preferences']['portal_order']);
31//      $GLOBALS['phpgw']->preferences->save_repository();
32
33        function move_boxes($curr_position,$new_order,$offset,$value_to_check,$max_num)
34        {
35                //echo "MOVE: $curr_position,$new_order,$offset,$value_to_check,$max_num<br>";
36                if(isset($GLOBALS['phpgw_info']['user']['preferences']['portal_order'][$new_order]))
37                {
38                        if($new_order == $max_num)
39                        {
40                                if($offset < 0)
41                                {
42                                        @ksort($GLOBALS['phpgw_info']['user']['preferences']['portal_order']);
43                                }
44                                else
45                                {
46                                        @krsort($GLOBALS['phpgw_info']['user']['preferences']['portal_order']);
47                                }
48                                while(list($seq_order,$appid) = each($GLOBALS['phpgw_info']['user']['preferences']['portal_order']))
49                                {
50                                        if($seq_order != $value_to_check)
51                                        {
52                                                $prev_seq = $seq_order + $offset;
53                                                $GLOBALS['phpgw']->preferences->delete('portal_order',$prev_seq);
54                                                $GLOBALS['phpgw']->preferences->add('portal_order',$prev_seq,$appid);
55                                        }
56                                }
57                        }
58                        else
59                        {
60                                $GLOBALS['phpgw']->preferences->delete('portal_order',$curr_position);
61                                $GLOBALS['phpgw']->preferences->add('portal_order',$curr_position,(int)$GLOBALS['phpgw_info']['user']['preferences']['portal_order'][$new_order]);
62                        }
63                }
64                $GLOBALS['phpgw']->preferences->delete('portal_order',$new_order);
65                $GLOBALS['phpgw']->preferences->add('portal_order',$new_order,(int)$_GET['app']);
66                       
67                $GLOBALS['phpgw']->preferences->save_repository();
68        }
69
70        //error_reporting(E_ALL);
71        switch($_GET['control'])
72        {
73                //print_debug('set_box', $GLOBALS['phpgw_info']['user']['preferences']['portal_order']),'app',5);
74                case 'up':
75                        $curr_position = $GLOBALS['phpgw']->common->find_portal_order((int)$_GET['app']);
76                        $max_count = count($GLOBALS['phpgw_info']['user']['preferences']['portal_order']) - 1;
77                        $offset = -1;
78                        if($curr_position <= 0)
79                        {
80                                $new_order = $max_count;
81                        }
82                        else
83                        {
84                                $new_order = $curr_position + $offset;
85                        }
86                        move_boxes($curr_position,$new_order,$offset,0,$max_count);
87                        break;
88                case 'down':
89                        $curr_position = $GLOBALS['phpgw']->common->find_portal_order((int)$_GET['app']);
90                        $max_count = count($GLOBALS['phpgw_info']['user']['preferences']['portal_order']) - 1;
91                        $offset = 1;
92                        if($curr_position >= $max_count)
93                        {
94                                $new_order = 0;
95                        }
96                        else
97                        {
98                                $new_order = $curr_position + $offset;
99                        }
100                        move_boxes($curr_position,$new_order,$offset,$max_count,0);
101                        break;
102                case 'edit':
103                case 'question':
104                case 'close':
105                default:
106        }
107
108        header('Location: '.$GLOBALS['phpgw']->link('/home.php'));
109        $GLOBALS['phpgw']->common->phpgw_exit();
110?>
111
Note: See TracBrowser for help on using the repository browser.