Revision: 1383
http://mrbs.svn.sourceforge.net/mrbs/?rev=1383&view=rev
Author: cimorrison
Date: 2010-07-25 17:45:11 +0000 (Sun, 25 Jul 2010)
Log Message:
-----------
Can now make repeat bookings with custom fields.
Modified Paths:
--------------
mrbs/branches/custom_entry_fields/web/mrbs_sql.inc
Modified: mrbs/branches/custom_entry_fields/web/mrbs_sql.inc
===================================================================
--- mrbs/branches/custom_entry_fields/web/mrbs_sql.inc 2010-07-25 17:20:15 UTC
(rev 1382)
+++ mrbs/branches/custom_entry_fields/web/mrbs_sql.inc 2010-07-25 17:45:11 UTC
(rev 1383)
@@ -328,6 +328,7 @@
* $description - Description
* $rep_num_weeks - (missing)
* $private - Private Booking (bool)
+ * $custom_fields - an array of any custom fields
*
* (NOTE: there is no status code passed, because the repeat table
* does not have a status field. Only the individual members of
@@ -339,7 +340,7 @@
*/
function mrbsCreateRepeatEntry($starttime, $endtime, $rep_type, $rep_enddate,
$rep_opt, $room_id, $owner, $name, $type,
- $description, $rep_num_weeks, $private)
+ $description, $rep_num_weeks, $private,
$custom_fields)
{
global $tbl_repeat;
@@ -381,11 +382,35 @@
{
$sql_coln[] = 'rep_num_weeks'; $sql_val[] = $rep_num_weeks;
}
+
+ // Add in any custom field values
+ if (count($custom_fields))
+ {
+ $fields = sql_field_info($tbl_repeat);
+ $field_natures = array();
+ foreach ($fields as $field)
+ {
+ $field_natures[$field['name']] = $field['nature'];
+ }
+ foreach ($custom_fields as $key => $value)
+ {
+ $sql_coln[] .= $key;
+ switch ($field_natures[$key])
+ {
+ case 'integer':
+ $sql_val[] = isset($value) ? $value : 'NULL';
+ break;
+ default:
+ $sql_val[] = "'" . addslashes($value) . "'";
+ break;
+ }
+ }
+ }
$sql = 'INSERT INTO ' . $tbl_repeat .
' (' . implode(', ',$sql_coln) . ') '.
'VALUES (' . implode(', ',$sql_val) . ')';
-
+
if (sql_command($sql) < 0)
{
fatal_error(TRUE, "Fatal error: " . sql_error()); // probably because the
table hasn't been created properly
@@ -626,7 +651,7 @@
$id = mrbsCreateRepeatEntry($starttime, $endtime, $rep_type,
$rep_enddate, $rep_opt, $room_id,
$owner, $name, $type, $description,
- $rep_num_weeks, $private);
+ $rep_num_weeks, $private, $custom_fields);
if ($id)
{
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Mrbs-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mrbs-commits