From 9f8ed1dba7b2bb0319ab69f843f20e0d45ff736c Mon Sep 17 00:00:00 2001 From: Jason Woofenden Date: Thu, 14 Jun 2007 00:09:11 -0400 Subject: [PATCH] metaform only sends .sql file if you check 'db'. added string_array() --- binary.php | 47 +++++++++++++++++++++++++++++++++++++++++++++++ fdb.php | 1 + metaform.php | 4 +++- string_array.php | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 binary.php create mode 100644 string_array.php diff --git a/binary.php b/binary.php new file mode 100644 index 0000000..bc0a3aa --- /dev/null +++ b/binary.php @@ -0,0 +1,47 @@ +> 24) . chr(($int >> 16) & 0xff) . chr(($int >> 8) & 0xff) . chr($int & 0xff); +} + +# return a php number from the string you pass in. The first 4 bytes of the +# string are read in as a binary value in big-endian format. +function from_raw_int($quad) { + return (ord(substr($quad, 0, 1)) << 24) + (ord(substr($quad, 1, 1)) << 16) + (ord(substr($quad, 2, 1)) << 8) + ord(substr($quad, 3, 1)); +} + +function int_at($string, $index) { + return from_raw_int(substr($string, $index * 4, 4)); +} + +# remove the first 4 bytes of the string, and return them as an int +function pop_int(&$string) { + $int = from_raw_int(substr($string, 0, 4)); + $string = substr($string, 4); + return $int; +} + +?> diff --git a/fdb.php b/fdb.php index 99f63cb..a9bb59f 100644 --- a/fdb.php +++ b/fdb.php @@ -33,6 +33,7 @@ require_once('code/wfpl/file.php'); +require_once('code/wfpl/binary.php'); # call this to set what directory is used to store the files function fdb_set_dir($dir) { diff --git a/metaform.php b/metaform.php index b32c87e..656d4e0 100644 --- a/metaform.php +++ b/metaform.php @@ -357,8 +357,10 @@ function download_tar() { ".htaccess" => make_htaccess(), "run.php ->" => 'code/wfpl/run.php', "$name.html" => make_html(), - "$name.sql" => make_sql(), "$name.php" => make_php()); + if($GLOBALS['opt_db'] == 'Yes') { + $data["$name.sql"] = make_sql(); + } if($GLOBALS['opt_email'] == 'Yes') { $data["$name.email.txt"] = make_email(); } diff --git a/string_array.php b/string_array.php new file mode 100644 index 0000000..99168a1 --- /dev/null +++ b/string_array.php @@ -0,0 +1,46 @@ + -- 1.7.10.4