}
+function tem_set_globals(&$tem) {
+ $vars = array(
+ 'file_name',
+ 'table_name',
+ 'plural',
+ 'singular');
+ foreach($vars as $var) {
+ $tem->set($var, $GLOBALS[$var]);
+ }
+
+ $bools = array(
+ 'opt_email',
+ 'opt_db',
+ 'opt_listing',
+ 'opt_display',
+ 'opt_pass');
+ foreach($bools as $bool) {
+ if(format_bool($GLOBALS[$bool])) {
+ $tem->set($bool, 1);
+ } else {
+ $tem->set($bool . '_else', 1);
+ }
+ }
+
+}
+
function metaform() {
if(isset($_REQUEST['singular'])) {
$GLOBALS['file_name'] = format_varname($_REQUEST['file_name']);
if(isset($_REQUEST['form_name'])) {
$GLOBALS['file_name'] = $GLOBALS['table_name'] = $GLOBALS['plural'] = format_varname($_REQUEST['form_name']);
}
- tem_set('file_name', $GLOBALS['file_name']);
- tem_set('table_name', $GLOBALS['table_name']);
- tem_set('plural', $GLOBALS['plural']);
$GLOBALS['singular'] = format_oneline($_REQUEST['singular']);
- tem_set('singular', $GLOBALS['singular']);
$GLOBALS['opt_email'] = format_yesno($_REQUEST['opt_email']);
- tem_set('opt_email', $GLOBALS['opt_email']);
$GLOBALS['opt_db'] = format_yesno($_REQUEST['opt_db']);
- tem_set('opt_db', $GLOBALS['opt_db']);
$GLOBALS['opt_listing'] = format_yesno($_REQUEST['opt_listing']);
- tem_set('opt_listing', $GLOBALS['opt_listing']);
$GLOBALS['opt_display'] = format_yesno($_REQUEST['opt_display']);
- tem_set('opt_display', $GLOBALS['opt_display']);
$GLOBALS['opt_pass'] = format_yesno($_REQUEST['opt_pass']);
- tem_set('opt_pass', $GLOBALS['opt_pass']);
+
+ tem_init();
+ tem_set_globals($GLOBALS['wfpl_template']);
}
if(isset($_REQUEST['fields'])) {
function make_sql() {
$tem = new tem();
$tem->load('code/wfpl/metaform/template.sql');
- $tem->set('table_name', $GLOBALS['table_name']);
+ tem_set_globals($tem);
$fields = get_fields();
foreach($fields as $field) {
list($name, $type, $input, $format, $sql) = $field;
$has_html_editors = false;
$tem = new tem();
$tem->load('code/wfpl/metaform/template.html');
- $tem->set('file_name', $GLOBALS['file_name']);
- $tem->set('table_name', $GLOBALS['table_name']);
- $tem->set('singular', $GLOBALS['singular']);
- $tem->set('plural', $GLOBALS['plural']);
+ tem_set_globals($tem);
$fields = get_fields();
$tem->set('always_field', find_always_field($fields));
foreach($fields as $field) {
$tem->show('listing_value_enc');
}
- if($GLOBALS['opt_display'] != 'Yes') {
- $tem->show('opt_display_a_else');
- }
$tem->show('listing_head_col');
$tem->show('listing_row_col');
}
}
}
- if($GLOBALS['opt_db'] == 'Yes') {
- $tem->show('opt_db_1');
- $tem->show('opt_db_2');
- } else {
- $tem->show('opt_db_1_else');
- }
-
- if($GLOBALS['opt_listing'] == 'Yes') {
- $tem->show('opt_listing_1');
- }
-
- if($GLOBALS['opt_display'] == 'Yes') {
- $tem->show('opt_display_1');
- }
-
if($GLOBALS['opt_email'] == 'Yes' && $GLOBALS['opt_db'] != 'Yes') {
$tem->set('name', 'send');
$tem->set('caption', 'Send');
$has_html_editors = false;
$tem = new tem();
$tem->load('code/wfpl/metaform/template.php');
- $tem->set('file_name', $GLOBALS['file_name']);
- $tem->set('table_name', $GLOBALS['table_name']);
- $tem->set('singular', $GLOBALS['singular']);
- $tem->set('plural', $GLOBALS['plural']);
+ tem_set_globals($tem);
$fields = get_fields();
$db_fields = '';
$always_field = find_always_field($fields);
$tem->set('always_field', $always_field);
$tem->set('db_fields', $db_fields);
$tem->set('metaform_url', edit_url());
- if($GLOBALS['opt_listing'] == 'Yes') {
- $tem->show('opt_listing_1');
- $tem->show('opt_listing_2');
- }
- if($GLOBALS['opt_display'] == 'Yes') {
- $tem->show('opt_display_1');
- $tem->show('opt_display_2');
- } else {
- $tem->show('opt_display_1_else');
- }
- if($GLOBALS['opt_db'] == 'Yes') {
- $tem->show('opt_db_1');
- $tem->show('opt_db_2');
- $tem->show('opt_db_3');
- $tem->show('opt_db_4');
- $tem->show('opt_db_5');
- }
if($GLOBALS['opt_email'] == 'Yes') {
$this_domain = $_SERVER['HTTP_HOST'];
if(substr($this_domain, -2) == '.l') {
$this_domain = substr($this_domain, 0, -1) . 'com';
}
$tem->set('this_domain', $this_domain);
- $tem->show('opt_email_1');
- $tem->show('opt_email_2');
- }
- if($GLOBALS['opt_pass'] == 'Yes') {
- $tem->show('opt_pass');
}
return $tem->run();
}
function make_email() {
$tem = new tem();
$tem->load('code/wfpl/metaform/template.email.txt');
- $tem->set('file_name', $GLOBALS['file_name']);
- $tem->set('table_name', $GLOBALS['table_name']);
- $tem->set('singular', $GLOBALS['singular']);
- $tem->set('plural', $GLOBALS['plural']);
+ tem_set_globals($tem);
$fields = get_fields();
foreach($fields as $field) {
list($name, $type, $input, $format, $sql) = $field;
function preview() {
tem_load('code/wfpl/metaform/preview.html');
- tem_set('file_name', $GLOBALS['file_name']);
- tem_set('table_name', $GLOBALS['table_name']);
- tem_set('singular', $GLOBALS['singular']);
- tem_set('plural', $GLOBALS['plural']);
+ tem_set_globals($GLOBALS['wfpl_template']);
tem_set('fields', $_REQUEST['fields']);
$preview_tem = new tem();
$preview_tem->load_str(make_html(false));
<!--~~ last {~~-->
</div>
<!--~~}~~-->
- <!--~~}~~--><!--~opt_display_1 {~-->
+ <!--~~}~~--><!--~opt_display {~-->
<!--~~display {~~-->
<h2>~singular cap~ details</h2>
<!--~~}~~--><!--~}~-->
<!--~~form {~~--><!--~form {~-->
- <h2><!--~opt_db_1 {~--><!--~~new_msg {~~-->Add a new ~singular~<!--~~}~~--><!--~~edit_msg {~~-->Edit ~singular~ "~~~always_field~ html~~"<!--~~}~~--><!--~}~--><!--~opt_db_1_else {~-->Submit a ~singular~<!--~}~--></h2>
+ <h2><!--~opt_db {~--><!--~~new_msg {~~-->Add a new ~singular~<!--~~}~~--><!--~~edit_msg {~~-->Edit ~singular~ "~~~always_field~ html~~"<!--~~}~~--><!--~}~--><!--~opt_db_else {~-->Submit a ~singular~<!--~}~--></h2>
- <form action="~file_name~" method="post~enctype_attr~"><!--~opt_db_2 {~--><!--~~editing {~~--><div style="display: none"><input type="hidden" name="~file_name~_edit_id" value="~~~file_name~_edit_id attr~~" /></div><!--~~}~~--><!--~}~--><!--~uploads {~--><input type="hidden" name="MAX_FILE_SIZE" value="~~upload_max_filesize~~" /><!--~}~-->
+ <form action="~file_name~" method="post~enctype_attr~"><!--~opt_db {~--><!--~~editing {~~--><div style="display: none"><input type="hidden" name="~file_name~_edit_id" value="~~~file_name~_edit_id attr~~" /></div><!--~~}~~--><!--~}~--><!--~uploads {~--><input type="hidden" name="MAX_FILE_SIZE" value="~~upload_max_filesize~~" /><!--~}~-->
<!--~row {~--><!--~image {~-->
<div class="caption">~caption html~</div>
<div class="field"><input type="file" name="~name~" /><input type="hidden" name="old_~name~" value="~~~name~ attr~~" /></div><!--~}~--><!--~file {~-->
<div class="field"><input type="submit" name="~name~" value="~caption attr~" /></div><!--~}~-->
<!--~}~-->
</form>
- <!--~}~--><!--~~}~~--><!--~opt_listing_1 {~-->
+ <!--~}~--><!--~~}~~--><!--~opt_listing {~-->
<!--~~listings {~~-->
<h2>~plural cap~ Listing</h2>
<table cellspacing="0" cellpadding="4" border="1" summary="">
<!--~listing_head_col {~--><th>~caption~</th><!--~}~--><th> </th><!--~~rows {~~-->
<tr><!--~listing_row_col {~-->
- <td class="listing"><a href="~file_name~?~file_name~_<!--~opt_display_a_else {~-->edit_<!--~}~-->id=~~id~~"><!--~listing_value_enc {~-->~~~name~ ~listing_enc~~~<!--~}~--><!--~listing_value_thumb {~--><img src="~~~name~ thumb_src~~" width="~~~name~ thumb_width~~" height="~~~name~ thumb_height~~" alt="" /><!--~}~--></a></td><!--~}~-->
+ <td class="listing"><a href="~file_name~?~file_name~_<!--~opt_display_else {~-->edit_<!--~}~-->id=~~id~~"><!--~listing_value_enc {~-->~~~name~ ~listing_enc~~~<!--~}~--><!--~listing_value_thumb {~--><img src="~~~name~ thumb_src~~" width="~~~name~ thumb_width~~" height="~~~name~ thumb_height~~" alt="" /><!--~}~--></a></td><!--~}~-->
<td><a href="~file_name~?~file_name~_delete_id=~~id~~" onclick="return confirm('Permanently delete?')">[delete this ~singular~]</a></td>
</tr><!--~~}~~-->
# SETUP
-<!--~opt_email_1 {~-->
+<!--~opt_email {~-->
# To send results by e-mail, all you have to do is set your e-mail address here:
$GLOBALS['~file_name~_form_recipient'] = 'fixme@example.com';
-<!--~}~--><!--~opt_db_1 {~-->
+<!--~}~--><!--~opt_db {~-->
# To save results to a database, you'll need to create the ~table_name~ table
# (the file ~file_name~.sql should help with this), and create the file
# 'code/db_connect.php' which calls db_connect() see:
require_once('code/wfpl/template.php');
require_once('code/wfpl/format.php');
require_once('code/wfpl/messages.php');
-require_once('code/wfpl/email.php');<!--~opt_db_2 {~-->
+require_once('code/wfpl/email.php');<!--~opt_db {~-->
require_once('code/db_connect.php');<!--~}~--><!--~uploads_include {~-->
require_once('code/wfpl/upload.php');<!--~}~-->
return $data;
}
-<!--~opt_listing_2 {~-->
+<!--~opt_listing {~-->
# You may pass a "where clause" for the db query.
function ~file_name~_display_listing($where = 'order by ~always_field~ limit 100') {
$rows = db_get_assocs('~table_name~', 'id<!--~listing_fields_1 {~-->,~name~<!--~}~-->', $where);
$GLOBALS['url'] = this_url();
return 'admin_login';
}
-<!--~}~--><!--~opt_display_1 {~-->
+<!--~}~--><!--~opt_display {~-->
if(isset($_REQUEST['~file_name~_id'])) {
return ~file_name~_display_main();
} else {
function ~file_name~_edit_main() {<!--~}~--><!--~pulldowns {~-->
pulldown('~name~', array('option 1', 'option 2', 'option 3'));
-<!--~}~--><!--~opt_db_3 {~-->
+<!--~}~--><!--~opt_db {~-->
$edit_id = format_int($_REQUEST['~file_name~_edit_id']);
unset($_REQUEST['~file_name~_edit_id']);
if($edit_id) {
return './~file_name~';
}
- if(!$edit_id) {<!--~opt_listing_1 {~-->
+ if(!$edit_id) {<!--~opt_listing {~-->
if(!isset($_REQUEST['~file_name~_new']) && !isset($_REQUEST['~always_field~'])) {
~file_name~_display_listing();
return;
if(isset($_POST['~always_field~'])) {
$data = ~file_name~_get_fields();
- if("you're happy with the POSTed values") {<!--~opt_db_4 {~-->
+ if("you're happy with the POSTed values") {<!--~opt_db {~-->
if($edit_id) {
db_update_assoc('~table_name~', $data, 'where id=%i', $edit_id);
message('~singular cap~ updated.');
} else {
db_insert_assoc('~table_name~', $data);
message('~singular cap~ saved.');
- }<!--~}~--><!--~opt_email_2 {~-->
+ }<!--~}~--><!--~opt_email {~-->
if($GLOBALS['~file_name~_form_recipient'] != 'fixme@example.com') {
$to = $GLOBALS['~file_name~_form_recipient'];
$from = 'noreply@~this_domain~';
# otherwise, we display the form again. ~file_name~_get_fields() has
# already put the posted values back into the template engine, so they will
# show up in the form fields. You should add some message asking people to
- # fix their entry in whatever way you require.<!--~opt_db_5 {~-->
+ # fix their entry in whatever way you require.<!--~opt_db {~-->
} elseif($edit_id) {
# we've recieved an edit id, but no data. So we grab the values to be edited from the database
$data = db_get_assoc('~table_name~', ~file_name upper~_DB_FIELDS, 'where id=%i', $edit_id);<!--~}~-->