function tem_set_globals(&$tem) {
$vars = array(
'file_name',
+ 'public_file_name',
'table_name',
'plural',
'singular');
'opt_display',
'opt_pass',
'opt_public_form',
- 'opt_public_display');
+ 'opt_public_display',
+ 'opt_public_something');
foreach($bools as $bool) {
if($GLOBALS[$bool]) {
$tem->set($bool);
$GLOBALS['opt_public_form'] = format_bool($_REQUEST['opt_public_form']);
$GLOBALS['opt_public_display'] = format_bool($_REQUEST['opt_public_display']);
+ $GLOBALS['public_file_name'] = $GLOBALS['file_name'];
+ if($GLOBALS['opt_public_form'] || $GLOBALS['opt_public_display']) {
+ $GLOBALS['opt_public_something'] = 1;
+ $GLOBALS['file_name'] = $GLOBALS['file_name'] . _admin;
+ }
+
tem_init();
tem_set_globals($GLOBALS['wfpl_template']);
}
}
function download_tar() {
- $name = $GLOBALS['file_name'];
- $data = array(
+ $admin_name = $GLOBALS['file_name'];
+ $nice_name = $GLOBALS['public_file_name'];
+ $files = array(
"INSTALL" => read_whole_file('code/wfpl/metaform/INSTALL'),
".htaccess" => make_htaccess(),
- #"run.php ->" => 'code/wfpl/run.php',
+ "run.php ->" => 'code/wfpl/run.php',
"style.less" => read_whole_file('code/wfpl/metaform/style.less'),
"template.html" => read_whole_file('code/wfpl/metaform/site-template.html'),
- "$name.html" => make_html(),
- "$name.php" => make_php());
+ "$admin_name.html" => make_html(),
+ "$admin_name.php" => make_php());
+ if($GLOBALS['opt_public_something']) {
+ $files["$nice_name.html ->"] = "$admin_name.html";
+ $files["$nice_name.php ->"] = "$admin_name.php";
+ }
if($GLOBALS['opt_db']) {
- $data["$name.sql"] = make_sql();
+ $files["$nice_name.sql"] = make_sql();
}
if($GLOBALS['opt_email']) {
- $data["$name.email.txt"] = make_email();
+ $files["$nice_name.email.txt"] = make_email();
}
- make_tar($name, $data);
+ make_tar($nice_name, $files);
}
<body>
<!--~~main_body show {~~--><!--~opt_display {~-->
<!--~~display {~~-->
- <h2>~singular cap~ details</h2><!--~opt_listing {~-->
+ <h2>~singular cap~ details</h2>
- <p><a href="~file_name~?~file_name~_new=1">Add another ~singular attr~</a></p>
+ <!--~~admin_privs {~~--><!--~opt_listing {~-->
+ <p><a href="~file_name~?~file_name~_new=1">Add another ~singular attr~</a></p>
- <p><a href="~file_name~">Back to ~plural attr~</a></p><!--~}~-->
-
- <p><a href="~file_name~?~file_name~_edit_id=~~id attr~~">Edit</a></p>
+ <p><a href="~file_name~">Back to ~plural attr~</a></p>
+<!--~}~-->
+ <p><a href="~file_name~?~file_name~_edit_id=~~id attr~~">Edit</a></p>
+ <!--~~}~~-->
<table border="0" cellpadding="3" cellspacing="0" summary="">
<!--~display_fields {~--><!--~image {~-->
<!--~}~--><!--~textarea {~-->
<tr><td class="caption">~caption html~:</td><td>~~~name~ htmlbrtab~~</td></tr>
<!--~}~--><!--~}~-->
- </table><!--~opt_listing {~-->
+ </table>
- <p><a href="~file_name~">Back to ~plural attr~</a></p><!--~}~-->
-
- <p><a href="~file_name~?~file_name~_edit_id=~~id attr~~">Edit</a></p>
+ <!--~~admin_privs {~~--><!--~opt_listing {~-->
+ <p><a href="~file_name~">Back to ~plural attr~</a></p>
+<!--~}~-->
+ <p><a href="~file_name~?~file_name~_edit_id=~~id attr~~">Edit</a></p>
+ <!--~~}~~-->
<!--~~}~~--><!--~}~-->
<!--~~form {~~--><!--~form {~-->
<h2><!--~opt_db {~--><!--~~new_msg {~~-->Add a new ~singular~<!--~~}~~--><!--~~edit_msg {~~-->Edit ~singular~ "~~~always_field~ html~~"<!--~~}~~--><!--~}~--><!--~opt_db unset {~-->Submit a ~singular~<!--~}~--></h2>
- <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~~"><!--~}~--><!--~hidden_fields {~--><!--~ first {~-->
+ <form action="~~wfpl_basename~~" 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~~"><!--~}~--><!--~hidden_fields {~--><!--~ first {~-->
<div style="display: none"><!--~}~--><input type="hidden" name="~name~" value="~~~name~ attr~~"><!--~ last {~--></div><!--~}~--><!--~}~-->
<!--~visible_fields {~--><!--~fieldset {~-->
<fieldset><legend>~caption html~</legend><!--~}~--><!--~end_fieldset {~-->
function ~file_name~_get_fields() {
$data = array();
<!--~formats {~-->
- $data['~name~'] = format_~format~($_REQUEST['~name~']<!--~pulldown_format_extra {~-->, '~name~'<!--~}~-->);<!--~}~--><!--~image_upload {~-->
+ $data['~name~'] = format_~format~(_REQUEST_cut('~name~')<!--~pulldown_format_extra {~-->, '~name~'<!--~}~-->);<!--~}~--><!--~image_upload {~-->
+
if($_FILES['~name~'] && $_FILES['~name~']['error'] == 0) {
$data['~name~'] = convert_uploaded_image('~name~', $GLOBALS['upload_directory'] . $GLOBALS['~name~_file_name'], $GLOBALS['~name~_max_width'], $GLOBALS['~name~_max_height']<!--~thumb_upload_params {~-->, $GLOBALS['~name~_thumb_max_width'], $GLOBALS['~name~_thumb_max_height']<!--~}~-->);
} else {
- if($_REQUEST['delete_~name~'] == 'Yes') {
+ if(_REQUEST_cut('delete_~name~') == 'Yes') {
$data['~name~'] = '';
} else {
- $data['~name~'] = format_image_w_h<!--~thumb_w_h {~-->_thumb_w_h<!--~}~-->($_REQUEST['old_~name~']);
+ $data['~name~'] = format_image_w_h<!--~thumb_w_h {~-->_thumb_w_h<!--~}~-->(_REQUEST_cut('old_~name~'));
}
- }<!--~}~--><!--~file_upload {~-->
+ }
+ unset($_FILES['~name~']);<!--~}~--><!--~file_upload {~-->
+
$~name~_filename_tmp = $GLOBALS['~name~_file_name'];
if(!$~name~_filename_tmp) {
- $~name~_filename_tmp = format_filename($_REQUEST['~name~']);
+ $~name~_filename_tmp = format_filename(_REQUEST_cut('~name~'));
}
if($_FILES['~name~'] && $_FILES['~name~']['error'] == 0) {
$data['~name~'] = save_uploaded_file('~name~', $GLOBALS['upload_directory'] . $~name~_filename_tmp);
} else {
- if($_REQUEST['delete_~name~'] == 'Yes') {
+ if(_REQUEST_cut('delete_~name~') == 'Yes') {
$data['~name~'] = '';
} else {
- $data['~name~'] = format_path($_REQUEST['old_~name~']);
+ $data['~name~'] = format_path(_REQUEST_cut('old_~name~'));
}
- }<!--~}~-->
+ }
+ unset($_FILES['~name~']);<!--~}~-->
return $data;
-}
+}<!--~opt_public_something {~-->
-function ~file_name~_main() {<!--~opt_pass {~-->
- if(!logged_in_as_admin()) {
+function ~public_file_name~_main() {<!--~opt_public_display {~-->
+ $id = _REQUEST_cut('~public_file_name~_id');
+ if($id) {
+ return ~file_name~_main_display($id);<!--~opt_public_form unset {~-->
+ } else {
+ message("Error: Broken Link (~singular cap~ #$id not found)");
+ return './'; # FIXME where should this go?<!--~}~-->
+ }<!--~}~--><!--~opt_public_form {~-->
+ return ~file_name~_main_form();<!--~}~-->
+}<!--~}~-->
+
+
+function ~file_name~_main(<!--~opt_display unset {~--><!--~opt_public_form {~-->$new_only = false<!--~}~--><!--~}~-->) {<!--~opt_pass {~-->
+ if(logged_in_as_admin()) {
+ tem_set('admin_privs');
+ } else {
$_REQUEST['url'] = this_url();
return 'admin_login';
}
-<!--~}~--><!--~opt_display {~-->
- if(isset($_REQUEST['~file_name~_id'])) {
- return ~file_name~_display_main();
- } else {
- return ~file_name~_edit_main();
+<!--~}~--><!--~opt_db {~-->
+ $id = _REQUEST_cut('~file_name~_edit_id');
+ if($id) {
+ return ~file_name~_main_form($id);
}
-}
-function ~file_name~_display_main() {
- $id = format_int($_REQUEST['~file_name~_id']);
- unset($_REQUEST['~file_name~_id']);
- if(!$id) {
- message('Error: Broken link');
- return './~file_name~';
+ $id = _REQUEST_cut('~file_name~_delete_id');
+ if($id) {
+ return ~file_name~_main_delete($id);
+ }
+
+ if(_REQUEST_cut('~file_name~_new')) {
+ return ~file_name~_main_form();
+ }
+<!--~}~--><!--~opt_listing {~-->
+ if(_REQUEST_cut('~file_name~_list')) {
+ return ~file_name~_main_listing();
+ }
+<!--~}~--><!--~opt_display {~-->
+ $id = _REQUEST_cut('~file_name~_id');
+ if($id) {
+ return ~file_name~_main_display($id);
}
+<!--~}~--><!--~opt_listing {~-->
+ if(isset($_POST['~always_field~'])) {
+ return ~file_name~_main_form();
+ }
+
+ # default action:
+ return ~file_name~_main_listing();<!--~}~--><!--~opt_listing unset {~-->
+ return ~file_name~_main_form();<!--~}~-->
+}<!--~opt_display {~-->
+
+function ~file_name~_main_display($id) {
$data = db_get_assoc('~table_name~', 'id,'.~file_name upper~_DB_FIELDS, 'where id=%i', $id);
if(!$data) {
- message('Error: ~singular cap~ not found');
- return './~file_name~';
+ message("Error: Broken Link (~singular cap~ #$id not found)");<!--~opt_public_something {~-->
+ return './' . $GLOBALS['wfpl_basename'];<!--~}~--><!--~opt_public_something unset {~-->
+ return './~file_name~';<!--~}~-->
}
tem_set('display', $data);
-}
+}<!--~}~--><!--~opt_db {~-->
-function ~file_name~_edit_main() {<!--~}~--><!--~pulldowns {~-->
- pulldown('~name~', ~pulldown_options~);<!--~}~--><!--~opt_db {~-->
- $edit_id = format_int($_REQUEST['~file_name~_edit_id']);
- unset($_REQUEST['~file_name~_edit_id']);
- if($edit_id) {
+function ~file_name~_main_delete($id) {
+ db_delete('~table_name~', 'where id=%i', $id);
+ message('~singular cap~ deleted.');
+ return './~file_name~';
+}<!--~}~--><!--~opt_listing {~-->
+
+function ~file_name~_main_listing() {
+ $listing_rows = db_get_assocs('~table_name~', 'id<!--~listing_fields_1 {~-->,~name~<!--~}~-->', 'order by ~always_field~ limit 100');
+ tem_set('listings', $listing_rows);
+}<!--~}~-->
+
+function ~file_name~_main_form($id = false) {<!--~pulldowns {~-->
+ pulldown('~name~', ~pulldown_options~);<!--~}~--><!--~pulldowns once_if {~-->
+<!--~}~--><!--~opt_db {~-->
+ if($id) {
# add hidden field for database id of row we're editing
- tem_set('~file_name~_edit_id', $edit_id);
+ tem_set('~file_name~_edit_id', $id);
tem_set('editing');
tem_set('edit_msg');
- }
-
- $delete_id = format_int($_REQUEST['~file_name~_delete_id']);
- unset($_REQUEST['~file_name~_delete_id']);
- if($delete_id) {
- db_delete('~table_name~', 'where id=%i', $delete_id);
- message('~singular cap~ deleted.');
-
- return './~file_name~';
- }
-
- if(!$edit_id) {<!--~opt_listing {~-->
- if(!isset($_REQUEST['~file_name~_new']) && !isset($_REQUEST['~always_field~'])) {
- $listing_rows = db_get_assocs('~table_name~', 'id<!--~listing_fields_1 {~-->,~name~<!--~}~-->', 'order by ~always_field~ limit 100');
- tem_set('listings', $listing_rows);
- return;
- }
-<!--~}~-->
+ } else {
tem_set('new_msg');
}
<!--~}~-->
$data = ~file_name~_get_fields();
if("you're happy with the POSTed values") {<!--~opt_db {~-->
- if($edit_id) {
- db_update_assoc('~table_name~', $data, 'where id=%i', $edit_id);
+ if($id) {
+ db_update_assoc('~table_name~', $data, 'where id=%i', $id);
message('~singular cap~ updated.');
} else {
db_insert_assoc('~table_name~', $data);
message('Message sent');
}
}<!--~}~-->
- if($error !== true) {
- return './~file_name~'; # FIXME is this the page you want to go to after successful form submission?
+ if($error !== true) {<!--~opt_public_something {~-->
+ if($GLOBALS['wfpl_basename'] == '~file_name~') {
+ return './~file_name~';
+ } else {
+ # FIXME create this page or change this to go elsewhere
+ return './~public_file_name~_thanks';
+ }<!--~}~--><!--~opt_public_something unset {~--><!--~opt_db unset {~-->
+ # FIXME create this page or change this to go elsewhere<!--~}~-->
+ return './~file_name~<!--~opt_db unset {~-->_thanks<!--~}~-->';<!--~}~-->
}
}
# 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 {~-->
- } elseif($edit_id) {
+ } elseif($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);<!--~}~-->
+ $data = db_get_assoc('~table_name~', ~file_name upper~_DB_FIELDS, 'where id=%i', $id);<!--~}~-->
} else {
# form not submitted, you can set default values like so:
#$data = array('~always_field~' => 'Yes');
tem_set('form', $data);<!--~show_extra_headers {~-->
tem_set('extra_headers');<!--~}~-->
}
-
-?>