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.33,1.34


From: Ralf Becker <address@hidden>
Subject: [Phpgroupware-cvs] CVS: preferences preferences.php,1.33,1.34
Date: Mon, 19 May 2003 19:01:01 -0400

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

Modified Files:
        preferences.php 
Log Message:
added processing of notify-messages (substitions get translated into the user 
lang and back)
added a hook to verify the user-input and display an error message


Index: preferences.php
===================================================================
RCS file: /cvsroot/phpgroupware/preferences/preferences.php,v
retrieving revision 1.33
retrieving revision 1.34
diff -C2 -r1.33 -r1.34
*** preferences.php     2 May 2003 01:45:26 -0000       1.33
--- preferences.php     19 May 2003 23:00:59 -0000      1.34
***************
*** 226,230 ****
        @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;
--- 226,230 ----
        @param $vars2 array with extra substitution-variables of the form key 
=> help-text
        */
!       function 
create_notify($label,$name,$rows,$cols,$help='',$default='',$vars2='',$subst_help=True)
        {
                global $t,$prefs,$notifys;
***************
*** 239,251 ****
                $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)
                {
--- 239,253 ----
                $notifys[$name] = $vars;        // this gets saved in the 
app_session for re-translation
  
!               $help = $help ? lang($help) : '';
!               if ($subst_help)
                {
!                       $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)
                {
***************
*** 314,318 ****
                                }
                                $prefs[$var] = stripslashes($value);
!                               
                                if ($notifys[$var])     // need to translate 
the key-words back
                                {
--- 316,320 ----
                                }
                                $prefs[$var] = stripslashes($value);
! 
                                if ($notifys[$var])     // need to translate 
the key-words back
                                {
***************
*** 327,331 ****
--- 329,349 ----
                //echo "prefix='$prefix', prefs=<pre>"; 
print_r($repository[$_appname]); echo "</pre>\n";
  
+               // the following hook can be used to verify the prefs 
+               // if you return something else than False, it is treated as an 
error-msg and 
+               // displayed to the user (the prefs get not saved !!!)
+               //
+               if ($error = $GLOBALS['phpgw']->hooks->single(array(
+                       'location' => 'verify_settings',
+                       'prefs'    => $repository[$_appname],
+                       'prefix'   => $prefix,
+                       'type'     => $GLOBALS['type']
+               ),$_GET['appname']))
+               {
+                       return $error;
+               }
+               
                
$GLOBALS['phpgw']->preferences->save_repository(True,$GLOBALS['type']);
+               
+               return False;
        }
  
***************
*** 398,415 ****
                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']);
                }
  
!               if (!is_admin())
                {
                        
$GLOBALS['phpgw']->redirect_link('/preferences/index.php');
--- 416,433 ----
                if ($GLOBALS['type'] == 'user' || !($GLOBALS['type']))
                {
!                       $error = 
process_array($GLOBALS['phpgw']->preferences->user,$user,$session_data['notifys'],$prefix);
                }
  
                if ($GLOBALS['type'] == 'default' && is_admin())
                {
!                       $error = 
process_array($GLOBALS['phpgw']->preferences->default, 
$default,$session_data['notifys']);
                }
  
                if ($GLOBALS['type'] == 'forced' && is_admin())
                {
!                       $error = 
process_array($GLOBALS['phpgw']->preferences->forced, 
$forced,$session_data['notifys']);
                }
  
!               if (!is_admin() || $error)
                {
                        
$GLOBALS['phpgw']->redirect_link('/preferences/index.php');
***************
*** 428,432 ****
        ));
        // changes for the admin itself, should have immediate feedback ==> 
redirect
!       if ($_POST['submit'] && $GLOBALS['type'] == 'user' && $_GET['appname'] 
== 'preferences') {
                
$GLOBALS['phpgw']->redirect_link('/preferences/preferences.php','appname='.$_GET['appname']);
        }
--- 446,450 ----
        ));
        // changes for the admin itself, should have immediate feedback ==> 
redirect
!       if (!$error && $_POST['submit'] && $GLOBALS['type'] == 'user' && 
$_GET['appname'] == 'preferences') {
                
$GLOBALS['phpgw']->redirect_link('/preferences/preferences.php','appname='.$_GET['appname']);
        }
***************
*** 436,439 ****
--- 454,458 ----
        $GLOBALS['phpgw']->common->phpgw_header();
  
+       $t->set_var('messages',$error);
        
$t->set_var('action_url',$GLOBALS['phpgw']->link('/preferences/preferences.php','appname='
 . $_GET['appname']));
  





reply via email to

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