|
What this is
Other links
The source code
<?php
// module_designer.php - PHProjekt Version 4.2
// copyright © 2000-2004 Albrecht Guenther ag@phprojekt.com
// www.phprojekt.com
// Author: Albrecht Guenther
$path_pre="../";
$include_path = $path_pre."lib/lib.inc.php";
include_once $include_path;
require_once($path_pre.'lib/dbman_lib.inc.php');
$modules_available['contacts'] = $o_adresses;
$modules_available['notes'] = $o_notes;
$modules_available['projekte'] = $o_projects;
$modules_available['rts'] = $o_rts;
$modules_available['protokoll'] = 'Protokoll';
$form_types = array('text' => $forms_9a,
'textarea' => $forms_9b,
'display' => $forms_9c,
'display_sql' => $forms_9n,
'text_create' => $forms_9d,
'select_values' => $forms_9e,
'select_sql' => $forms_9f,
'select_multiple' => $forms_9m,
'select_category' => $admin_text70,
'upload' => $forms_9g,
'date' => $forms_9h,
'email' => $forms_9i,
'email_create' => $forms_27,
'url' => $forms_9k,
'contact' => $proj_text12,
'contact_create' => $forms_28,
'project' => $l_text11,
'checkbox' => $forms_9l,
'timestamp_show' => $forms_24,
'timestamp_create' => $forms_25,
'timestamp_modify' => $forms_26,
'phone' => $forms_22,
'AuthorID' => $forms_23d,
'userID' => $forms_29a,
'user_show' => $forms_29b,
'time' => $forms_9o);
// security check - only super administrators can work here
if (ereg('a',$user_access) and $groups and !$user_group) {}
else die("you are not priviledged to do this!");
echo set_page_header();
switch ($action) {
case 'activate':
$result = db_query("update ".DB_PREFIX."db_manager
set db_inactive = '0'
where ID = $ID") or db_die();
list_values();
break;
case 'deactivate':
$result = db_query("update ".DB_PREFIX."db_manager
set db_inactive = '1'
where ID = $ID") or db_die();
list_values();
break;
// modify existing field
case 'edit':
edit($ID);
break;
// submit record for edit or create
case 'submit':
// modify properties of existing field
if ($ID > 0) {
$result = db_query("update ".DB_PREFIX."db_manager
set form_name = '$form_name',
form_type = '$form_type',
form_tooltip = '$form_tooltip',
form_pos = '$form_pos',
form_colspan = '$form_colspan',
form_rowspan = '$form_rowspan',
form_regexp = '$form_regexp',
form_default = '$form_default',
form_select = '$form_select',
list_pos = '$list_pos',
list_alt = '$list_alt',
filter_show = '$filter_show'
where ID = $ID") or db_die();
}
// crate new field
else {
// 1. step - create this field in the mentioned table
// only if this field is a textarea give the db field the type text, otherwise a varchar255
// fetch db definitions
include ("../setup/db_var.inc.php");
// only for textarea we take a text field, for all other cases we hope that a varchar255 will be enough
if ($form_type == 'textarea') $fieldtype = $db_text[$db_type];
else $fieldtype = $db_varchar255[$db_type];
$result = db_query("alter table ".DB_PREFIX.$db_table."
add ".$db_name1."
$fieldtype") or db_die();
$result = db_query("update ".DB_PREFIX.$db_table."
set $db_name1 = ''") or db_die();
// 2. step - insert this field as a new record into the table db_manager
$result = db_query("
insert into ".DB_PREFIX."db_manager
(ID, db_table, db_name, form_name, form_type, form_tooltip, form_pos, form_colspan, form_rowspan, form_regexp, form_default, form_select, list_pos, list_alt, filter_show, db_inactive)
values ($dbIDnull,'$db_table','$db_name1','$form_name','$form_type','$form_tooltip','$form_pos','$form_colspan','$form_rowspan','$form_regexp','$form_default','$form_select','$list_pos','$list_alt','$filter_show', '0')
") or db_die();
}
list_values();
break;
// list fields
default:
list_values();
break;
}
function list_values() {
global $new, $forms_1, $forms_2, $forms_3, $forms_4a, $forms_4b, $forms_5a, $forms_5b, $rts_28,
$mail_text33, $sid, $forms_11a;
// title
echo "<h3>$forms_1</h3>\n";
// list available fields
echo "<table cellpadding=5 cellspacing=1 border=1>\n";
echo "<td colspan=6>(".close_window().")</td></tr>\n";
echo "<tr><td>$forms_2</td><td>$forms_3</td>\n";
echo "<td>$mail_text33</td><td>$forms_11a</td><td>$rts_28</td><td> </td></tr>\n";
$result = db_query("select ID, form_name, db_table, form_type, db_inactive, form_pos
from ".DB_PREFIX."db_manager
order by db_table, form_pos") or db_die();
while ($row = db_fetch_row($result)) {
// show title of each new module
if ($row[2] <> $db_table_prev) {
echo "<tr><td colspan=6><b>".$row[2]."</b> ";
echo "(<a href='./module_designer.php?action=edit&ID=0&db_table=".$row[2].$sid."'>$new</a>)";
echo "</td></tr>\n";
}
$db_table_prev = $row[2];
echo "<tr><td><a href='module_designer.php?action=edit&ID=".$row[0].$sid."'>".enable_vars($row[1])."</td>";
echo "<td>$row[2]</td><td>$row[3]</td><td>$row[5]</td>";
// 1. field active
if (!$row[4]) { echo "<td><div style='color:green'>$forms_4a</div></td><td><a href='./module_designer.php?action=deactivate&ID=".$row[0].$sid."'>$forms_5b</a></td></tr>\n"; }
// 2. field inact ... you got it! ;)
else { echo "<td><div style='color:red'>$forms_4b</div></td><td><a href='./module_designer.php?action=activate&ID=".$row[0].$sid."'>$forms_5a</a></td></tr>\n"; }
}
echo "</table>";
}
function edit($ID) {
global $forms_6a, $forms_6b, $modules_available, $forms_3, $forms_7a, $forms_7b, $forms_8a, $forms_8b, $form_types, $tablename,
$forms_10a, $forms_10b, $settings_text14, $forms_11b, $forms_12a, $forms_12b, $forms_13a, $forms_13b,
$forms_14a, $forms_14b, $forms_15a, $forms_15b, $forms_16a, $forms_16b, $forms_17a, $forms_17b,
$forms_18a, $forms_18b, $submit_it, $back, $PHPSESSID, $sid, $forms_21a,$forms_21b, $forms_21c, $db_table,
$forms_9a, $forms_9b, $forms_9c, $forms_9d, $forms_9e, $forms_9f, $forms_9g, $forms_9h, $forms_9i, $forms_9k,
$admin_text70, $forms_28, $forms_24, $forms_25, $forms_26, $forms_22, $forms_23d, $forms_29a, $forms_29b, $forms_9n;
// title and start form
echo "<h3>";
echo ($ID > 0) ? $forms_6b : $forms_6a;
echo "</h3>\n";
echo "<table cellpadding=3 cellspacing=1 border=1 width=600>";
echo "<form action='module_designer.php' method='post'>\n";
// fetch record
if ($ID > 0) {
$result = db_query("select ID, db_table, db_name, form_name, form_type, form_tooltip, form_pos,
form_regexp, form_default, form_select, list_pos, list_alt, filter_show,
form_colspan, form_rowspan
from ".DB_PREFIX."db_manager
where ID = $ID") or db_die();
$row = db_fetch_row($result);
$db_table = $row[1]; }
$hidden = array_merge(array('ID'=>$ID, 'action'=>'submit'), $view_param);
if(SID)$hidden['PHPSESSID'] = $PHPSESSID;
echo hidden_fields($hidden);
// show module
echo "<tr><td width=150>$forms_3</td><td width=200>";
/*
if (!$ID) {
echo "<select name='db_table'>";
foreach ($modules_available as $module => $module_name) {
echo "<option value='".$module."'";
if ($module == $db_table) echo " selected";
echo ">".$module_name;
}
echo "</select>";
}
else { echo $modules_available[$row[1]]; }
*/
echo "<input type=hidden name=db_table value=".$db_table.">\n";
echo $modules_available[$db_table]." </td><td width=250> </td></tr>\n";
// name of field
echo "<tr><td>$forms_7a</td><td>\n";
if (!$ID) { echo "<input type=text name=db_name1 size=14>"; }
else echo $row[2];
echo "</td><td>$forms_7b</td></tr>\n";
// name in form
echo "<tr><td>$forms_8a</td><td><input type=text size=40 name=form_name value='$row[3]'></td><td>$forms_8b</td></tr>\n";
// type of form element
echo "<tr><td>$forms_18a</td><td><select name='form_type'>";
foreach ($form_types as $form_type => $type_name) {
echo "<option value='$form_type'";
if ($form_type == $row[4]) echo " selected";
echo ">$type_name";
}
echo "</select></td><td>$forms_18b</td></tr>\n";
// tooltip
echo "<tr><td>$forms_10a</td><td><textarea rows=5 cols=28 name=form_tooltip>$row[5]</textarea></td><td>$forms_10b</td></tr>\n";
// position
echo "<tr><td>$settings_text14</td><td><input type=text name=form_pos size=3 value='$row[6]'></td>\n";
echo "<td>";
// if it's not a new element take the name of the table from the sql result.
if (!$db_table) $db_table = $row[1];
echo $row[6]." ".$forms_11b;
// check which positions in this modules are occupied
$result2 = db_query("select form_pos
from ".DB_PREFIX."db_manager
where db_table = '$db_table'") or db_die();
while ($row2 = db_fetch_row($result2)) $positions[] = $row2[0];
for ($i=1; $i < count($positions); $i++) if (!in_array($i, $positions)) echo "$i, ";
echo " </td></tr>\n";
// colspan and rowspan
echo "<tr><td>$forms_21a</td><td><select name=form_colspan>\n";
for ($i=1;$i<=5;$i++) {
echo "<option value='$i'";
if ($i == $row[13]) echo ' selected';
echo ">$i";
}
echo "</select></td><td>$forms_21b</td></tr>\n";
echo "<tr><td>$forms_21a</td><td><select name=form_rowspan>\n";
for ($i=1;$i<=5;$i++) {
echo "<option value='$i'";
if ($i == $row[14]) echo ' selected';
echo ">$i";
}
echo "</select></td><td>$forms_21c</td></tr>\n";
// Regular expression
echo "<tr><td>$forms_12a</td><td><input type=text size=40 name=form_regexp value='$row[7]'></td><td>$forms_12b</td></tr>\n";
// default value
echo "<tr><td>$forms_13a</td><td><input type=text size=40 name=form_default value='$row[8]'></td><td>$forms_13b</td></tr>\n";
// select
echo "<tr><td>$forms_14a</td><td><textarea rows=5 cols=28 name=form_select>$row[9]</textarea></td><td>$forms_14b</td></tr>\n";
// position in list view
echo "<tr><td>$forms_15a</td><td><input type=text name=list_pos size=2 value='$row[10]'></td><td>$forms_15b</td>\n";
// appears in the alt tag
echo "<tr><td>$forms_16a</td><td><input type=checkbox name=list_alt";
if ($row[11] <> '') echo " checked";
echo "></td><td>$forms_16b</td>\n";
// appears in the filter
echo "<tr><td>$forms_17a</td><td><input type=checkbox name=filter_show";
if ($row[12] <> '') echo " checked";
echo "></td><td>$forms_17b</td>\n";
// end of form
echo "</table><input type=submit value='$submit_it'></form>";
// back button
echo "<br><a href='module_designer.php?action=null".$sid."'>$back</a>";
}
?>
</body></html>
|
Copyright 1998-2008 Alvin Alexander
All Rights Reserved.
devdaily.com is based in louisville, kentucky, and this web site is hosted by godaddy.com