<?php require_once 'auth.php'; ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
		"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<title><?=getTitle(__FILE__);?></title>
<link rel="stylesheet" href="phpME.css" type="text/css"></link>
</head>
<body onLoad='documentOnLoad()'>
<h3><?=getTitle(__FILE__);?></h3>
<script language=javascript>

function documentOnLoad() {
	
<?php 
	/*
	if (typeof document.forms[0].tableid == 'undefined') return false;
	document.forms[0].tableid.onchange = onChangeTableid;
	if ($_GET['tableid']) {
		echo "document.forms[0].tableid.value = \"".$_GET['tableid']."\";";
	}
	//onChangeModule();
	*/
?>
	
}

function onChangeTableid() {
	var tableElement;
	tableElement = document.forms[0].tableid;
	location.href = "<?=$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']?>"+
	"&tableid="+tableElement.options[tableElement.selectedIndex].value;
}
</script>

<script language=javascript>
	function windowOpen(u,W,H) {
		TopPosition = (screen.height) ? (screen.height-H)/2 : 0;
		LeftPosition = (screen.width) ? (screen.width-W)/2 : 0;
		settings = 'height='+H+',width='+W+',top='+TopPosition+',left='+LeftPosition+
		',scrollbars=1,resizable=0,toolbar=0,location=0,directories=0,status=0,menubar=0';
		win  = window.open(u,'_blank',settings);
		return win;
	}
</script>
<?php
	if ($isSupervisor) {
		$userAction['designView'] = 1;
		$userAction['dictionary'] = 1;
		$userAction['right'] = 1;
	} else {
		$baseFile = $arrFILE[basename(__FILE__)];
		$userAction = getUserActions($_SESSION['userid'], $baseFile);
	}

	if (in_array($_REQUEST['operation'],array(__('Change'),__('Add')))
	|| isset($_REQUEST['morechange']) || isset($_REQUEST['moreadd'])) {
?>

<?php		if ($userAction['designView'] === 1) { ?>
		<script language=javascript>
		function getId() {
			f = document.forms[0];
			if (f.id) return f.id.value;
			return '';
		}
		function getTableid() {
			f = document.forms[0];
			if (f.tableid) return f.tableid.value;
			return '';
		}
		function designview() {
			windowOpen('designview2.php?idView='+getId()+
			'&tableid='+getTableid(), 800, 600);
		}
		</script>
		<input type=button value='<?=__('Design View')?>' onClick="designview()">
<?php		} ?>

<?php		if ($userAction['dictionary'] === 1) { ?>
		<script language=javascript>
		function dictionary() {
			windowOpen('view_dictionary.php?id='+getId(), 800, 600);
		}
		</script>
		<input type=button value='<?=__('Dictionary')?>' onClick="dictionary()">
<?php		} ?>

<?php		if ($userAction['right'] === 1) { ?>
		<script language=javascript>
		function viewRight() {
			windowOpen('view_right.php?id='+getId(), 800, 600);
		}
		</script>
		<input type=button value='<?=__('Right')?>' onClick="viewRight()">
<?php		} ?>


<?php
	}

/*
 * IMPORTANT NOTE: This generated file contains only a subset of huge amount
 * of options that can be used with phpMyEdit. To get information about all
 * features offered by phpMyEdit, check official documentation. It is available
 * online and also for download on phpMyEdit project management page:
 *
 * http://www.platon.sk/projects/main_page.php?project_id=5
 */

// MySQL host name, user name, password, database, and table
require_once 'config.php';
$opts['hn'] = $adodb_host;
$opts['un'] = $adodb_user;
$opts['pw'] = $adodb_pass;
$opts['db'] = $adodb_db;
$opts['tb'] = 'qb_view';

// Name of field which is the unique key
$opts['key'] = 'id';

// Type of key field (int/real/string/date etc.)
$opts['key_type'] = 'int';

// Sorting field(s)
$opts['sort_field'] = array('id');

// Number of records to display on the screen
// Value of -1 lists all records in a table
$opts['inc'] = 25;

// Options you wish to give the users
// A - add,  C - change, P - copy, V - view, D - delete,
// F - filter, I - initial sort suppressed
$opts['options'] = 'ACFD'; // DPV

// Number of lines to display on multiple selection filters
$opts['multiple'] = '4';

// Navigation style: B - buttons (default), T - text links, G - graphic links
// Buttons position: U - up, D - down (default)
$opts['navigation'] = 'UG'; //'DB';

// Display special page elements
$opts['display'] = array(
	'form'  => true,
	'query' => true,
	'sort'  => true,
	'time'  => true,
	'tabs'  => true
);

$opts['logtable'] =  'qb_changelog';

/* Get the user's default language and use it if possible or you can
   specify particular one you want to use. Refer to official documentation
   for list of available languages. */
$opts['language'] = $HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'];

/* Table-level filter capability. If set, it is included in the WHERE clause
   of any generated SELECT statement in SQL query. This gives you ability to
   work only with subset of data from table.

$opts['filters'] = "column1 like '%11%' AND column2<17";
$opts['filters'] = "section_id = 9";
$opts['filters'] = "PMEtable0.sessions_count > 200";
*/

/* Field definitions
   
Fields will be displayed left to right on the screen in the order in which they
appear in generated list. Here are some most used field options documented.

['name'] is the title used for column headings, etc.;
['maxlen'] maximum length to display add/edit/search input boxes
['trimlen'] maximum length of string content to display in row listing
['width'] is an optional display width specification for the column
          e.g.  ['width'] = '100px';
['mask'] a string that is used by sprintf() to format field output
['sort'] true or false; means the users may sort the display on this column
['strip_tags'] true or false; whether to strip tags from content
['nowrap'] true or false; whether this field should get a NOWRAP
['required'] true or false; if generate javascript to prevent null entries
['select'] T - text, N - numeric, D - drop-down, M - multiple selection
['options'] optional parameter to control whether a field is displayed
  L - list, F - filter, A - add, C - change, P - copy, D - delete, V - view
            Another flags are:
            R - indicates that a field is read only
            W - indicates that a field is a password field
            H - indicates that a field is to be hidden and marked as hidden
['URL'] is used to make a field 'clickable' in the display
        e.g.: 'mailto:$value', 'http://$value' or '$page?stuff';
['URLtarget']  HTML target link specification (for example: _blank)
['textarea']['rows'] and/or ['textarea']['cols']
  specifies a textarea is to be used to give multi-line input
  e.g. ['textarea']['rows'] = 5; ['textarea']['cols'] = 10
['values'] restricts user input to the specified constants,
           e.g. ['values'] = array('A','B','C') or ['values'] = range(1,99)
['values']['table'] and ['values']['column'] restricts user input
  to the values found in the specified column of another table
['values']['description'] = 'desc_column'
  The optional ['values']['description'] field allows the value(s) displayed
  to the user to be different to those in the ['values']['column'] field.
  This is useful for giving more meaning to column values. Multiple
  descriptions fields are also possible. Check documentation for this.
*/

$opts['fdd']['id'] = array(
  'name'     => 'ID',
  'select'   => 'T',
  'options'  => 'AVCPDR', // auto increment
  'maxlen'   => 11,
  'default'  => '0',
  'sort'     => true
);

$opts['fdd']['name'] = array(
  'name'     => 'Name',
  'select'   => 'T',
  'maxlen'   => 64,
  'sort'     => true,
  'required' => true
);

/*
$arr = array();
$rs = $adodb->Execute("SELECT tableid FROM qb_config ORDER BY tableid");
while (!$rs->EOF) {
	$arr[] = $rs->fields['tableid'];
	$rs->MoveNext();
}
$opts['fdd']['tableid'] = array(
  'name'     => 'TableID',
  'select'   => 'D',
  'maxlen'   => 255,
  'sort'     => true,
  'required' => true,
  'values'   => $arr
);
*/


$opts['fdd']['sql'] = array(
  'name'     => 'Sql',
  'select'   => 'T',
  'maxlen'   => 65535,
  'textarea' => array(
    'rows' => 5,
    'cols' => 80),
  'sort'     => true,
  'options'  => 'ACD'
);
/*
$opts['fdd']['sqlx'] = array(
  'name'     => 'Sql',
  'select'   => 'T',
  'maxlen'   => 65535,
  'textarea' => array(
    'rows' => 5,
    'cols' => 50),
  'sort'     => true,
  'sql'      => 'REPLACE(REPLACE(sql, "\n", " "), "\r", "")',
  'options'  => 'L',
  'nowrap'   => true
);
*/

$opts['fdd']['oninsert'] = array(
  'name'     => 'onInsert',
  'select'   => 'T',
  'maxlen'   => 65535,
  'sort'     => true,
  'textarea' => array(
    'rows' => 2,
    'cols' => 80),
  'options'  => 'ACD'
);

$opts['fdd']['onupdate'] = array(
  'name'     => 'onUpdate',
  'select'   => 'T',
  'maxlen'   => 65535,
  'sort'     => true,
  'textarea' => array(
    'rows' => 2,
    'cols' => 80),
  'options'  => 'ACD'
);

$opts['fdd']['ondelete'] = array(
  'name'     => 'onDelete',
  'select'   => 'T',
  'maxlen'   => 65535,
  'sort'     => true,
  'textarea' => array(
    'rows' => 1,
    'cols' => 80),
  'options'  => 'ACD'
);

$opts['fdd']['isdelete'] = array(
  'name'     => 'isDelete',
  'select'   => 'T',
  'maxlen'   => 65535,
  'sort'     => true,
  'textarea' => array(
    'rows' => 1,
    'cols' => 80),
  'options'  => 'ACD'
);

$opts['fdd']['readonly'] = array(
  'name'     => 'readOnly',
  'select'   => 'T',
  'maxlen'   => 65535,
  'sort'     => true,
  'textarea' => array(
    'rows' => 1,
    'cols' => 80),
  'options'  => 'ACD'
);

$opts['fdd']['serialize'] = array(
  'name'     => 'serialize',
  'select'   => 'T',
  'sort'     => false,
//  'sql'      => "''",
  'options'  => 'AC',
  'input'    => 'H'
);

$opts['triggers']['delete']['after'] = 'view_designer.TDA.inc.php';

// Now important call to phpMyEdit
$moduleId = 'View.View Designer';
$opts['options'] = getUserOptions($moduleId, $opts['options']);
$opts['filters'] = getUserFilters($moduleId);
require_once 'phpMyEdit.class.php';
new phpMyEdit($opts);

	#if (in_array($_REQUEST['operation'],array(__('Change'),__('Add')))
	#|| isset($_REQUEST['morechange']) || isset($_REQUEST['moreadd'])) {
	#	include 'designview2.php';
	#}
?>
</body>
</html>
