<?php
 
/*
 
 * test1.php
 
 * Module yap testing program 4 (calback function)
 
 * $Header: d:/cvs/classistd/yap/test4.php,v 1.3 2004/04/29 20:56:42 Administrator Exp $
 
 */
 
 
 
/*
 
 * In this example I allow to modify only the row with id = 6.
 
 * The field id is specified as row key into modify_info array
 
 * The parameter is the value of key field
 
 */
 
function Allow($ItemKey)
 
{
 
return($ItemKey==6);
 
}
 
// allow to remove only the item with id=7
 
function RemoveId7($ItemKey)
 
{
 
return($ItemKey==7);
 
}
 
/*
 
 * Check value callback function.
 
 * The following function is an example how to check the fields
 
 * during form processing
 
 * before write them to the databse.
 
 * If the function return false, the module show the form again
 
 * $InputFields is an array containing all fields from the form
 
 * $FieldName: name of the field to check
 
 * You may set the function to check many fileds. The function is
 
 * called many times as the numeber the fields to check.
 
 * In this example I set to call the following function only to
 
 * check the field 'errno', so when the function is called
 
 * $FieldName is = 'errno'.
 
 */
 
function CheckField($InputFields,$FieldName)
 
{
 
$ret=($InputFields[$FieldName]==0)?true:false;
 
return($ret);
 
}
 
 
function CheckText($InputFields,$FieldName)
 
{
 
return(true);
 
}
 
 
/*
 
 * Function called for each row while the module shows the table. It is usefull
 
 * to add custom link to the table
 
 * $RowData is an array containing all data about the current row
 
 * To return to the current page call this script (test4.php) without any parameter
 
 * The module saves its information into session.
 
 */
 
function CustomLink($RowData)
 
{
 
echo "<TD><a href='dummypage1.php'>CustomLink1</a></TD>";
 
echo "<TD><a href='dummypage2.php'>CustomLink2</a></TD>";
 
}
 
 
include_once('CYapBox.php');
 
include_once('CYap.inc');
 
session_start('test');
 
echo '<html><body>';
 
$SelectQuery='select id, DEvent, errno, text, filename, line from dlog where ';
 
$SelectCount='select count(*) from dlog where ';
 
//Parameters setup
 
//Db Connection
 
$db_info=array('servername'     => 'localhost',
 
               'dbname'         => 'log',
 
               'user'           => 'root',
 
               'password'       => '',
 
               'selectquery'    => $SelectQuery,
 
               'selectcount'    => $SelectCount,
 
               'orderfield'     => 'id',
 
               'orderdirection' => 'A',
 
               'NeedOpenDb'     => false
 
               );
 
// Field to use to perform sesrchs
 
$Search_field=array(array('description' => 'Event Date',
 
                          'fieldname'   => 'DEvent',
 
                          'type'        => 'A',
 
                          'size'        => 14,
 
                          'useregex'   => 1 ),
 
                    array('description' => 'Error Code',
 
                          'fieldname'   => 'errno',
 
                          'type'        => 'N'),
 
                    );
 
// Fields to shows inside the table
 
$Show_field=array(array('fieldname' => 'id',
 
                        'header'    => 'Id'),
 
                  array('fieldname' => 'DEvent',
 
                        'header'    => 'Event Date'),
 
                  array('fieldname' => 'errno',
 
                        'header'    => 'Error Code'),
 
                  array('fieldname' => 'text',
 
                        'header'    => 'Description'),
 
                  );
 
// I don't setup the detail mode, the add/modify/delete row functions
 
$Show_info=array('prefix' => 'tst4',
 
                 'showdethref' => true,
 
                 'rowcallback' => 'CustomLink',
 
                 );
 
$Modify_info=array(
 
                 'table' => 'dlog',
 
                 'keyfield' => 'id',
 
                 'showdelete' => true,
 
                 'showmodify' => true,
 
                 'showadd' => true,
 
                  // callback function to allow the
 
                  // modify function
 
                 'modifyallow' => 'Allow',    
 
                  // callback function to allow the
 
                  // delete function
 
                 'deleteallow' => 'RemoveId7',
 
                 // set the callback function to check the contents
 
                 // of errno and text
 
                 'fieldvalidator' => array(
 
                                          'errno' => 'CheckField',
 
                                          'text' =>  'CheckText'
 
                                          ),
 
                  );
 
 
 
$p=new CYap($Search_field, $Show_field, $db_info, $Show_info, $Modify_info);
 
$p->showpage();
 
echo '</body></html>';
 
?>
 
 
 |