phpgroupware-cvs
[Top][All Lists]
Advanced

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

[Phpgroupware-cvs] admin/inc class.bolog.inc.php, 1.7, 1.7.4.1 class.sol


From: Chris Weiss <address@hidden>
Subject: [Phpgroupware-cvs] admin/inc class.bolog.inc.php, 1.7, 1.7.4.1 class.solog.inc.php, 1.5.2.1, 1.5.2.1.2.1 class.uiaccounts.inc.php, 1.23.2.9.2.20, 1.23.2.9.2.21 class.uilog.inc.php, 1.8.4.2, 1.8.4.3 hook_admin.inc.php, 1.26.2.1.2.4, 1.26.2.1.2.5 hook_sidebox_menu.inc.php, 1.1.2.3, 1.1.2.4
Date: Sun, 19 Oct 2003 01:34:04 +0000

Update of /cvsroot/phpgroupware/admin/inc
In directory subversions:/tmp/cvs-serv4760/admin/inc

Modified Files:
      Tag: Version-0_9_16-branch
        class.bolog.inc.php class.solog.inc.php 
        class.uiaccounts.inc.php class.uilog.inc.php 
        hook_admin.inc.php hook_sidebox_menu.inc.php 
Log Message:
improved logging classes, patch #2100


Index: hook_sidebox_menu.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/admin/inc/Attic/hook_sidebox_menu.inc.php,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -C2 -d -r1.1.2.3 -r1.1.2.4
*** hook_sidebox_menu.inc.php   10 Aug 2003 08:58:37 -0000      1.1.2.3
--- hook_sidebox_menu.inc.php   19 Oct 2003 01:34:02 -0000      1.1.2.4
***************
*** 77,80 ****
--- 77,86 ----
                }
  
+               if (! 
$GLOBALS['phpgw']->acl->check('error_log_access',1,'admin'))
+               {
+                       $file['Edit Log Levels']  = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiloglevels.edit_log_levels');
+               }
+ 
+ 
                if (! 
$GLOBALS['phpgw']->acl->check('applications_access',16,'admin'))
                {

Index: class.uilog.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/admin/inc/class.uilog.inc.php,v
retrieving revision 1.8.4.2
retrieving revision 1.8.4.3
diff -C2 -d -r1.8.4.2 -r1.8.4.3
*** class.uilog.inc.php 25 May 2003 15:41:25 -0000      1.8.4.2
--- class.uilog.inc.php 19 Oct 2003 01:34:02 -0000      1.8.4.3
***************
*** 1,13 ****
  <?php
!       
/***************************************************************************\
!       * phpGroupWare - uilog                                                  
    *
!       * http://www.phpgroupware.org                                           
    *
!       * Written by : jerry westrick address@hidden                          *
!       * -------------------------------------------------                     
    *
!       * This program is free software; you can redistribute it and/or modify 
it   *
!       * under the terms of the GNU General Public License as published by the 
    *
!       * Free Software Foundation; either version 2 of the License, or (at 
your    *
!       * option) any later version.                                            
    *
!       
\***************************************************************************/
  
        /* $Id$ */
--- 1,12 ----
  <?php
!       
/**************************************************************************\
!       * phpGroupWare - Administration                                         
   *
!       * http://www.phpgroupware.org                                           
   *
!       * --------------------------------------------                          
   *
!       *  This program is free software; you can redistribute it and/or modify 
it *
!       *  under the terms of the GNU General Public License as published by 
the   *
!       *  Free Software Foundation; either version 2 of the License, or (at 
your  *
!       *  option) any later version.                                           
   *
!       
\**************************************************************************/
  
        /* $Id$ */
***************
*** 15,26 ****
        class uilog
        {
!               var $grants;
!               var $cat_id;
!               var $start;
!               var $search;
!               var $filter;
! 
                var $public_functions = array(
!                       'list_log' => True
                );
  
--- 14,21 ----
        class uilog
        {
!               var $template;
                var $public_functions = array(
!                       'list_log' => True,
!                       'purge_log' => True
                );
  
***************
*** 32,304 ****
                        }
                        
!                       $_cols    = $GLOBALS['HTTP_POST_VARS']['_cols'];
!                       $nocols   = $GLOBALS['HTTP_POST_VARS']['nocols'];
!                       $_delcol  = $GLOBALS['HTTP_POST_VARS']['_delcol'];
!                       $layout   = $GLOBALS['HTTP_POST_VARS']['layout'];
!                       $editable = $GLOBALS['HTTP_GET_VARS']['editable'];
!                       $modifytable = $GLOBALS['HTTP_GET_VARS']['modifytable'] 
? $GLOBALS['HTTP_GET_VARS']['modifytable'] : 
$GLOBALS['HTTP_POST_VARS']['modifytable'];
! 
!                       $this->bolog    = CreateObject('admin.bolog',True);
!                       $this->html     = createobject('admin.html');
!                       $this->t        = 
CreateObject('phpgwapi.Template',$GLOBALS['phpgw']->common->get_tpl_dir('admin'));
!                       $this->lastid   = '';
!                       $this->editmode = False;
  
!                       // Handle the Edit Table Button
!                       if (isset($editable))
                        {
!                               $this->editmode = $editable;
                        }
! 
!                       // Handle return from Modify Table form...
!                       if ($modifytable)
                        {
!                               // the delete column must not be empty
!                               if (!isset($_delcol))
!                               {
!                                       $_delcol = array();
!                               }
  
!                               // Build New fields_inc array...
!                               if (isset($_cols))
!                               {
!                                       $c = array();
!                                       for ($i=0;$i<count($_cols);$i++)
!                                       {
!                                               if (!in_array($i, $_delcol))
!                                               {
!                                                       $c[] = $_cols[$i];
!                                               }
!                                       }
!                                       $this->fields_inc = $c;
!                               }
  
!                               // Reset Mode to display...
!                               $this->editmode = False;
!                               $this->layout = $layout;
  
!                               // Save the fields_inc values in Session and 
User Preferences...
!                               $data = 
array('fields_inc'=>$this->fields_inc,'layout'=>$layout);
!                               
$GLOBALS['phpgw']->session->appsession('session_data','log',$data);
!                               
$GLOBALS['phpgw']->preferences->read_repository();
!                               
$GLOBALS['phpgw']->preferences->delete('log','fields_inc');
!                               
$GLOBALS['phpgw']->preferences->add('log','fields_inc',$this->fields_inc);
!                               
$GLOBALS['phpgw']->preferences->delete('log','layout');
!                               
$GLOBALS['phpgw']->preferences->add('log','layout',$this->layout);
!                               
$GLOBALS['phpgw']->preferences->save_repository();
                        }
  
!                       // Make sure that $this->fields_inc is filled
!                       if ( !isset($this->field_inc))
                        {
!                               // Need to fill from Session Data...
!                               $data = 
$GLOBALS['phpgw']->session->appsession('session_data','log');
!                               if (isset($data) && isset($data['fields_inc']))
                                {
!                                       $this->fields_inc = $data['fields_inc'];
!                                       $this->layout = $data['layout'];
                                }
!                               else
                                {
!                                       
$GLOBALS['phpgw']->preferences->read_repository();
!                                       // Get From User Profile...
!                                       if 
(@$GLOBALS['phpgw_info']['user']['preferences']['log']['fields_inc'])
!                                       {
!                                               $fields_inc = 
$GLOBALS['phpgw_info']['user']['preferences']['log']['fields_inc'];
!                                               $this->fields_inc = $fields_inc;
!                                               $layout = 
$GLOBALS['phpgw_info']['user']['preferences']['log']['layout'];
!                                               $this->layout = $layout;
!                                               
$GLOBALS['phpgw']->session->appsession('session_data','log',array('fields_inc'=>$fields_inc,'layout'=>$layout));
!                                       }
!                                       else
!                                       {
!                                               // Use defaults...
!                                               $this->fields_inc = array(
!                                                       'log_severity',
!                                                       'log_id',
!                                                       'log_date_e',
!                                                       'log_app',
!                                                       'log_full_name',
!                                                       'log_msg_seq_no',
!                                                       'log_msg_date_e',
!                                                       'log_msg_severity',
!                                                       'log_msg_code',
!                                                       'log_msg_text',
!                                                       'log_msg_file',
!                                                       'log_msg_line'
!                                               );
!                                               $this->layout[]= 
array(0,1,2,3,4,5,6,7,8,9);
!                                               $this->layout[]= 
array(0,1,2,3,4,5,6,7,10,11);
! 
!                                               // Store defaults in session 
data...
!                                               
$GLOBALS['phpgw']->session->appsession(
!                                                       'session_data',
!                                                       'log',
!                                                       array(
!                                                               
'fields_inc'=>$this->fields_inc,
!                                                               
'layout'=>$this->layout
!                                                       )
!                                               );
!                                       }
                                }
  
!                       } // Values already filled...
!                       reset($this->fields_inc);
!                       while(list($cno,$cname)=each($this->fields_inc))
                        {
!                               $this->column[$cname]=$cno;
                        }
!               }
! 
!               function list_log()
!               {
!                       if (False) // add some errors to the log...
                        {
!                               // Test 1: single Error line immedeately to 
errorlog 
!                               // (could be type Debug, Info, Warning, or 
Error)
!                               
$GLOBALS['phpgw']->log->write(array('text'=>'I-TestWrite, write: 
%1','p1'=>'This message should appear in 
log','file'=>__FILE__,'line'=>__LINE__));
! 
!                               // Test 2: A message should appear in log even 
if clearstack is called
!                               
$GLOBALS['phpgw']->log->message(array('text'=>'I-TestMsg, msg: %1','p1'=>'This 
message should appear in log','file'=>__FILE__,'line'=>__LINE__));
!                               
$GLOBALS['phpgw']->log->error(array('text'=>'I-TestInfo, info: %1','p1'=>'This 
Informational should not be in log','file'=>__FILE__,'line'=>__LINE__));
!                               $GLOBALS['phpgw']->log->clearstack();
!                               $GLOBALS['phpgw']->log->commit();  // commit 
error stack to log...
! 
!                               // Test 3: one debug message
!                               
$GLOBALS['phpgw']->log->error(array('text'=>'D-Debug, dbg: %1','p1'=>'This 
debug statment should be in log','file'=>__FILE__,'line'=>__LINE__));
!                               $GLOBALS['phpgw']->log->commit();  // commit 
error stack to log...
! 
!                               // Test 3: debug and one informational
!                               
$GLOBALS['phpgw']->log->error(array('text'=>'D-Debug, dbg: %1','p1'=>'This 
debug statment should be in log','file'=>__FILE__,'line'=>__LINE__));
!                               
$GLOBALS['phpgw']->log->error(array('text'=>'I-TestInfo, info: %1','p1'=>'This 
Informational should be in log','file'=>__FILE__,'line'=>__LINE__));
!                               $GLOBALS['phpgw']->log->commit();  // commit 
error stack to log...
! 
!                               // Test 4: an informational and a Warning
!                               
$GLOBALS['phpgw']->log->error(array('text'=>'D-Debug, dbg: %1','p1'=>'This 
debug statment should be in log','file'=>__FILE__,'line'=>__LINE__));
!                               
$GLOBALS['phpgw']->log->error(array('text'=>'I-TestInfo, info: %1','p1'=>'This 
Informational should be in log','file'=>__FILE__,'line'=>__LINE__));
!                               
$GLOBALS['phpgw']->log->error(array('text'=>'W-TestWarn, warn: %1','p1'=>'This 
is a test Warning','file'=>__FILE__,'line'=>__LINE__));
!                               $GLOBALS['phpgw']->log->commit();  // commit 
error stack to log...
! 
!                               // Test 5: and an error
!                               
$GLOBALS['phpgw']->log->error(array('text'=>'D-Debug, dbg: %1','p1'=>'This 
debug statment should be in log','file'=>__FILE__,'line'=>__LINE__));
!                               
$GLOBALS['phpgw']->log->error(array('text'=>'I-TestInfo, info: %1','p1'=>'This 
Informational should be in log','file'=>__FILE__,'line'=>__LINE__));
!                               
$GLOBALS['phpgw']->log->error(array('text'=>'W-TestWarn, warn: %1','p1'=>'This 
is a test Warning','file'=>__FILE__,'line'=>__LINE__));
!                               
$GLOBALS['phpgw']->log->error(array('text'=>'E-TestError, err: %1','p1'=>'This 
is a test Error','file'=>__FILE__,'line'=>__LINE__));
!                               $GLOBALS['phpgw']->log->commit();  // commit 
error stack to log...
! 
!                               // Test 6: and finally a fatal...
!                               
$GLOBALS['phpgw']->log->error(array('text'=>'D-Debug, dbg: %1','p1'=>'This 
debug statment should be in log','file'=>__FILE__,'line'=>__LINE__));
!                               
$GLOBALS['phpgw']->log->error(array('text'=>'I-TestInfo, info: %1','p1'=>'This 
Informational should be in log','file'=>__FILE__,'line'=>__LINE__));
!                               
$GLOBALS['phpgw']->log->error(array('text'=>'W-TestWarn, warn: %1','p1'=>'This 
is a test Warning','file'=>__FILE__,'line'=>__LINE__));
!                               
$GLOBALS['phpgw']->log->error(array('text'=>'E-TestError, err: %1','p1'=>'This 
is a test Error','file'=>__FILE__,'line'=>__LINE__));
!                               
$GLOBALS['phpgw']->log->error(array('text'=>'F-Abend, abort: %1','p1'=>'Force 
abnormal termination','file'=>__FILE__,'line'=>__LINE__));
                        }
-                       $this->t->set_file(array('log_list_t' => 'log.tpl'));
- 
-                       // -------------------------- Layout Description 
-------------------------------
-                       $phycols = array('2%', '2%', '15%', '10%', '15%', '2%', 
'20%', '2%', '7%', '25%');
-                       // -------------------------- end Layout Description 
---------------------------
- 
-                       // Get list of Possible Columns
-                       $header = $this->bolog->get_error_cols_e();
- 
-                       // Describe table layout...
-                       $header['#phycols'] = $phycols;
-                       $header['#layout'] = $this->layout;
- 
-                       // Set User Configured List of columns to show
-                       $header['_cols']= $this->fields_inc;
- 
-                       // Set Table formating parameters
-                       $header['#table_parms']=array('width'=>"98%", 
'bgcolor'=>"000000", 'border'=>"0");
  
!                       // Set Header formating parameters
!                       $header['#head_parms']=array('bgcolor'=>"D3DCFF");
! 
!                       // Column Log_ID
!                       $header['log_id']['#parms_hdr'] = 
array('align'=>"center");
!                       $header['log_id']['#title'] = 'Id';
!                       $header['log_id']['align'] = 'center';
! 
!                       // Column Log_Severity
!                       $header['log_severity']['#parms_hdr'] = 
array('align'=>"center");
!                       $header['log_severity']['#title'] = 'S';
!                       $header['log_severity']['align'] = 'center';
! 
!                       // Column Trans Date
!                       $header['log_date_e']['#title'] = 'Tans. Date';
! 
!                       // Column Application
!                       $header['log_app']['#title'] = 'App.';
! 
!                       // Column FullName
!                       $header['log_full_name']['#title'] = 'User';
!                       $header['log_full_name']['align'] = 'center';
! 
!                       // Column log_msg_seq_no
!                       $header['log_msg_seq_no']['#parms_hdr'] = 
array('align'=>"center");
!                       $header['log_msg_seq_no']['#title'] = 'Sno';
!                       $header['log_msg_seq_no']['align'] = 'center';
! 
!                       // Column log_msg_seq_no
!                       $header['log_msg_date_e']['#title'] = 'TimeStamp';
!                       $header['log_msg_severity']['#title'] = 'S';
!                       $header['log_msg_severity']['align'] = 'center';
!                       $header['log_msg_code']['#title'] = 'Code';
!                       $header['log_msg_text']['#title'] = 'Error Msg';
!                       $header['log_msg_file']['#title'] = 'File';
!                       $header['log_msg_line']['#title'] = 'Line';
! 
!                       // Set up Grouping, Suppression...
!                       $header['_groupby']=array('log_id'=>1);
!                       
$header['_supres']=array('log_id'=>1,'log_severity'=>1,'log_date_e'=>1,'log_app'=>1,'log_full_name'=>1);
! 
!                       // Hack Get All Rows
!                       $rows = 
$this->bolog->get_error_e(array('orderby'=>array('log_id','log_msg_log_id')));
!                       $norows = count($rows);
!                       $header['_edittable']=$this->editmode;
!                       $table = $this->html->hash_table($rows,$header,$this, 
'format_row');
!                       $this->t->set_var('event_list',$table);
  
!                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('Admin').' - '.($this->editmode?lang('Edit Table format') : lang('View 
error log'));
!                       $GLOBALS['phpgw']->common->phpgw_header();
!                       echo parse_navbar();
!                       $this->t->pfp('out','log_list_t');
! //                    $this->set_app_langs();
                }
! 
!               function format_row($rno, $row)
                {
!                       switch($row['log_severity']['value'])
!                       {
!                               case 'D': $row['log_severity']['bgcolor'] = 
'D3DCFF'; break;
!                               case 'I': $row['log_severity']['bgcolor'] = 
'C0FFC0'; break;
!                               case 'W': $row['log_severity']['bgcolor'] = 
'FFFFC0'; break;
!                               case 'E': $row['log_severity']['bgcolor'] = 
'FFC0C0'; break;
!                               case 'F': $row['log_severity']['bgcolor'] = 
'FF0909'; break;
!                       }
! 
!                       switch($row['log_msg_severity']['value'])
!                       {
!                               case 'D': $color = 'D3DCFF'; break;
!                               case 'I': $color = 'C0FFC0'; break;
!                               case 'W': $color = 'FFFFC0'; break;
!                               case 'E': $color = 'FFC0C0'; break;
!                               case 'F': $color = 'FF0909'; break;
!                       }
!                       reset($this->fields_inc);
!                       while(list($cno,$fld) = each($this->fields_inc))
                        {
!                               if (substr($fld,0,7) == 'log_msg')
!                               {
!                                       $row[$fld]['bgcolor'] = $color;
!                               }
!                               else
!                               {
! //                                    $row[$cno]['bgcolor'] = $lcolor;
!                               }
                        }
!                       return $row;
                }
        }
- ?>
--- 27,169 ----
                        }
                        
!                       $this->bo         = createobject('admin.bolog');
!                       $this->nextmatchs = createobject('phpgwapi.nextmatchs');
!                       $this->template   = $GLOBALS['phpgw']->template;
!                       $this->template->set_file(
!                               Array(
!                                       'errorlog' => 'errorlog_view.tpl',
!                                       'form_button' => 
'form_button_script.tpl'
!                               )
!                       );
!                       $this->template->set_block('errorlog','list');
!                       $this->template->set_block('errorlog','row');
!                       $this->template->set_block('errorlog','row_empty');
!               }
  
!               function list_log()
!               {
!                       if 
($GLOBALS['phpgw']->acl->check('error_log_access',1,'admin'))
                        {
!                               $GLOBALS['phpgw']->redirect_link('/index.php');
                        }
!                       
!                       $account_id = get_var('account_id',array('GET','POST'));
!                       $start = get_var('start',array('POST'),0);
!                       $sort = get_var('sort',array('POST'),0);
!                       $order = get_var('order',array('POST'),0);
!                       
!                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('Admin').' - '.lang('View error log');
!                       if ( $account_id )
                        {
!                               $GLOBALS['phpgw_info']['flags']['app_header'] 
.= ' ' . lang('for') . ' ' . 
$GLOBALS['phpgw']->common->grab_owner_name($account_id);
!                       }
!                       
!                       $GLOBALS['phpgw']->common->phpgw_header();
!                       echo parse_navbar();
  
!                       $total_records = $this->bo->total($account_id);
  
!                       $var = Array(
!                               'th_bg'       => 
$GLOBALS['phpgw_info']['theme']['th_bg'],
!                               'nextmatchs_left'  => 
$this->nextmatchs->left('/index.php',$start,$total_records,'&menuaction=admin.uilog.list_log&account_id='
 . $account_id),
!                               'nextmatchs_right' => 
$this->nextmatchs->right('/index.php',$start,$total_records,'&menuaction=admin.uilog.list_log&account_id='
 . $account_id),
!                               'showing'          => 
$this->nextmatchs->show_hits($total_records,$start),
!                               'lang_loginid'     => lang('LoginID'),
!                               'lang_date'        => lang('time'),
!                               'lang_app'         => lang('module'),
!                               'lang_severity'    => lang('severity'),
!                               'lang_line'        => lang('line'),
!                               'lang_file'        => lang('file'),
!                               'lang_message'     => lang('log message'),
!                               'lang_total'       => lang('Total')
!                       );
  
!                       $this->template->set_var($var);
! 
!                       $records = 
$this->bo->list_log($account_id,$start,$order,$sort);
!                       while (is_array($records) && list(,$record) = 
each($records))
!                       {
!                               
$this->nextmatchs->template_alternate_row_color($this->template);
! 
!                               $var = array(
!                                       'row_date'              => 
$record['log_date'],
!                                       'row_loginid'   => 
$record['log_account_lid'],
!                                       'row_app'       => $record['log_app'],
!                                       'row_severity'  => 
$record['log_severity'],
!                                       'row_file'      => $record['log_file'],
!                                       'row_line'      => $record['log_line'],
!                                       'row_message'   => $record['log_msg'],
!                               );
!                               $this->template->set_var($var);
!                               $this->template->fp('rows_access','row',True);
                        }
  
!                       if (! $total_records && $account_id)
                        {
!                               
$this->nextmatchs->template_alternate_row_color($this->template);
!                               $this->template->set_var('row_message',lang('No 
error log records exist for this user'));
!                               
$this->template->fp('rows_access','row_empty',True);
!                       }
! 
!                       if ( $total_records ) 
!                       {
!                               if ( $account_id ) 
                                {
!                                       $var = Array(
!                                               'submit_button' => 
lang('Submit'),
!                                               'action_url_button'     => 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uilog.purge_log&account_id='
 . $account_id),
!                                               'action_text_button'    => ' 
'.lang('Delete all log records for 
').$GLOBALS['phpgw']->common->grab_owner_name($account_id),
!                                               'action_confirm_button' => '',
!                                               'action_extra_field'    => ''
!                                       );
                                }
!                               else 
                                {
!                                       $var = Array(
!                                               'submit_button' => 
lang('Submit'),
!                                               'action_url_button'     => 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uilog.purge_log'),
!                                               'action_text_button'    => ' 
'.lang('Delete all log records'),
!                                               'action_confirm_button' => '',
!                                               'action_extra_field'    => ''
!                                       );
                                }
+                               $this->template->set_var($var);
+                               $var['purge_log_button'] = 
$this->template->fp('button', 'form_button', True);
+                               $this->template->set_var($var);
+                       }
  
!                       if ( $account_id ) 
                        {
!                               $var = Array(
!                                       'bg_color'     => 
$GLOBALS['phpgw_info']['themes']['bg_color'],
!                                       'footer_total' => lang('Total records') 
. ' ' . lang('for') . ' ' . 
$GLOBALS['phpgw']->common->grab_owner_name($account_id) . ': ' . $total_records 
!                               );
                        }
!                       else
                        {
!                               $var = Array(
!                                       'bg_color'     => 
$GLOBALS['phpgw_info']['themes']['bg_color'],
!                                       'footer_total' => lang('Total records') 
. ': ' . $total_records
!                               );
                        }
  
!                       // create the menu on the left, if needed
!                       $menuClass = CreateObject('admin.uimenuclass');
!                       $var['rows'] = 
$menuClass->createHTMLCode('view_account');
  
!                       $this->template->set_var($var);
!                       $this->template->pfp('out','list');
                }
!               
!               function purge_log()
                {
!                       if 
($GLOBALS['phpgw']->acl->check('error_log_access',1,'admin'))
                        {
!                               $GLOBALS['phpgw']->redirect_link('/index.php');
                        }
!                       $account_id = get_var('account_id',array('GET','POST'));
!                       $this->bo->purge_log($account_id);
!                       $this->list_log();
                }
+               
        }

Index: class.uiaccounts.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/admin/inc/class.uiaccounts.inc.php,v
retrieving revision 1.23.2.9.2.20
retrieving revision 1.23.2.9.2.21
diff -C2 -d -r1.23.2.9.2.20 -r1.23.2.9.2.21
*** class.uiaccounts.inc.php    17 Oct 2003 05:26:34 -0000      1.23.2.9.2.20
--- class.uiaccounts.inc.php    19 Oct 2003 01:34:02 -0000      1.23.2.9.2.21
***************
*** 546,549 ****
--- 546,559 ----
                                );
                        }
+                       
+                       if ($_GET['account_id'] &&      // can't set it on add
+                           ! 
$GLOBALS['phpgw']->acl->check('error_log_access',1,'admin'))      
+                       {
+                               $GLOBALS['menuData'][] = array(
+                                       'description' => 'Error Log',
+                                       'url'         => '/index.php',
+                                       'extradata'   => 
'menuaction=admin.uilog.list_log'
+                               );
+                       }
                }
  

Index: hook_admin.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/admin/inc/hook_admin.inc.php,v
retrieving revision 1.26.2.1.2.4
retrieving revision 1.26.2.1.2.5
diff -C2 -d -r1.26.2.1.2.4 -r1.26.2.1.2.5
*** hook_admin.inc.php  31 May 2003 23:47:21 -0000      1.26.2.1.2.4
--- hook_admin.inc.php  19 Oct 2003 01:34:02 -0000      1.26.2.1.2.5
***************
*** 62,65 ****
--- 62,70 ----
        }
  
+       if (! $GLOBALS['phpgw']->acl->check('error_log_access',1,'admin'))
+       {
+               $file['Edit Log Levels']  = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiloglevels.edit_log_levels');
+       }
+ 
        if (! $GLOBALS['phpgw']->acl->check('applications_access',16,'admin'))
        {

Index: class.solog.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/admin/inc/class.solog.inc.php,v
retrieving revision 1.5.2.1
retrieving revision 1.5.2.1.2.1
diff -C2 -d -r1.5.2.1 -r1.5.2.1.2.1
*** class.solog.inc.php 15 Feb 2002 01:51:46 -0000      1.5.2.1
--- class.solog.inc.php 19 Oct 2003 01:34:02 -0000      1.5.2.1.2.1
***************
*** 1,9 ****
  <?php
        
/**************************************************************************\
!       * phpGroupWare - solog                                                  
   *
        * http://www.phpgroupware.org                                           
   *
-       * This application written by Jerry Westrick <address@hidden>          *
-       * --------------------------------------------                          
   *
-       * Funding for this program was provided by http://www.checkwithmom.com  
   *
        * --------------------------------------------                          
   *
        *  This program is free software; you can redistribute it and/or modify 
it *
--- 1,6 ----
  <?php
        
/**************************************************************************\
!       * phpGroupWare - Administration                                         
   *
        * http://www.phpgroupware.org                                           
   *
        * --------------------------------------------                          
   *
        *  This program is free software; you can redistribute it and/or modify 
it *
***************
*** 18,178 ****
        {
                var $db;
-               var $owner;
-               var $error_cols = '';
-               var $error_cols_e = '';
-               var $public_functions = array(
-                       'get_error_cols'   => True,
-                       'get_error_cols_e' => True,
-                       'get_error'        => True,
-                       'get_error_e'      => True
-               );
  
                function solog()
                {
!                       $this->db = $GLOBALS['phpgw']->db;
!               }
! 
!               function get_error_cols()
!               {
!                       if ($this->error_cols == '')
!                       {
!                               $this->error_cols = array();
! 
!                               /* fields from phpgw_log table */
!                               $clist = $this->db->metadata('phpgw_log');
!                               for ($i=0; $i<count($clist); $i++)
!                               {
!                                       $name =  $clist[$i]['name'];
!                                       $this->error_cols[$name] = array();
!                               }
! 
!                               /* fields from phpgw_log_msg table */
!                               $clist = $this->db->metadata('phpgw_log_msg');
!                               for ($i=0; $i<count($clist); $i++)
!                               {
!                                       $name =  $clist[$i]['name'];
!                                       $this->error_cols[$name] = array();
!                               }
!                       }
!                       return $this->error_cols;
                }
  
!               function get_error_cols_e()
                {
!                       if ($this->task_cols_e == '')
                        {
!                               /* Get Columns for Errors */
!                               $this->error_cols_e = $this->get_error_cols();
! 
!                               /* Enhance with Columns for phpgw_accounts */
!                               $clist = $this->db->metadata('phpgw_accounts');
!                               for ($i=0; $i<count($clist); $i++)
!                               {
!                                       $name =  $clist[$i]['name'];
!                                       $this->error_cols_e[$name] = array();
!                               }
                        }
-                       return $this->error_cols_e;
                }
  
!               function get_error_e($parms)
                {
!                       /* Fixed From */
!                       if (!isset($parms['from']))
!                       {
!                               $parms['from'] = array('phpgw_accounts');
!                       }
!                       else
!                       {
!                               $parms['from'][] = 'phpgw_accounts';
!                       } 
  
!                       /* Fix Where */
!                       if (!isset($parms['where']))
!                       {
!                               $parms['where'] = array('phpgw_log.log_user = 
phpgw_accounts.account_id');
!                       }
!                       else
!                       {
!                               $parms['where'][] = 'phpgw_log.log_id = 
phpgw_accounts.account_id';
!                       }
!                       
!                       /* Fix Default Fields */
!                       if (!isset($parms['fields']))
                        {
!                               $parms['fields'] = $this->get_error_cols_e();
                        }
!                       
!                       return $this->get_error($parms);
                }
  
!               function get_no_errors()
                {
!                       /* Get max ErrorId */
!                       $this->db->query("select count(*) as max_id from 
phpgw_log, phpgw_log_msg WHERE phpgw_log.log_id = 
phpgw_log_msg.log_msg_log_id",__LINE__,__FILE__);
                        $this->db->next_record();
-                       return $this->db->f('max_id');
-               }
  
!               function get_error($parms)
                {
!                       /* Get parameter values */
!                       $from    = $parms['from'];
!                       $where   = $parms['where'];
!                       $orderby = $parms['orderby'];
!                       $fields  = $parms['fields'];
!                       
!                       /* Build From_Clause */
!                       $from_clause = 'FROM phpgw_log, phpgw_log_msg ';
!                       if (isset($from))
!                       {
!                               $from[] = 'phpgw_log';
!                               $from[] = 'phpgw_log_msg';
!                               $from_clause = 'FROM '.implode(', ' , $from).' 
';
!                       }
! 
!                       /* Build Where_Clause */
!                       $where_clause = 'WHERE phpgw_log.log_id = 
phpgw_log_msg.log_msg_log_id ';
!                       if (isset($where))
!                       {
!                               $where[] = 'phpgw_log.log_id = 
phpgw_log_msg.log_msg_log_id';
!                               $where_clause = 'WHERE ' . implode(' AND 
',$where) . ' ';
!                       }
! 
!                       /* Build Order_By_Clause */
!                       $orderby_clause = 'ORDER BY phpgw_log.log_id, 
phpgw_log_msg.log_msg_seq_no ';
!                       if (isset($orderby))
!                       {
!                               $orderby_clause = 'ORDER BY ' . implode(', 
',$orderby);
!                       }
! 
!                       /* If no Fields specified default to * */
!                       if (!isset($fields))
!                       {
!                               $fields = $this->get_error_cols();
!                       }
! 
!                       $rows = array();
! 
!                       /* Do Select  */
!                       @reset($fields);
!                       while(list($key,$val) = @each($fields))
!                       {
!                               $fkeys .= $key . ',';
!                       }
!                       $fkeys = substr($fkeys,0,-1);
  
!                       $select = 'SELECT ' . $fkeys . ' ' . $from_clause . 
$where_clause . $orderby_clause;
!                       $this->db->query($select,__LINE__,__FILE__);
!                       while($this->db->next_record())
!                       {
!                               reset($fields);
!                               while(list($fname,$fopt) = each($fields))
!                               {
!                                       $this_row[$fname]['value'] = 
$this->db->f($fname);
!                               }
!                               $rows[] = $this_row;
                        }
!                       return $rows;
                }
        }
--- 15,79 ----
        {
                var $db;
  
                function solog()
                {
!                       $this->db       = $GLOBALS['phpgw']->db;
                }
  
!               function test_account_id($account_id)
                {
!                       if ($account_id)
                        {
!                               return " where log_account_id='$account_id'";
                        }
                }
  
!               function list_log($account_id,$start,$order,$sort)
                {
!                       $where = $this->test_account_id($account_id);
  
!                       $this->db->limit_query("select 
log_date,log_account_lid,log_app,log_severity,log_file,log_line,log_msg from 
phpgw_log $where order by log_id desc",$start,__LINE__,__FILE__);
!                       while ($this->db->next_record())
                        {
!                               $records[] = array(
!                                       'log_date'              => 
$this->db->f('log_date'),
!                                       'log_account_lid'       => 
$this->db->f('log_account_lid'),
!                                       'log_app'               => 
$this->db->f('log_app'),
!                                       'log_severity'          => 
$this->db->f('log_severity'),
!                                       'log_file'                      => 
$this->db->f('log_file'),
!                                       'log_line'              => 
$this->db->f('log_line'),
!                                       'log_msg'                       => 
$this->db->f('log_msg')
!                               );
                        }
!                       return $records;
                }
  
!               function total($account_id)
                {
!                       $where = $this->test_account_id($account_id);
! 
!                       $this->db->query("select count(*) from phpgw_log 
$where");
                        $this->db->next_record();
  
!                       return $this->db->f(0);
!               }
!               
!               function purge_log($account_id)
                {
!                       $where = $this->test_account_id($account_id);
  
!                       $db = $GLOBALS['phpgw']->db;
!                       $db->query("delete from phpgw_log 
$where",__LINE__,__FILE__);
!                       if ( $db->Errno ) {
!                               log_error(array('text' => 'Failed to delete log 
records from database using where clause of %1. DB errno %2: message %3',
!                                                               'p1' => $where,
!                                                               'p2' => 
$db->Errno,
!                                                               'p3' => 
$db->Error,
!                                                               'file' => 
__FILE__,
!                                                               'line' => 
__LINE__));
!                               return false;
                        }
!                       return true;
                }
+ 
        }

Index: class.bolog.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/admin/inc/class.bolog.inc.php,v
retrieving revision 1.7
retrieving revision 1.7.4.1
diff -C2 -d -r1.7 -r1.7.4.1
*** class.bolog.inc.php 18 Dec 2001 05:58:11 -0000      1.7
--- class.bolog.inc.php 19 Oct 2003 01:34:02 -0000      1.7.4.1
***************
*** 1,13 ****
  <?php
!       
/***************************************************************************\
!       * phpGroupWare - log                                                    
    *
!       * http://www.phpgroupware.org                                           
    *
!       * Written by : Jerry Westrick address@hidden                          *
!       * -------------------------------------------------                     
    *
!       * This program is free software; you can redistribute it and/or modify 
it   *
!       * under the terms of the GNU General Public License as published by the 
    *
!       * Free Software Foundation; either version 2 of the License, or (at 
your    *
!       * option) any later version.                                            
    *
!       
\***************************************************************************/
  
        /* $Id$ */
--- 1,12 ----
  <?php
!       
/**************************************************************************\
!       * phpGroupWare - Administration                                         
   *
!       * http://www.phpgroupware.org                                           
   *
!       * --------------------------------------------                          
   *
!       *  This program is free software; you can redistribute it and/or modify 
it *
!       *  under the terms of the GNU General Public License as published by 
the   *
!       *  Free Software Foundation; either version 2 of the License, or (at 
your  *
!       *  option) any later version.                                           
   *
!       
\**************************************************************************/
  
        /* $Id$ */
***************
*** 17,85 ****
                var $public_functions = array
                (
!                       'read_log' => True
                );
! 
!               function bolog($session=False)
                {
!                       $this->so = CreateObject('admin.solog');
                }
  
!               function get_error_cols()
                {
!                       $fields = $this->so->get_error_cols();
!                       // boAccounts
!                       $fields['account_pwd']['include'] = false; 
!                       return $fields;
!               }
  
!               function get_error_cols_e()
!               {
!                       $fields = $this->so->get_error_cols_e();
!                       $fields['log_date_e']     = array();
!                       $fields['log_msg_date_e'] = array();
!                       $fields['log_full_name']  = array(); 
!                       // boAccounts
!                       $fields['account_pwd']['include']   = false; 
!                       $fields['account_lastlogin_e']      = array(); 
!                       $fields['account_lastloginfrom_e']  = array(); 
!                       $fields['account_lastpwd_change_e'] = array(); 
!                       return $fields;
!               }
  
!               function get_error($values='')
!               {
!                       $rows = $this->so->get_error($values);
!                       // should remove the accounts_pwd
!                       return $rows;
                }
  
!               function get_no_errors()
                {
!                       $rows = $this->so->get_no_errors();
!                       return $rows;
                }
  
!               function get_error_e($values='')
                {
!                       $rows = $this->so->get_error_e($values);
! 
!                       // Enhance the fields
!                       reset($rows);
!                       while(list($rno,$r)=each($rows))
!                       {
!                               unset($r['acount_pwd']);        // remove the 
accounts_pwd
!                               $r['log_date_e']['value']               = 
$GLOBALS['phpgw']->common->show_date($GLOBALS['phpgw']->db->from_timestamp($r['log_date']['value']));
!                               $r['log_msg_date_e']['value']           = 
$GLOBALS['phpgw']->common->show_date($GLOBALS['phpgw']->db->from_timestamp($r['log_msg_date']['value']));
!                               $r['log_full_name']['value']            = 
$r['account_lastname']['value'] . ', ' .$r['account_firstname']['value'];
!                               $r['account_lastlogin_e']['value']      = 
$GLOBALS['phpgw']->common->show_date($GLOBALS['phpgw']->db->from_timestamp($r['account_lastlogin']['value']));
!                               $r['account_lastpwd_change_e']['value'] = 
$GLOBALS['phpgw']->common->show_date($GLOBALS['phpgw']->db->from_timestamp($r['account_lastpwd_change']['value']));
!                               $r['account_lastloginfrom_e']['value']  = 
'www.nowhere.com'; 
! 
!                               $r['log_msg_text']['value'] = 
lang($r['log_msg_msg']['value'],explode('|',$r['log_msg_parms']['value']));
! 
!                               $rows[$rno]=$r;
!                       }
!                       return $rows;
                }
        }
- ?>
--- 16,73 ----
                var $public_functions = array
                (
!                       'list_log'              => True,
!                       'purge_log'             => True
                );
!               
!               function bolog()
                {
!                       $this->so       = createobject('admin.solog');
                }
  
!               function list_log($account_id,$start,$order,$sort)
                {
!                       if 
($GLOBALS['phpgw']->acl->check('error_log_access',1,'admin'))
!                       {
!                               return false;
!                       }
!                       
!                       $records = 
$this->so->list_log($account_id,$start,$order,$sort);
!                       while (is_array($records) && list(,$record) = 
each($records))
!                       {
!                               // build and pass the format by hand as we want 
to show the seconds
!                               $record['log_date'] = 
$GLOBALS['phpgw']->common->show_date(
!                                       
$GLOBALS['phpgw']->db->from_timestamp($record['log_date']), 
!                                       
$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'] . ' - 
H:i:s');
  
!                               if (ereg('@',$record['log_account_lid']))
!                               {
!                                       $t = 
split('@',$record['log_account_lid']);
!                                       $record['log_account_lid'] = $t[0];
!                               }
!                               
!                               $record['log_severity'] = 
lang($GLOBALS['phpgw']->log->get_level_name($record['log_severity']));
  
!                               $_records[] = array(
!                                       'log_date'              => 
$record['log_date'],
!                                       'log_account_lid'   => 
$record['log_account_lid'],
!                                       'log_app'               => 
$record['log_app'],
!                                       'log_severity'      => 
$record['log_severity'],
!                                       'log_file'                      => 
$record['log_file'],
!                                       'log_line'              => 
$record['log_line'],     
!                                       'log_msg'                       => 
$record['log_msg']  
!                               );
!                       }
!                       return $_records;
                }
  
!               function purge_log($account_id) 
                {
!                       return $this->so->purge_log($account_id);
                }
  
!               function total($account_id)
                {
!                       return $this->so->total($account_id);
                }
+ 
        }





reply via email to

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