#
# This file is part of wfpl.
#
-# wfpl is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
+# wfpl is free software; you can redistribute it and/or modify it under the
+# terms of the GNU Lesser General Public License as published by the Free
+# Software Foundation; either version 2.1 of the License, or (at your option)
# any later version.
#
-# wfpl is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
+# wfpl is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
+# more details.
#
-# You should have received a copy of the GNU General Public License
-# along with wfpl; see the file COPYING. If not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-# MA 02111-1307, USA.
+# You should have received a copy of the GNU Lesser General Public License
+# along with wfpl; if not, write to the Free Software Foundation, Inc., 51
+# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
# This file writes the code for you (sql, php, html, email) to handle a form.
require_once('code/wfpl/template.php');
+require_once('code/wfpl/http.php');
require_once('code/wfpl/tar.php');
# see code/wfpl/metaform/template.html for the html templates for these elements
# type input format sql
'name' => array('textbox', 'oneline', 'varchar(200)'),
'textbox' => array('textbox', 'oneline', 'varchar(200)'),
- 'int' => array('textbox', 'int', 'varchar(100)'),
+ 'int' => array('textbox', 'int', 'int'),
+ 'bigint' => array('textbox', 'int', 'varchar(100)'), # up to 100 digits, stored as a string
'email' => array('textbox', 'email', 'varchar(100)'),
'phone' => array('textbox', 'phone', 'varchar(32)'),
+ 'state' => array('states', 'oneline', 'varchar(2)'),
'money' => array('textbox', 'money', 'varchar(32)'),
'dollars' => array('textbox', 'dollars', 'varchar(32)'),
'url' => array('textbox', 'url', 'varchar(200)'),
$tem->set('always_field', $always_field);
$tem->set('db_fields', $db_fields);
$tem->set('php_fields', $php_fields);
+ $tem->set('metaform_url', edit_url());
return $tem->run();
}
+# make a URL for the edit page with all the fields filled in
+function edit_url() {
+ $url = this_url();
+ $url = ereg_replace('view_php=[^&]*', 'edit=yes', $url);
+ $url = ereg_replace('download_tar=[^&]*', 'edit=yes', $url);
+ $url = ereg_replace('/[a-z0-9_.]*\?', '/?', $url);
+ return $url;
+}
+
function view_php() {
view_headers();
echo make_php();
list($name, $type, $input, $format, $sql) = $field;
$tem->set('name', $name);
$tem->set('caption', $name); # fixme
- $tem->sub('fields');
+ if($type == 'textarea') {
+ $tem->sub('multi_line');
+ } else {
+ $tem->sub('fields');
+ }
}
return $tem->run();
}
"$name.sql" => make_sql(),
"$name.email.txt" => make_email(),
"$name.php" => make_php());
- make_tar($name, $data);
+ make_wfpl_tar($name, $data);
}
?>