function recordClass($instructorID, $classID, $isClassNow, $classdate, $classduration, $students)
{
    $class = new CbodbClasses();
    $class->instructorID = $instructorID;
    $class->typeID = $classID;
    $class->duration = $classduration * 3600;
    $class->comment = "";
    $class->timeAdded = NULL;
    if ($isClassNow) {
        //  John Mikolich   December 30, 2010
        //  Next statement added to resolve the 'timezone issue'.
        date_default_timezone_set(getConfigValue("timeZone"));
        // NEW!!
        $starttime = date("Y-m-d H:i:s", time());
    } else {
        $starttime = $classdate[year] . '-' . $classdate[month] . '-' . $classdate[day] . ' 12:00:00';
    }
    $class->starttime = $starttime;
    $class->saveData();
    foreach ($students as $memberID => $studentdata) {
        if (!strcmp($studentdata[inclass], "on")) {
            $membertransaction = new CbodbTransaction();
            //  John Mikolich   December 30, 2010
            //  Next statement added to resolve the 'timezone issue'.
            date_default_timezone_set(getConfigValue("timeZone"));
            // NEW!!
            $membertransaction->dateOpen = date("Y-m-d H:i:s", time());
            $membertransaction->dateClosed = date("Y-m-d H:i:s", time());
            $membertransaction->type = 4001;
            $membertransaction->credits = -abs($studentdata[paidcredits]);
            $membertransaction->cash = $studentdata[paidcash];
            $membertransaction->totalTime = $classduration * 3600;
            $membertransaction->memberID = $memberID;
            /* Set the Transaction subtype to the class id so we can find the class */
            $membertransaction->subtype = $class->id;
            $membertransaction->comment = "Class: " . CbodbClasses::$cbodb_classtypes[$class->typeID];
            $membertransaction->saveData();
            $member = new CbodbMember($memberID);
            if ($class->typeID == 1) {
                if ($member->custom1 == 0 && $member->custom2 == 1 && $member->custom3 == 1 && $member->custom4 == 1) {
                    /* in this case they are taking their final class, and should be a member now */
                    $starttimestamp = strtotime($starttime);
                    $member->membershipExpire = date("Y-m-d H:i:s", $starttimestamp + 365 * 24 * 3600);
                    $member->isMember = 1;
                    $membertransaction->comment .= " - Membership renewed until {$member->membershipExpire}";
                    $membertransaction->saveData();
                }
                $member->custom1 = 1;
            }
            if ($class->typeID == 2) {
                if ($member->custom1 == 1 && $member->custom2 == 0 && $member->custom3 == 1 && $member->custom4 == 1) {
                    /* in this case they are taking their final class, and should be a member now */
                    $starttimestamp = strtotime($starttime);
                    $member->membershipExpire = date("Y-m-d H:i:s", $starttimestamp + 365 * 24 * 3600);
                    $member->isMember = 1;
                    $membertransaction->comment .= " - Membership renewed until {$member->membershipExpire}";
                    $membertransaction->saveData();
                }
                $member->custom2 = 1;
            }
            if ($class->typeID == 3) {
                if ($member->custom1 == 1 && $member->custom2 == 1 && $member->custom3 == 0 && $member->custom4 == 1) {
                    /* in this case they are taking their final class, and should be a member now */
                    $starttimestamp = strtotime($starttime);
                    $member->membershipExpire = date("Y-m-d H:i:s", $starttimestamp + 365 * 24 * 3600);
                    $member->isMember = 1;
                    $membertransaction->comment .= " - Membership renewed until {$member->membershipExpire}";
                    $membertransaction->saveData();
                }
                $member->custom3 = 1;
            }
            if ($class->typeID == 4) {
                if ($member->custom1 == 1 && $member->custom2 == 1 && $member->custom3 == 1 && $member->custom4 == 0) {
                    /* in this case they are taking their final class, and should be a member now */
                    $starttimestamp = strtotime($starttime);
                    $member->membershipExpire = date("Y-m-d H:i:s", $starttimestamp + 365 * 24 * 3600);
                    $member->isMember = 1;
                    $membertransaction->comment .= " - Membership renewed until {$member->membershipExpire}";
                    $membertransaction->saveData();
                }
                $member->custom4 = 1;
            }
            if ($class->typeID == 5) {
                $member->custom5 = 1;
            }
            $member->saveData();
        }
    }
}
    function newTimeTransaction($option, $transaction, $member)
    {
        if ($member->id) {
            $memberChosen = true;
            $member_name = $member->nameFirst . " " . $member->nameLast;
            $member_details_link = JFilterOutput::ampReplace('index.php?option=' . $option . '&task=edit&cid[]=' . $member->id);
            $member_details_link_markup = "<a href=\"{$member_details_link}\" title=\"Member details for {$member_name}\">{$member_name}</a>";
            $member_transactions_link = JFilterOutput::ampReplace('index.php?option=' . $option . '&task=transactions&member_id=' . $member->id);
            $member_transactions_link_markup = "<a href=\"{$member_transactions_link}\" title=\"List transactions for {$member_name}\">member transactions</a>";
        } else {
            $memberChosen = false;
        }
        $member_name = $member->nameFirst . " " . $member->nameLast;
        $member_details_link = JFilterOutput::ampReplace('index.php?option=' . $option . '&task=edit&cid[]=' . $member->id);
        $member_details_link_markup = "<a href=\"{$member_details_link}\" title=\"Member details for {$member_name}\">{$member_name}</a>";
        $member_transactions_link = JFilterOutput::ampReplace('index.php?option=' . $option . '&task=transactions&member_id=' . $member->id);
        $member_transactions_link_markup = "<a href=\"{$member_transactions_link}\" title=\"List transactions for {$member_name}\">member transactions</a>";
        ?>
	<form action="index.php" method="post" name="adminForm" id="adminForm">
	<fieldset class="adminform">
	<legend>Time-based Transaction</legend>
	<table class="admintable">
	<tr>
		<td width="100" align="right" class="key">
			Member:
		</td>
		<td>
		  <?php 
        if ($memberChosen) {
            ?>
			  <?php 
            echo $member_details_link_markup;
            ?>
 (see <?php 
            echo $member_transactions_link_markup;
            ?>
)
			  <input type="hidden" name="memberID" id="memberID" value="<?php 
            echo $member->id;
            ?>
">
		  <?php 
        } else {
            ?>
		    <?php 
            $dropdownList = CbodbMember::dropdownMemberList();
            ?>
        <select name="memberID">
        <option value="0">Choose member's name below...</option>
        <?php 
            foreach ($dropdownList as $memberRow) {
                echo "<option value=\"{$memberRow->id}\">{$memberRow->nameLast}, {$memberRow->nameFirst}</option>";
            }
            ?>
        </select>
		  <?php 
        }
        ?>
		</td>
	</tr>
	<tr>
		<td class="key">Transaction Type</td>
		<td><?php 
        HTML_cbodb::dropdownFromArray("type", HTML_cbodb::$timeTransactionTypeArray, $transaction->type, false);
        ?>
</td>
	</tr>
	<tr>
		<td class="key">Date Open</td>
		<td><input name="dateOpen" id="dateOpen" value="<?php 
        echo $transaction->dateOpen;
        ?>
"></td>
	</tr>
	<tr>
		<td class="key">Date Closed</td>
		<td><input name="dateClosed" id="dateClosed" value="<?php 
        echo $transaction->dateClosed;
        ?>
"></td>
	</tr>
	<tr>
		<td class="key">Duration</td>
		<td><?php 
        echo format_time_duration($transaction->totalTime, true);
        ?>
</td>
	</tr>
	<tr>
		<td class="key">Credits</td>
		<td><?php 
        echo $transaction->credits > 0 ? $transaction->credits : 0;
        ?>
</td>
	</tr>
	<tr>
		<td class="key">Comment</td>
		<td><input name="comment" id="comment" value="<?php 
        echo $transaction->comment;
        ?>
" size="100"></td>
	</tr>
	</table>
	</fieldset>
	<input type="hidden" name="id" value="<?php 
        echo $transaction->id;
        ?>
" />
	<input type="hidden" name="option" value="<?php 
        echo $option;
        ?>
" />
	<input type="hidden" name="task" value="save" />
	<input type="hidden" name="cbodb_mode" value="transaction" />
	</form>
	<?php 
    }
Example #3
0
function saveClass($option)
{
    global $mainframe;
    $postrow = JRequest::get('post');
    $classID = $postrow[classID];
    if ($classID == 0) {
        $loggedin = CbodbMember::loggedInList(TRUE);
        HTML_cbodb::startClass($option, $loggedin, $postrow[memberID], "You must select a class!");
    } else {
        if ($postrow[classdate][day] == 0 && $postrow[startsnow] != 'on') {
            $loggedin = CbodbMember::loggedInList(TRUE);
            HTML_cbodb::startClass($option, $loggedin, $postrow[memberID], "You must select a date or choose 'today'!");
        } else {
            recordClass($postrow[memberID], $postrow[classID], strcmp($postrow[startsnow], "on") ? 0 : 1, $postrow[classdate], $postrow[duration], $postrow[students]);
            $mainframe->redirect('index.php?option=' . $option . '&task=shop&key=3b767559374f5132236f6e68256b2529#top', 'Class data recorded, thank you!');
        }
    }
}