phpgroupware-cvs
[Top][All Lists]
Advanced

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

[Phpgroupware-cvs] CVS: preferences preferences.php,1.13.2.8.2.11,1.13.


From: Ralf Becker <address@hidden>
Subject: [Phpgroupware-cvs] CVS: preferences preferences.php,1.13.2.8.2.11,1.13.2.8.2.12
Date: Thu, 01 May 2003 21:29:04 -0400

Update of /cvsroot/phpgroupware/preferences
In directory subversions:/tmp/cvs-serv15223

Modified Files:
      Tag: Version-0_9_16-branch
        preferences.php 
Log Message:
added notify-messages to prefs:
- notify messages contain vars to be substituted, eg. $$username$$
- the var-name gets translated for editing
- new function create_notify in preferences.php
- new function parse_notify to substitute / create the notify msg

Index: preferences.php
===================================================================
RCS file: /cvsroot/phpgroupware/preferences/preferences.php,v
retrieving revision 1.13.2.8.2.11
retrieving revision 1.13.2.8.2.12
diff -C2 -r1.13.2.8.2.11 -r1.13.2.8.2.12
*** preferences.php     30 Apr 2003 00:13:26 -0000      1.13.2.8.2.11
--- preferences.php     2 May 2003 01:29:02 -0000       1.13.2.8.2.12
***************
*** 82,86 ****
        }
        
!       function create_input_box($label,$name,$help='',$default='',$size = 
'',$max_size = '',$type='')
        {
                global $t,$prefs;
--- 82,87 ----
        }
        
!       function create_input_box($label,$name,$help='',$default='',$size = 
'',$max_size = '',$type='',
!               $run_lang=True)
        {
                global $t,$prefs;
***************
*** 112,116 ****
                if ($GLOBALS['type'] == 'user')
                {
!                       $def_text = 
$GLOBALS['phpgw']->preferences->default[$_appname][$name];
                        $def_text = $def_text != '' ? ' <i><font 
size="-1">'.lang('default').':&nbsp;'.$def_text.'</font></i>' : '';
                }
--- 113,117 ----
                if ($GLOBALS['type'] == 'user')
                {
!                       $def_text = 
!$GLOBALS['phpgw']->preferences->user[$_appname][$name] ? 
$GLOBALS['phpgw']->preferences->data[$_appname][$name] : 
$GLOBALS['phpgw']->preferences->default[$_appname][$name];
                        $def_text = $def_text != '' ? ' <i><font 
size="-1">'.lang('default').':&nbsp;'.$def_text.'</font></i>' : '';
                }
***************
*** 119,126 ****
                $GLOBALS['phpgw']->nextmatchs->template_alternate_row_color($t);
  
!               $t->fp('rows',process_help($help) ? 'help_row' : 'row',True);
        }
        
!       function process_help($help)
        {
                global $t,$show_help,$has_help;
--- 120,127 ----
                $GLOBALS['phpgw']->nextmatchs->template_alternate_row_color($t);
  
!               $t->fp('rows',process_help($help,$run_lang) ? 'help_row' : 
'row',True);
        }
        
!       function process_help($help,$run_lang=True)
        {
                global $t,$show_help,$has_help;
***************
*** 132,136 ****
                        if ($show_help)
                        {
!                               $t->set_var('help_value',lang($help));
                                
                                return True;
--- 133,137 ----
                        if ($show_help)
                        {
!                               $t->set_var('help_value',$run_lang ? 
lang($help) : $help);
                                
                                return True;
***************
*** 214,218 ****
        }
        
!       function create_text_area($label,$name,$rows,$cols,$help='',$default='')
        {
                global $t,$prefs;
--- 215,262 ----
        }
        
!       /*!
!       @function create_notify
!       @abstract creates text-area or inputfield with subtitution-variables
!       @syntax 
create_notify($label,$name,$rows,$cols,$help='',$default='',$vars2='')
!       @param $label untranslated label
!       @param $name name of the pref 
!       @param $rows, $cols of the textarea or input-box ($rows==1)
!       @param $help untranslated help-text
!       @param $default default-value
!       @param $vars2 array with extra substitution-variables of the form key 
=> help-text
!       */
!       function 
create_notify($label,$name,$rows,$cols,$help='',$default='',$vars2='')
!       {
!               global $t,$prefs,$notifys;
! 
!               $vars = $GLOBALS['phpgw']->preferences->vars;
!               if (is_array($vars2))
!               {
!                       $vars += $vars2;
!               }
!               $prefs[$name] = 
$GLOBALS['phpgw']->preferences->lang_notify($prefs[$name],$vars);
! 
!               $notifys[$name] = $vars;        // this gets saved in the 
app_session for re-translation
! 
!               $help = $help ? lang($help).'<br>' : '';
!               $help .= '<p><b>'.lang('Substitutions and their 
meanings:').'</b>';
!               foreach($vars as $var => $var_help)
!               {
!                       $lname = ($lname = lang($var)) == $var.'*' ? $var : 
$lname;
!                       $help .= "<br>\n".'<b>$$'.$lname.'$$</b>: '.$var_help;
!               }
!               $help .= "</p>\n";
!               
!               if ($row == 1)
!               {
!                       
create_input_box($label,$name,$help,$default,$cols,'','',False);
!               }
!               else
!               {
!                       
create_text_area($label,$name,$rows,$cols,$help,$default,False);
!               }
!       }
! 
!       function 
create_text_area($label,$name,$rows,$cols,$help='',$default='',$run_lang=True)
        {
                global $t,$prefs;
***************
*** 231,236 ****
                if ($GLOBALS['type'] == 'user')
                {
!                       $def_text = 
$GLOBALS['phpgw']->preferences->default[$_appname][$name];
!                       $def_text = $def_text != '' ? '<br><i><font 
size="-1">'.lang('default').':<br>'.$def_text.'</font></i>' : '';
                }
                $t->set_var('row_value',"<textarea rows=\"$rows\" 
cols=\"$cols\" 
name=\"${GLOBALS[type]}[$name]\">".htmlentities($default)."</textarea>$def_text");
--- 275,280 ----
                if ($GLOBALS['type'] == 'user')
                {
!                       $def_text = 
!$GLOBALS['phpgw']->preferences->user[$_appname][$name] ? 
$GLOBALS['phpgw']->preferences->data[$_appname][$name] : 
$GLOBALS['phpgw']->preferences->default[$_appname][$name];
!                       $def_text = $def_text != '' ? '<br><i><font 
size="-1"><b>'.lang('default').'</b>:<br>'.nl2br($def_text).'</font></i>' : '';
                }
                $t->set_var('row_value',"<textarea rows=\"$rows\" 
cols=\"$cols\" 
name=\"${GLOBALS[type]}[$name]\">".htmlentities($default)."</textarea>$def_text");
***************
*** 238,245 ****
                $GLOBALS['phpgw']->nextmatchs->template_alternate_row_color($t);
  
!               $t->fp('rows',process_help($help) ? 'help_row' : 'row',True);
        }
  
!       function process_array(&$repository,$array,$prefix='')
        {
                $_appname = check_app();
--- 282,289 ----
                $GLOBALS['phpgw']->nextmatchs->template_alternate_row_color($t);
  
!               $t->fp('rows',process_help($help,$run_lang) ? 'help_row' : 
'row',True);
        }
  
!       function process_array(&$repository,$array,$notifys,$prefix='')
        {
                $_appname = check_app();
***************
*** 256,260 ****
                }
                unset($prefs['']);
! //echo "array:<pre>"; print_r($array); echo "</pre>\n";
                while (is_array($array) && list($var,$value) = each($array))
                {
--- 300,304 ----
                }
                unset($prefs['']);
!               //echo "array:<pre>"; print_r($array); echo "</pre>\n";
                while (is_array($array) && list($var,$value) = each($array))
                {
***************
*** 270,273 ****
--- 314,322 ----
                                }
                                $prefs[$var] = stripslashes($value);
+                               
+                               if ($notifys[$var])     // need to translate 
the key-words back
+                               {
+                                       $prefs[$var] = 
$GLOBALS['phpgw']->preferences->lang_notify($prefs[$var],$notifys[$var],True);
+                               }
                        }
                        else
***************
*** 349,363 ****
                if ($GLOBALS['type'] == 'user' || !($GLOBALS['type']))
                {
!                       
process_array($GLOBALS['phpgw']->preferences->user,$user,$prefix);
                }
  
                if ($GLOBALS['type'] == 'default' && is_admin())
                {
!                       process_array($GLOBALS['phpgw']->preferences->default, 
$default);
                }
  
                if ($GLOBALS['type'] == 'forced' && is_admin())
                {
!                       process_array($GLOBALS['phpgw']->preferences->forced, 
$forced);
                }
  
--- 398,412 ----
                if ($GLOBALS['type'] == 'user' || !($GLOBALS['type']))
                {
!                       
process_array($GLOBALS['phpgw']->preferences->user,$user,$session_data['notifys'],$prefix);
                }
  
                if ($GLOBALS['type'] == 'default' && is_admin())
                {
!                       process_array($GLOBALS['phpgw']->preferences->default, 
$default,$session_data['notifys']);
                }
  
                if ($GLOBALS['type'] == 'forced' && is_admin())
                {
!                       process_array($GLOBALS['phpgw']->preferences->forced, 
$forced,$session_data['notifys']);
                }
  
***************
*** 416,435 ****
        //echo "prefs=<pre>"; print_r($prefs); echo "</pre>\n";
        
!       if ($_GET['appname'] == 'preferences')
!       {
!               if (! 
$GLOBALS['phpgw']->hooks->single('settings','preferences',True))
!               {
!                       $error = True;
!               }
!       }
!       else
!       {
!               if (! 
$GLOBALS['phpgw']->hooks->single('settings',$_GET['appname']))
!               {
!                       $error = True;
!               }
!       }
! 
!       if ($error)
        {
                $t->set_block('preferences','form','formhandle');       // skip 
the form
--- 465,470 ----
        //echo "prefs=<pre>"; print_r($prefs); echo "</pre>\n";
        
!       $notifys = array();
!       if (!$GLOBALS['phpgw']->hooks->single('settings',$_GET['appname']))
        {
                $t->set_block('preferences','form','formhandle');       // skip 
the form
***************
*** 441,444 ****
--- 476,490 ----
        }
  
+       if (count($notifys))    // there have been notifys in the hook, we need 
to save in the session
+       {
+               
$GLOBALS['phpgw']->session->appsession('session_data','preferences',array(
+                       'type'      => $GLOBALS['type'],        // save our 
state in the app-session
+                       'show_help' => $show_help,
+                       'prefix'    => $prefix,
+                       'appname'   => $_GET['appname'],        // we use this 
to reset prefix on appname-change
+                       'notifys'   => $notifys
+               ));
+               //echo "notifys:<pre>"; print_r($notifys); echo "</pre>\n";
+       }
        if (is_admin())
        {
***************
*** 475,478 ****
--- 521,526 ----
        }
        $t->pfp('phpgw_body','preferences');
+       
+       //echo '<pre style="text-align: left;">'; 
print_r($GLOBALS['phpgw']->preferences->data); echo "</pre>\n";
        
        $GLOBALS['phpgw']->common->phpgw_footer();





reply via email to

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