Formatting
[memberdb.git] / include / events.php
index 44dd3ee..ff1ae9f 100644 (file)
@@ -1,21 +1,5 @@
 <?php
 
-$SQL_CREATE_EVENTS = sprintf('
-    CREATE TABLE IF NOT EXISTS `%1$s` (
-      `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
-      `event_date` DATE NOT NULL,
-      `event_type` ENUM(\'joined\',\'changed\',\'leaved\') NOT NULL,
-      `member_id` INT(10) UNSIGNED NOT NULL,
-      `member_type` ENUM(\'regular\',\'patron\',\'honorary\') NULL,
-      `fee` DECIMAL(10,2) NULL,
-      `payment_interval` ENUM(\'monthly\', \'quarterly\', \'halfyearly\', \'yearly\') NULL,
-      `created_at` DATETIME NOT NULL,
-      `modified_at` DATETIME NOT NULL,
-      PRIMARY KEY  (`id`),
-      UNIQUE KEY `member_id_event_date` (`member_id`, `event_date`)
-    ) ENGINE=InnoDB DEFAULT CHARSET=%2$s
-    ', DB_TABLE_EVENTS, DB_CHARSET);
-
 $EVENT_TYPES = array(
     'joined'  => 'Eintritt',
     'changed' => 'Änderung',
@@ -35,8 +19,7 @@ $MEMBER_TYPES = array(
     'honorary' => 'Ehrenmitglied'
 );
 
-/* DB functions {{{ */
-
+// DB functions
 function db_create_event($event)
 {
     unset($event['id']);
@@ -44,7 +27,7 @@ function db_create_event($event)
     $event['fee'] = ui_money2float($event['fee']);
     $event['created_at'] = db_unixtime2datetime(time());
     $event['modified_at'] = db_unixtime2datetime(time());
-    return (db_insert_single(DB_TABLE_EVENTS, $event));
+    return (db_insert('events', $event));
 }
 
 function db_change_event($event)
@@ -65,47 +48,45 @@ function db_change_event($event)
     if (!isset($event['payment_interval'])) {
         $special .= ',`payment_interval`=NULL';
     }
-    return db_update_single(DB_TABLE_EVENTS, $event, sprintf('id=\'%1$d\'', db_escape($id)), $special);
+    return db_update('events', $event, sprintf("id='%d'", (int)$id), $special);
 }
 
 function db_delete_event($event)
 {
-    return db_delete_single(DB_TABLE_EVENTS, sprintf('id=\'%1$d\'', db_escape($event['id'])));
+    return db_delete('events', 'id=?', [$event['id']]);
 }
 
 function db_get_events_for_member($member_id, $unixtime_start = null, $unixtime_end = null)
 {
+    // @TODO: Change to prepared statement
     $conditions = array(
-        sprintf('member_id=\'%d\'', db_escape($member_id))
+        sprintf("member_id=%d", (int)$member_id)
     );
     if (isset($unixtime_start)) {
-        $conditions[] = sprintf('event_date>=\'%s\'', db_unixtime2date($unixtime_start));
+        $conditions[] = sprintf("event_date>='%s'", db_unixtime2date($unixtime_start));
     }
     if (isset($unixtime_end)) {
-        $conditions[] = sprintf('event_date<=\'%s\'', db_unixtime2date($unixtime_end));
+        $conditions[] = sprintf("event_date<='%s'", db_unixtime2date($unixtime_end));
     }
 
-    $sql = 'SELECT * FROM %1$s WHERE %2$s ORDER BY event_date ASC';
-    return db_select_multi(sprintf($sql, DB_TABLE_EVENTS, join(' AND ', $conditions)));
+    $sql = 'SELECT * FROM `events` WHERE %s ORDER BY event_date ASC';
+    return db_select_multi(sprintf($sql, join(' AND ', $conditions)));
 }
 
 function db_get_event_with_member_and_date($member_id, $event_date)
 {
-    $sql = 'SELECT * FROM %1$s WHERE member_id=\'%2$d\' AND event_date=\'%3$s\' LIMIT 1';
-    return db_select_single(sprintf($sql, DB_TABLE_EVENTS, db_escape($member_id), db_escape($event_date)));
+    $sql = 'SELECT * FROM `events` WHERE member_id=? AND event_date=? LIMIT 1';
+    return db_select_single($sql, [$member_id, $event_date]);
 }
 
 function db_get_event_with_id($event_id)
 {
-    $sql = 'SELECT * FROM %1$s WHERE id=\'%2$d\' LIMIT 1';
-    return db_select_single(sprintf($sql, DB_TABLE_EVENTS, db_escape($event_id)));
+    $sql = 'SELECT * FROM `events` WHERE id=? LIMIT 1';
+    return db_select_single($sql, [$event_id]);
 }
 
-/* }}} */
-
-
 function validate_event($userdata, &$dbdata, &$validation)
-{/*{{{*/
+{
     global $EVENT_TYPES, $MEMBER_TYPES, $PAYMENT_INTERVALS;
     $fields = array(
         'id'               => 'number',
@@ -123,10 +104,9 @@ function validate_event($userdata, &$dbdata, &$validation)
         $dbdata[$name] = $userdata[$name];
     }
 
-
-// ids must be equal
-// member_ids must be equal
-// date must be unique for given member
+    // ids must be equal
+    // member_ids must be equal
+    // date must be unique for given member
     if (isset($orig['id'])) {
         if ($dbdata['id'] != $orig['id']) {
             $validation[] = 'Irgendwas anderes ist sehr sehr komisch.';
@@ -144,11 +124,10 @@ function validate_event($userdata, &$dbdata, &$validation)
         $validation[] = 'An dem angegebenen Datum existiert schon ein Ereignis.';
     }
     return (count($validation) == 0);
-}/*}}}*/
-
+}
 
 function validate_event_date($member_id, $event_date, $event_id = null)
-{/*{{{*/
+{
     $event_date = db_unixtime2date(ui_date2unixtime($event_date));
     $event = db_get_event_with_member_and_date($member_id, $event_date);
 
@@ -163,11 +142,10 @@ function validate_event_date($member_id, $event_date, $event_id = null)
     }
 
     return false;
-}/*}}}*/
-
+}
 
 function action_list_events($member = null)
-{/*{{{*/
+{
     global $EVENT_TYPES, $MEMBER_TYPES, $PAYMENT_INTERVALS;
 
     if (!isset($member)) {
@@ -195,13 +173,13 @@ function action_list_events($member = null)
         </tr>
         <?php foreach ($events as $event) : ?>
             <tr>
-                <td><a href="<?= html_escape(link_to('change_event',
-                        array('id' => $event['id']))) ?>#event_form"><?= html_escape(format_date(db_date2unixtime($event['event_date']))) ?></a>
+                <td><a href="<?php echo html_escape(link_to('change_event',
+                        array('id' => $event['id']))) ?>#event_form"><?php echo html_escape(format_date(db_date2unixtime($event['event_date']))) ?></a>
                 </td>
-                <td><?= html_escape($EVENT_TYPES[$event['event_type']]) ?></td>
-                <td><?= html_escape(isset($event['member_type']) ? $MEMBER_TYPES[$event['member_type']] : '-') ?></td>
-                <td><?= html_escape(isset($event['fee']) ? format_money($event['fee']) : '-') ?></td>
-                <td><?= html_escape(isset($event['payment_interval']) ? $PAYMENT_INTERVALS[$event['payment_interval']] : '-') ?></td>
+                <td><?php echo html_escape($EVENT_TYPES[$event['event_type']]) ?></td>
+                <td><?php echo html_escape(isset($event['member_type']) ? $MEMBER_TYPES[$event['member_type']] : '-') ?></td>
+                <td><?php echo html_escape(isset($event['fee']) ? format_money($event['fee']) : '-') ?></td>
+                <td><?php echo html_escape(isset($event['payment_interval']) ? $PAYMENT_INTERVALS[$event['payment_interval']] : '-') ?></td>
             </tr>
         <?php endforeach ?>
     </table>
@@ -209,11 +187,10 @@ function action_list_events($member = null)
     <p>Bisher gibt's noch keine Ereignisse.</p>
 <?php endif ?>
     <?php
-}/*}}}*/
-
+}
 
 function action_create_event($member = null)
-{/*{{{*/
+{
     if (!isset($member)) {
         if (!isset($_REQUEST['member_id'])) {
             redirect(link_to());
@@ -252,10 +229,10 @@ function action_create_event($member = null)
         }
     }
     form_event($event, 'create', $log_messages);
-}/*}}}*/
+}
 
 function action_change_event()
-{/*{{{*/
+{
     if (!isset($_REQUEST['id'])) {
         redirect(link_to());
     }
@@ -291,10 +268,10 @@ function action_change_event()
     form_member($member, true);
     action_list_events($member);
     form_event($event, 'change', $log_messages);
-}/*}}}*/
+}
 
 function action_delete_event()
-{/*{{{*/
+{
     if (!isset($_REQUEST['id'])) {
         redirect(link_to());
     }
@@ -318,19 +295,18 @@ function action_delete_event()
     form_member($member, true);
     action_list_events($member);
     form_event($event, 'delete', $log_messages);
-}/*}}}*/
-
+}
 
 function form_event($event = array(), $task, $log_messages)
-{/*{{{*/
+{
     global $EVENT_TYPES, $MEMBER_TYPES, $PAYMENT_INTERVALS;
 
     $readonly = ($task == 'delete');
 
     ?>
     <form action="#event_form" method="post" class="clearfix" id="event_form">
-        <?php if (isset($event['id'])) : ?><?= html_hidden_field('id', $event) ?><?php endif ?>
-        <?= html_hidden_field('member_id', $event) ?>
+        <?php if (isset($event['id'])) : ?><?php echo html_hidden_field('id', $event) ?><?php endif ?>
+        <?php echo html_hidden_field('member_id', $event) ?>
         <fieldset>
             <?php if ($task == 'create') : ?>
                 <legend>Neues Ereignis</legend>
@@ -340,13 +316,14 @@ function form_event($event = array(), $task, $log_messages)
                 <legend>Ereignis &auml;ndern</legend>
             <?php endif ?>
             <?php log_messages($log_messages); ?>
-            <?= html_text_field('Datum', 'event_date', $event, $readonly) ?>
-            <?= html_list_box('Ereignistyp', 'event_type', $EVENT_TYPES, $event, $readonly) ?>
-            <?= html_list_box('Mitgliedstyp', 'member_type', array_merge(array(0 => 'unverändert'), $MEMBER_TYPES),
+            <?php echo html_text_field('Datum', 'event_date', $event, $readonly) ?>
+            <?php echo html_list_box('Ereignistyp', 'event_type', $EVENT_TYPES, $event, $readonly) ?>
+            <?php echo html_list_box('Mitgliedstyp', 'member_type',
+                array_merge(array(0 => 'unverändert'), $MEMBER_TYPES),
                 $event, $readonly) ?>
-            <?= html_money_field('Beitrag', 'fee', $event, $readonly) ?>
+            <?php echo html_money_field('Beitrag', 'fee', $event, $readonly) ?>
             <small>Leer lassen wenn unver&auml;ndert.</small>
-            <?= html_list_box('Zahlungsintervall', 'payment_interval',
+            <?php echo html_list_box('Zahlungsintervall', 'payment_interval',
                 array_merge(array(0 => 'unverändert'), $PAYMENT_INTERVALS), $event, $readonly) ?>
         </fieldset>
         <?php if ($task == 'delete') : ?>
@@ -356,13 +333,13 @@ function form_event($event = array(), $task, $log_messages)
         <?php endif ?>
     </form>
     <?php if ($task == 'change') : ?>
-    <a href="<?= html_escape(link_to('delete_event', array('id' => $event['id']))) ?>#event_form">Ereignis
+    <a href="<?php echo html_escape(link_to('delete_event', array('id' => $event['id']))) ?>#event_form">Ereignis
         l&ouml;schen</a>
-    <a href="<?= html_escape(link_to('view_member', array('id' => $event['member_id']))) ?>#event_form">Neues
+    <a href="<?php echo html_escape(link_to('view_member', array('id' => $event['member_id']))) ?>#event_form">Neues
         Ereignis</a>
 <?php elseif ($task == 'delete') : ?>
-    <a href="<?= html_escape(link_to('view_member', array('id' => $event['member_id']))) ?>#event_form">Neues
+    <a href="<?php echo html_escape(link_to('view_member', array('id' => $event['member_id']))) ?>#event_form">Neues
         Ereignis</a>
 <?php endif ?>
     <?php
-}/*}}}*/
+}