function addEditClient($lClientID, $clsClients)
 {
     //---------------------------------------------------------------
     //
     //---------------------------------------------------------------
     global $gbDateFormatUS, $gstrFormatDatePicker, $gdteNow, $glChapterID;
     global $gstrDuplicateWarning;
     if (!bTestForURLHack('showClients')) {
         return;
     }
     $displayData = array();
     $gstrDuplicateWarning = '';
     $displayData['lClientID'] = $lClientID = (int) $lClientID;
     $displayData['bNew'] = $bNew = $lClientID <= 0;
     $displayData['client'] = $client = $clsClients->clients[0];
     if (is_null($client->lLocationID)) {
         $client->lLocationID = (int) $_POST['lLocationID'];
         $client->lStatusCatID = (int) $_POST['lStatusCatID'];
         $client->lVocID = (int) $_POST['lVocID'];
     }
     //--------------------------------------------
     // models associated with the client record
     //--------------------------------------------
     $this->load->model('clients/mclient_locations', 'clsLocation');
     $this->load->model('sponsorship/msponsorship_programs', 'clsSponProg');
     $this->load->model('clients/mclient_status', 'clsClientStat');
     $this->load->model('clients/mclient_vocabulary', 'clsClientV');
     $this->load->helper('dl_util/time_date');
     $this->load->helper('dl_util/web_layout');
     if ($bNew) {
         $this->load->model('util/mdup_checker', 'cDupChecker');
         $this->load->model('admin/mpermissions', 'perms');
         $this->load->model('personalization/muser_fields', 'clsUF');
         $this->load->model('personalization/muser_schema', 'cUFSchema');
         $this->load->model('client_features/mcprograms', 'cprograms');
     }
     // validation rules
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('txtFName', 'Client\'s First Name', 'trim|required');
     $this->form_validation->set_rules('txtMName', 'Client\'s Middle Name', 'trim');
     $this->form_validation->set_rules('txtLName', 'Client\'s Last Name', 'trim');
     $this->form_validation->set_rules('txtBDate', 'Birth date', 'trim|required|callback_clientRecVerifyBDateValid' . '|callback_clientRecVerifyBDatePast');
     $this->form_validation->set_rules('txtPEntryDate', 'Enrollment date', 'trim|required|callback_clientRecVerifyEDateValid' . '|callback_clientRecVerifyEDatePast');
     $this->form_validation->set_rules('txtMaxSpon', 'Max # of Sponsors', 'trim|required|is_natural');
     $this->form_validation->set_rules('rdoGender', 'Gender', 'required');
     $this->form_validation->set_rules('txtBio', 'Bio', 'trim');
     $this->form_validation->set_rules('ddlAttrib', 'Attributed to');
     $this->form_validation->set_rules('txtAddr1', '', 'trim');
     $this->form_validation->set_rules('txtAddr2', '', 'trim');
     $this->form_validation->set_rules('txtCity', '', 'trim');
     $this->form_validation->set_rules('txtState', '', 'trim');
     $this->form_validation->set_rules('txtZip', '', 'trim');
     $this->form_validation->set_rules('txtCountry', '', 'trim');
     $this->form_validation->set_rules('txtEmail', 'Email', 'trim|valid_email');
     $this->form_validation->set_rules('txtPhone', '', 'trim');
     $this->form_validation->set_rules('txtCell', '', 'trim');
     // test for duplicate clients
     if ($bNew) {
         $this->form_validation->set_rules('hiddenTestDup', 'dummy', 'callback_verifyNoDups');
         $this->form_validation->set_rules('ddlStatus', '', 'required|callback_clientRecVerifyInitStat');
         $displayData['bHiddenNewTestDup'] = true;
     }
     if ($this->form_validation->run() == FALSE) {
         $this->load->model('util/mlist_generic', 'clsList');
         $this->clsList->enumListType = CENUM_LISTTYPE_ATTRIB;
         $displayData['formData'] = new stdClass();
         $displayData['lLocationID'] = $lLocationID = $this->clsLocation->cl_lKeyID = $client->lLocationID;
         $this->clsLocation->loadLocationRec($lLocationID);
         $displayData['lVocID'] = $lVocID = $this->clsClientV->lVocID = $client->lVocID;
         $this->clsClientV->loadClientVocabulary(true, false);
         $displayData['clsClientV'] = $this->clsClientV;
         $displayData['clsLocation'] = $this->clsLocation;
         $this->clsSponProg->loadSponProgsViaLocID($lLocationID);
         $displayData['clsSponProg'] = $this->clsSponProg;
         $displayData['clsClientStat'] = $this->clsClientStat;
         $lSCID = $client->lStatusCatID;
         $this->clsClientStat->loadClientStatCatsEntries(true, $lSCID, false, null, true, false);
         $strMessage = '<font color="red">One or more client status entries must be established before
                          adding clients.</font>';
         $displayData['bNoStatEntries'] = $bNoStatEntries = $this->clsClientStat->bTestNoStatEntries($lSCID, true, $strMessage, $displayData['strNoStatErrMsg']);
         $this->load->library('generic_form');
         $displayData['strDuplicateWarning'] = $gstrDuplicateWarning;
         if (validation_errors() == '') {
             $displayData['formData']->txtFName = htmlspecialchars($client->strFName);
             $displayData['formData']->txtMName = htmlspecialchars($client->strMName);
             $displayData['formData']->txtLName = htmlspecialchars($client->strLName);
             $displayData['strAttribDDL'] = $this->clsList->strLoadListDDL($glChapterID, 'ddlAttrib', true, $client->lAttribID);
             if (is_null($client->dteBirth)) {
                 $displayData['formData']->txtBDate = '';
             } else {
                 $displayData['formData']->txtBDate = strNumericDateViaMysqlDate($client->dteBirth, $gbDateFormatUS);
             }
             if (is_null($client->dteEnrollment)) {
                 $displayData['formData']->txtPEntryDate = '';
             } else {
                 $displayData['formData']->txtPEntryDate = date($gstrFormatDatePicker, $client->dteEnrollment);
             }
             if ($bNew) {
                 $displayData['formData']->lInitStatID = -1;
             }
             if ($this->clsSponProg->lNumSponPrograms > 0) {
                 foreach ($this->clsSponProg->sponProgs as $clsLocSP) {
                     $lSCID = $clsLocSP->lKeyID;
                     $clsLocSP->bSupported = $this->clsSponProg->bClientInSponProgram($lClientID, $lSCID, $lcsp_lKeyID);
                 }
             }
             $displayData['formData']->txtMaxSpon = $client->lMaxSponsors;
             $displayData['formData']->rdoGender = $client->enumGender;
             $displayData['formData']->txtBio = htmlspecialchars($client->strBio);
             $displayData['formData']->txtAddr1 = htmlspecialchars($client->strAddr1);
             $displayData['formData']->txtAddr2 = htmlspecialchars($client->strAddr2);
             $displayData['formData']->txtCity = htmlspecialchars($client->strCity);
             $displayData['formData']->txtState = htmlspecialchars($client->strState);
             $displayData['formData']->txtZip = htmlspecialchars($client->strZip);
             $displayData['formData']->txtCountry = htmlspecialchars($client->strCountry);
             $displayData['formData']->txtEmail = htmlspecialchars($client->strEmail);
             $displayData['formData']->txtPhone = htmlspecialchars($client->strPhone);
             $displayData['formData']->txtCell = htmlspecialchars($client->strCell);
         } else {
             setOnFormError($displayData);
             $displayData['strAttribDDL'] = $this->clsList->strLoadListDDL($glChapterID, 'ddlAttrib', true, set_value('ddlAttrib'));
             $displayData['formData']->txtFName = set_value('txtFName');
             $displayData['formData']->txtMName = set_value('txtMName');
             $displayData['formData']->txtLName = set_value('txtLName');
             $displayData['formData']->txtBDate = set_value('txtBDate');
             $displayData['formData']->txtPEntryDate = set_value('txtPEntryDate');
             if ($bNew) {
                 $displayData['formData']->lInitStatID = set_value('ddlStatus');
             }
             // couldn't find a ci form validation way to do this....
             if ($this->clsSponProg->lNumSponPrograms > 0) {
                 if (isset($_POST['chkSP'])) {
                     foreach ($this->clsSponProg->sponProgs as $clsLocSP) {
                         $lSCID = $clsLocSP->lKeyID;
                         $clsLocSP->bSupported = in_array($lSCID, $_POST['chkSP']);
                     }
                 }
             }
             $displayData['formData']->txtMaxSpon = set_value('txtMaxSpon');
             $displayData['formData']->rdoGender = set_value('rdoGender');
             $displayData['formData']->txtBio = set_value('txtBio');
             $displayData['formData']->txtAddr1 = set_value('txtAddr1');
             $displayData['formData']->txtAddr2 = set_value('txtAddr2');
             $displayData['formData']->txtCity = set_value('txtCity');
             $displayData['formData']->txtState = set_value('txtState');
             $displayData['formData']->txtZip = set_value('txtZip');
             $displayData['formData']->txtCountry = set_value('txtCountry');
             $displayData['formData']->txtEmail = set_value('txtEmail');
             $displayData['formData']->txtPhone = set_value('txtPhone');
             $displayData['formData']->txtCell = set_value('txtCell');
         }
         //--------------------------
         // breadcrumbs
         //--------------------------
         if ($lClientID > 0) {
             $displayData['pageTitle'] = anchor('main/menu/client', 'Clients', 'class="breadcrumb"') . ' | ' . anchor('clients/client_record/view/' . $lClientID, 'Client Record', 'class="breadcrumb"') . ' | Edit Client Record';
         } else {
             $displayData['pageTitle'] = anchor('main/menu/client', 'Clients', 'class="breadcrumb"') . ' | Add New Client Record';
         }
         $displayData['title'] = CS_PROGNAME . ' | Clients';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['mainTemplate'] = 'client/client_add_edit_view';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $strBDate = trim($_POST['txtBDate']);
         MDY_ViaUserForm($strBDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $client->dteBirth = strMoDaYr2MySQLDate($lMon, $lDay, $lYear);
         $strEnrollDate = trim($_POST['txtPEntryDate']);
         MDY_ViaUserForm($strEnrollDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $client->dteEnrollment = strtotime($lMon . '/' . $lDay . '/' . $lYear);
         $client->strFName = trim($_POST['txtFName']);
         $client->strMName = trim($_POST['txtMName']);
         $client->strLName = trim($_POST['txtLName']);
         $client->strBio = trim($_POST['txtBio']);
         $client->enumGender = trim($_POST['rdoGender']);
         $client->lMaxSponsors = (int) trim($_POST['txtMaxSpon']);
         $client->strAddr1 = trim($_POST['txtAddr1']);
         $client->strAddr2 = trim($_POST['txtAddr2']);
         $client->strCity = trim($_POST['txtCity']);
         $client->strState = trim($_POST['txtState']);
         $client->strZip = trim($_POST['txtZip']);
         $client->strCountry = trim($_POST['txtCountry']);
         $client->strEmail = trim($_POST['txtEmail']);
         $client->strPhone = trim($_POST['txtPhone']);
         $client->strCell = trim($_POST['txtCell']);
         $lAttrib = (int) $_REQUEST['ddlAttrib'];
         if ($lAttrib <= 0) {
             $client->lAttribID = null;
         } else {
             $client->lAttribID = $lAttrib;
         }
         if ($bNew) {
             $this->load->model('personalization/muser_fields', 'clsUF');
             $this->load->model('personalization/muser_fields_create', 'clsUFC');
             $this->load->model('admin/mpermissions', 'perms');
             $lClientID = $this->clsClients->lAddNewClient();
             $this->clsClientStat->clientStatus = array();
             $status = $this->clsClientStat->clientStatus[0] = new stdClass();
             $status->lClientID = $lClientID;
             $status->lStatusID = (int) trim($_POST['ddlStatus']);
             $status->bIncludeNotesInPacket = false;
             $status->dteStatus = $gdteNow;
             $status->strStatusTxt = 'Initial status';
             $this->clsClientStat->lInsertClientStatus();
             $this->session->set_flashdata('msg', 'The client record was added');
         } else {
             $clsClients->updateClientRec();
             $this->session->set_flashdata('msg', 'The client record was updated');
         }
         //----------------------------------------
         // update supported sponsor categories
         //----------------------------------------
         $this->clsSponProg->clearClientSponPrograms($lClientID);
         if (isset($_POST['chkSP'])) {
             foreach ($_POST['chkSP'] as $lSCID) {
                 $this->clsSponProg->setClientSponProgram($lClientID, (int) $lSCID);
             }
         }
         redirect('clients/client_record/view/' . $client->lKeyID);
     }
 }
function saveCustomPTables($lFID, $lNumTables, &$utables)
{
    //---------------------------------------------------------------------
    //
    //---------------------------------------------------------------------
    global $gbDateFormatUS;
    if ($lNumTables == 0) {
        return;
    }
    $CI =& get_instance();
    $CI->clsUFD->lForeignID = $lFID;
    $CI->clsUFD->fields = array();
    $CI->clsUFD->fields[0] = new stdClass();
    $vfield =& $CI->clsUFD->fields[0];
    foreach ($utables as $utable) {
        $bMultiEntry = $utable->bMultiEntry;
        if (!isset($utable->bCProg)) {
            $utable->bCProg = false;
        }
        if ($bMultiEntry) {
            $utable->lKeyID = $utable->lTableID;
            $lRecID = $CI->clsUFD->lSaveMultiRecViaPost(true, $lFID, $lRecID, $utable);
        } else {
            $CI->clsUFD->lTableID = $lTableID = $utable->lTableID;
            foreach ($utable->ufields as $ufield) {
                $vfield->enumFieldType = $enumType = $ufield->enumFieldType;
                $vfield->pff_lKeyID = $ufield->lFieldID;
                $strFN = $ufield->strFieldNameInternal;
                $varUserVal = null;
                switch ($enumType) {
                    case CS_FT_CHECKBOX:
                        $varUserVal = @$_POST[$strFN] == 'true';
                        break;
                    case CS_FT_DATE:
                        $varUserVal = trim($_POST[$strFN]);
                        if ($varUserVal == '') {
                            $varUserVal = ' null ';
                        } else {
                            MDY_ViaUserForm($varUserVal, $lMon, $lDay, $lYear, $gbDateFormatUS);
                            $varUserVal = ' "' . strMoDaYr2MySQLDate($lMon, $lDay, $lYear) . '" ';
                        }
                        break;
                    case CS_FT_TEXTLONG:
                    case CS_FT_TEXT255:
                    case CS_FT_TEXT80:
                    case CS_FT_TEXT20:
                        $varUserVal = trim($_POST[$strFN]);
                        break;
                    case CS_FT_INTEGER:
                        $varUserVal = trim($_POST[$strFN]);
                        $varUserVal = (int) stripCustomCommas($varUserVal);
                        //                     $varUserVal = (integer)trim($varUserVal);
                        break;
                    case CS_FT_HEADING:
                        break;
                    case CS_FT_CURRENCY:
                        $varUserVal = trim($_POST[$strFN]);
                        $varUserVal = stripCustomCommas($varUserVal);
                        $varUserVal = number_format((double) $varUserVal, 2, '.', '');
                        break;
                    case CS_FT_DDL:
                        $varUserVal = (int) $_POST[$strFN];
                        if ($varUserVal <= 0) {
                            $varUserVal = ' null ';
                        }
                        break;
                    case CS_FT_DDLMULTI:
                        $multiDDL = new stdClass();
                        $multiDDL->lFieldID = $ufield->lFieldID;
                        $multiDDL->lTableID = $utable->lTableID;
                        $multiDDL->entries = array();
                        $multiDDL->lNumEntries = 0;
                        if (isset($_POST[$strFN])) {
                            foreach ($_POST[$strFN] as $strDDL) {
                                $lID = (int) $strDDL;
                                if ($lID > 0) {
                                    $multiDDL->entries[] = $lID;
                                    ++$multiDDL->lNumEntries;
                                }
                            }
                        }
                        $CI->clsUFD->addDDLMultiEntries($lFID, $multiDDL);
                        break;
                    default:
                        screamForHelp($enumType . ': invalid field type<br>error on line ' . __LINE__ . ',<br>file ' . __FILE__ . ',<br>function ' . __FUNCTION__);
                        break;
                }
                if ($enumType != CS_FT_HEADING && $enumType != CS_FT_DDLMULTI) {
                    $CI->clsUFD->updateUserField($varUserVal);
                }
            }
        }
    }
}
function tf_getDateRanges($opts, &$formDates)
{
    //-------------------------------------------------------------------------
    //
    //-------------------------------------------------------------------------
    global $gdteNow, $gbDateFormatUS;
    $formDates = new stdClass();
    $formDates->bError = false;
    $formDates->strRptRange = $_REQUEST[$opts->strCTRL_Prefix . 'rdo_TimePeriod'];
    $formDates->strDateRange = '';
    $bAddTextDate = true;
    switch ($formDates->strRptRange) {
        case 'DDL':
            $bAddTextDate = false;
            $formDates->bUseDateRange = true;
            $formDates->sDDL = $_REQUEST[$opts->strCTRL_Prefix . 'ddl_TimeFrame'];
            determineDateRange((int) $formDates->sDDL, $gdteNow, $formDates->dteStart, $formDates->dteEnd, $formDates->strDateRange);
            break;
        case 'User':
            $formDates->bUseDateRange = true;
            $strDate = trim($_POST[$opts->strSDateFN]);
            MDY_ViaUserForm($strDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
            $formDates->dteStart = strtotime($lMon . '/' . $lDay . '/' . $lYear);
            $strDate = trim($_POST[$opts->strEDateFN]);
            MDY_ViaUserForm($strDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
            $formDates->dteEnd = strtotime($lMon . '/' . $lDay . '/' . $lYear . ' 23:59:59');
            break;
        case 'None':
            $formDates->bUseDateRange = false;
            $formDates->dteStart = strtotime('1/1/1970');
            $formDates->dteEnd = strtotime('1/18/2038');
            // end of Unix epoch
            $formDates->strDateRange = "No Date Range";
            $bAddTextDate = false;
            break;
        default:
            $formDates->bError = true;
            echoT('
            <br><font color="red">Please click on a <b><i>radio button</b></i> (<input type="radio">)
            from the data selection list to run your search.<br><br></font>
            You can click on your browser\'s <b><i>back</b></i> button and try again.<br><br>');
            break;
    }
    if ($formDates->bUseDateRange) {
        $formDates->strBetween = ' BETWEEN ' . strPrepDate($formDates->dteStart) . ' AND ' . strPrepDateTime($formDates->dteEnd) . ' ';
    } else {
        $formDates->strBetween = ' BETWEEN "0000-00-00" AND "9999-00-00" ';
    }
    if ($bAddTextDate) {
        if ($gbDateFormatUS) {
            $formDates->strDateRange = date('m/d/Y', $formDates->dteStart) . ' - ' . date('m/d/Y', $formDates->dteEnd);
        } else {
            $formDates->strDateRange = date('d/m/Y', $formDates->dteStart) . ' - ' . date('d/m/Y', $formDates->dteEnd);
        }
    }
}
 function addEditPayment($lPledgeID, $lGiftID, $dtePledge)
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     global $gdteNow, $gbDateFormatUS, $gstrFormatDatePicker;
     $this->load->helper('dl_util/verify_id');
     verifyID($this, $lPledgeID, 'pledge ID');
     $displayData = array();
     $displayData['lPledgeID'] = $lPledgeID = (int) $lPledgeID;
     $displayData['dtePledge'] = $dtePledge = (int) $dtePledge;
     $displayData['lGiftID'] = $lGiftID = (int) $lGiftID;
     $displayData['js'] = '';
     if (!bTestForURLHack('dataEntryGifts')) {
         return;
     }
     $bNew = $lGiftID <= 0;
     // load models
     $params = array('enumStyle' => 'terse');
     $this->load->library('generic_rpt', $params);
     $this->load->helper('dl_util/web_layout');
     //      $this->load->helper ('dl_util/email_web');
     $this->load->helper('dl_util/time_date');
     $this->load->model('admin/madmin_aco', 'clsACO');
     $this->load->model('people/mpeople', 'clsPeople');
     $this->load->model('biz/mbiz', 'clsBiz');
     $this->load->model('donations/mdonations', 'clsGift');
     $this->load->model('util/mlist_generic', 'clsList');
     $this->load->model('donations/mpledges', 'clsPledges');
     // load pledge
     $this->clsPledges->loadPledgeViaPledgeID($lPledgeID);
     $displayData['pledge'] = $pledge =& $this->clsPledges->pledges[0];
     $bPeople = !$pledge->bBiz;
     $lFID = $pledge->lForeignID;
     // load gift associated with pledge
     $this->clsGift->loadGiftViaGID($lGiftID);
     $gifts =& $this->clsGift->gifts[0];
     /* -------------------------------------
     echo('<font class="debug">'.substr(__FILE__, strrpos(__FILE__, '\\'))
        .': '.__LINE__.'<br>$gifts   <pre>');
     echo(htmlspecialchars( print_r($gifts, true))); echo('</pre></font><br>');
     // ------------------------------------- */
     // validation rules
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('txtAmount', 'Amount', 'trim|required|callback_stripCommas|numeric|callback_pledgeVerifyCommitment');
     $this->form_validation->set_rules('txtDDate', 'Date', 'trim|required|callback_pledgeVerifyDateValid');
     $this->form_validation->set_rules('txtNotes', 'Notes', 'trim');
     $this->form_validation->set_rules('txtCheckNum', 'Check Number', 'trim');
     $this->form_validation->set_rules('ddlPayType', 'Payment Type', 'callback_pledgeVerifyPayType');
     $this->form_validation->set_rules('ddlGiftCat', 'Gift Category', 'trim');
     $this->form_validation->set_rules('ddlAttrib', 'Attributed To', 'trim');
     if ($this->form_validation->run() == FALSE) {
         $displayData['formData'] = new stdClass();
         $this->load->library('generic_form');
         $displayData['js'] .= strDatePicker('datepickerFuture', true);
         if (validation_errors() == '') {
             if ($bNew) {
                 $displayData['formData']->strNotes = '';
                 $displayData['formData']->strCheckNum = '';
                 $displayData['formData']->txtDDate = date($gstrFormatDatePicker, $dtePledge);
                 $displayData['formData']->txtAmount = number_format($pledge->curCommitment, 2, '.', '');
                 $this->clsList->strBlankDDLName = '&nbsp;';
                 $this->clsList->enumListType = CENUM_LISTTYPE_GIFTPAYTYPE;
                 $displayData['formData']->strDDLPayType = $this->clsList->strLoadListDDL('ddlPayType', true, -1);
                 $this->clsList->enumListType = CENUM_LISTTYPE_MAJORGIFTCAT;
                 $displayData['formData']->strDDLMajGiftType = $this->clsList->strLoadListDDL('ddlGiftCat', true, -1);
             } else {
                 $displayData['formData']->strNotes = htmlspecialchars($gifts->strNotes);
                 $displayData['formData']->strCheckNum = htmlspecialchars($gifts->gi_strCheckNum);
                 $displayData['formData']->txtDDate = date($gstrFormatDatePicker, $gifts->gi_dteDonation);
                 $displayData['formData']->txtAmount = number_format($gifts->gi_curAmnt, 2, '.', '');
                 $this->clsList->strBlankDDLName = '&nbsp;';
                 $this->clsList->enumListType = CENUM_LISTTYPE_GIFTPAYTYPE;
                 $displayData['formData']->strDDLPayType = $this->clsList->strLoadListDDL('ddlPayType', true, $gifts->gi_lPaymentType);
                 $this->clsList->enumListType = CENUM_LISTTYPE_MAJORGIFTCAT;
                 $displayData['formData']->strDDLMajGiftType = $this->clsList->strLoadListDDL('ddlGiftCat', true, $gifts->gi_lMajorGiftCat);
             }
         } else {
             setOnFormError($displayData);
             $displayData['formData']->txtDDate = set_value('txtDDate');
             $displayData['formData']->txtAmount = set_value('txtAmount');
             $displayData['formData']->strNotes = set_value('txtNotes');
             $displayData['formData']->strCheckNum = set_value('txtCheckNum');
             $this->clsList->strBlankDDLName = '&nbsp;';
             $this->clsList->enumListType = CENUM_LISTTYPE_GIFTPAYTYPE;
             $displayData['formData']->strDDLPayType = $this->clsList->strLoadListDDL('ddlPayType', true, set_value('ddlPayType'));
             $this->clsList->enumListType = CENUM_LISTTYPE_MAJORGIFTCAT;
             $displayData['formData']->strDDLMajGiftType = $this->clsList->strLoadListDDL('ddlGiftCat', true, set_value('ddlGiftCat'));
         }
         //--------------------------
         // breadcrumbs
         //--------------------------
         $displayData['mainTemplate'] = 'donations/pledge_payment_add_edit_view';
         if ($bPeople) {
             $displayData['pageTitle'] = anchor('main/menu/people', 'People', 'class="breadcrumb"') . ' | ' . anchor('people/people_record/view/' . $lFID, 'Record', 'class="breadcrumb"') . ' | ' . ($bNew ? 'Add New' : 'Edit') . ' Pledge Payment';
             $this->clsPeople->loadPeopleViaPIDs($lFID, false, false);
             $displayData['contextSummary'] = $this->clsPeople->peopleHTMLSummary(0);
         } else {
             $displayData['pageTitle'] = anchor('main/menu/biz', 'Businesses/Organizations', 'class="breadcrumb"') . ' | ' . anchor('biz/biz_record/view/' . $lFID, 'Record', 'class="breadcrumb"') . ' | ' . ($bNew ? 'Add New' : 'Edit') . ' Pledge Payment';
             $this->clsBiz->loadBizRecsViaBID($lFID);
             $displayData['contextSummary'] = $this->clsBiz->strBizHTMLSummary(0);
         }
         $displayData['title'] = CS_PROGNAME . ' | Pledges';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $this->load->model('personalization/muser_fields', 'clsUF');
         $this->load->model('personalization/muser_fields_create', 'clsUFC');
         $this->load->model('admin/mpermissions', 'perms');
         $this->load->helper('dl_util/util_db');
         /* -------------------------------------
         echo('<font class="debug">'.substr(__FILE__, strrpos(__FILE__, '\\'))
            .': '.__LINE__.'<br>$pledge   <pre>');
         echo(htmlspecialchars( print_r($pledge, true))); echo('</pre></font><br>');
         // -------------------------------------*/
         $gifts->gi_curAmnt = $curAmnt = trim((double) $_POST['txtAmount']);
         $gifts->gc_lKeyID = $pledge->lCampaignID;
         $gifts->gi_lSponsorID = null;
         $gifts->lACOID = $pledge->lACOID;
         $gifts->strNotes = trim($_POST['txtNotes']);
         $gifts->gi_strCheckNum = trim($_POST['txtCheckNum']);
         $gifts->gi_lAttributedTo = $pledge->lAttributedTo;
         // trim((integer)$_POST['ddlAttrib']);
         $gifts->gi_lGIK_ID = null;
         $gifts->gi_lPaymentType = trim((int) $_POST['ddlPayType']);
         $gifts->gi_lMajorGiftCat = trim((int) $_POST['ddlGiftCat']);
         $gifts->gi_lForeignID = $lFID;
         $gifts->lPledgeID = $lPledgeID;
         //         if ($gifts->gi_lAttributedTo <= 0) $gifts->gi_lAttributedTo = null;
         //         if ($gifts->gi_lGIK_ID       <= 0) $gifts->gi_lGIK_ID       = null;
         //         $gifts->gi_bGIK = !is_null($gifts->gi_lGIK_ID);
         $strDate = trim($_POST['txtDDate']);
         MDY_ViaUserForm($strDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $gifts->mdteDonation = strMoDaYr2MySQLDate($lMon, $lDay, $lYear);
         $this->session->set_flashdata('msg', 'A pledge payment of ' . $pledge->strACOCurSymbol . number_format($curAmnt, 2) . ' was ' . ($bNew ? 'added.' : 'updated.'));
         if ($bNew) {
             $lGiftID = $this->clsGift->lAddNewGiftRecord();
         } else {
             $this->clsGift->updateGiftRecord();
         }
         redirect('donations/pledge_record/view/' . $lPledgeID);
     }
 }
 function edit($lImageDocID)
 {
     //------------------------------------------------------------------------------
     //
     //------------------------------------------------------------------------------
     global $gstrFormatDatePicker, $gbDateFormatUS;
     $this->load->helper('dl_util/verify_id');
     verifyID($this, $lImageDocID, 'image/document ID');
     $displayData = array();
     $displayData['formData'] = new stdClass();
     $displayData['lImageDocID'] = $lImageDocID = (int) $lImageDocID;
     $displayData['bUpdate'] = true;
     //-------------------------
     // models & helpers
     //-------------------------
     $params = array('enumStyle' => 'terse');
     $this->load->library('generic_rpt', $params);
     $this->load->library('util/dl_date_time', '', 'clsDateTime');
     $this->load->model('img_docs/mimage_doc', 'clsImgDoc');
     $this->load->model('admin/mpermissions', 'perms');
     $this->load->helper('auctions/auction');
     $this->load->helper('dl_util/time_date');
     $this->load->helper('dl_util/context');
     $this->load->helper('img_docs/image_doc');
     $this->load->helper('img_docs/link_img_docs');
     $displayData['enumContextType'] = $enumContextType = $this->clsImgDoc->enumContextViaID($lImageDocID);
     $displayData['lFID'] = $lFID = $this->clsImgDoc->lForeignIDViaID($lImageDocID);
     $displayData['enumEntryType'] = $enumEntryType = $this->clsImgDoc->enumEntryTypeViaID($lImageDocID);
     $displayData['bImage'] = $bImage = $enumEntryType == CENUM_IMGDOC_ENTRY_IMAGE;
     $strLabel = $bImage ? 'Image' : 'Document';
     loadSupportModels($enumContextType, $lFID);
     $this->clsImgDoc->loadDocImageInfoViaID($lImageDocID);
     $imgDoc =& $this->clsImgDoc->imageDocs[0];
     $enumIDContext = imgDocTags\xlateTagTypeViaContextType($enumContextType, $enumEntryType);
     $displayData['strTagLabel'] = imgDocTags\strXlateImgDocContext($enumIDContext);
     $this->cidTags->loadImgDocTagsForDDL($enumIDContext, $lImageDocID, $displayData['lNumTags'], $displayData['tags']);
     //-------------------------
     // validation rules
     //-------------------------
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('txtDescription', 'Description', 'trim');
     $this->form_validation->set_rules('txtCaption', 'Caption', 'trim');
     $this->form_validation->set_rules('txtDate', 'Date of ' . $strLabel, 'trim|required|' . 'callback_clientImageUploadVerifyBDateValid');
     if ($bImage) {
         $this->form_validation->set_rules('chkProfile', 'Profile', 'trim');
     }
     if ($this->form_validation->run() == FALSE) {
         $this->load->helper('dl_util/web_layout');
         $this->load->library('generic_form');
         if ($bImage) {
             $displayData['strImageTag'] = strLinkHTMLTag($enumContextType, $enumEntryType, $lFID, $imgDoc->strSystemFN, 'View in new window', true, '') . strImageHTMLTag($enumContextType, $enumEntryType, $lFID, $imgDoc->strSystemThumbFN, '', false, ' style="border: 1px solid black;" ') . '</a>';
         } else {
             $displayData['strImageTag'] = '';
         }
         // first time displayed, no user data entry errors
         if (validation_errors() == '') {
             $displayData['formData']->txtDate = date($gstrFormatDatePicker, $imgDoc->dteDocImage);
             $displayData['formData']->txtDescription = htmlspecialchars($imgDoc->strDescription);
             $displayData['formData']->txtCaption = htmlspecialchars($imgDoc->strCaptionTitle);
             if ($bImage) {
                 $displayData['formData']->bProfile = $imgDoc->bProfile;
             }
         } else {
             setOnFormError($displayData);
             $displayData['formData']->txtDate = set_value('txtDate');
             $displayData['formData']->txtDescription = set_value('txtDescription');
             $displayData['formData']->txtCaption = set_value('txtCaption');
             $this->updateTagSelect($displayData['lNumTags'], $displayData['tags']);
             if ($bImage) {
                 $displayData['formData']->bProfile = set_value('chkProfile') == 'TRUE';
             }
         }
         $displayData['contextSummary'] = strContextHTML($enumContextType, $lFID, $displayData['strContextName']);
         //--------------------------
         // breadcrumbs
         //--------------------------
         $displayData['pageTitle'] = breadCrumbsToRecViewViaContextType($enumContextType, $lFID, 'Update ' . $strLabel);
         $displayData['title'] = CS_PROGNAME . ' | Clients';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['mainTemplate'] = 'img_docs/upload_image_doc_view';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $this->load->model('img_docs/mimage_doc', 'clsImgDoc');
         if ($bImage) {
             $this->load->library('image_lib');
         }
         $this->clsImgDoc->loadDocImageInfoViaID(-1);
         $imageDoc =& $this->clsImgDoc->imageDocs[0];
         $bProfile = @$_POST['chkProfile'] == 'TRUE';
         $strDate = trim($_POST['txtDate']);
         MDY_ViaUserForm($strDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $dteMySQLDate = strMoDaYr2MySQLDate($lMon, $lDay, $lYear);
         //         $uploadResults = $_SESSION[CS_NAMESPACE.'uploadResults'];
         $enumEntryType = $bImage ? CENUM_IMGDOC_ENTRY_IMAGE : CENUM_IMGDOC_ENTRY_PDF;
         $imageDoc->enumEntryType = $enumEntryType;
         $imageDoc->enumContextType = $enumContextType;
         $imageDoc->lForeignID = $lFID;
         $imageDoc->strCaptionTitle = trim($_POST['txtCaption']);
         $imageDoc->strDescription = trim($_POST['txtDescription']);
         $imageDoc->dteMysqlDocImage = $dteMySQLDate;
         $imageDoc->bProfile = $bProfile;
         // tags
         $this->setUserSelectedTagsFromPost($lImageDocID);
         $this->clsImgDoc->updateDocImageRec($lImageDocID);
         if ($bImage && $bProfile) {
             $this->clsImgDoc->setProfileFlag($lImageDocID, $enumContextType, $lFID);
         }
         $this->session->set_flashdata('msg', 'The ' . $strLabel . ' information was updated');
         redirectViaContextType($enumContextType, $lFID);
     }
 }
 function lSaveMultiRecViaPost($bNew, $lFID, &$lRecID, &$utable)
 {
     //---------------------------------------------------------------------
     // note: with the new personalized table gui (1/2014), single record
     // personalized table records go thru here also.
     //---------------------------------------------------------------------
     global $gbDateFormatUS;
     $bMultiEntry = $utable->bMultiEntry;
     // special case for client program tables: add additional default fields
     if ($utable->bCProg) {
         $strFP = $utable->strFieldPrefix;
         if ($utable->bEnrollment) {
             $strEStart = trim($_POST['txtEStart']);
             MDY_ViaUserForm($strEStart, $lMon, $lDay, $lYear, $gbDateFormatUS);
             $strEStartMysql = strMoDaYr2MySQLDate($lMon, $lDay, $lYear);
             $strEEnd = trim($_POST['txtEEnd']);
             if ($strEEnd == '') {
                 $strEEndMysql = 'NULL';
             } else {
                 MDY_ViaUserForm($strEEnd, $lMon, $lDay, $lYear, $gbDateFormatUS);
                 $strEEndMysql = strPrepStr(strMoDaYr2MySQLDate($lMon, $lDay, $lYear));
             }
             $strCProgFields = $strFP . '_dteStart = ' . strPrepStr($strEStartMysql) . ", \n" . $strFP . '_dteEnd   = ' . $strEEndMysql . ", \n" . $strFP . '_bCurrentlyEnrolled = ' . (@$_POST['chkEnrolled'] == 'true' ? '1' : '0') . "\n";
         } else {
             $strAttend = trim($_POST['txtADate']);
             MDY_ViaUserForm($strAttend, $lMon, $lDay, $lYear, $gbDateFormatUS);
             $strADateMysql = strMoDaYr2MySQLDate($lMon, $lDay, $lYear);
             if (isset($_POST['ddlDuration'])) {
                 $strDuration = (double) trim($_POST['ddlDuration']);
             } else {
                 $strDuration = '0';
             }
             $strCProgFields = $strFP . '_dteAttendance = ' . strPrepStr($strADateMysql) . ", \n" . $strFP . '_strCaseNotes  = ' . strPrepStr(trim($_POST['txtCaseNotes'])) . ", \n" . $strFP . '_dDuration     = ' . $strDuration . " \n";
             if ($bNew) {
                 $strCProgFields .= ', ' . $strFP . '_lEnrollID     = ' . $utable->lEnrollRecID . "\n";
             }
         }
     } else {
         $strCProgFields = '';
     }
     $this->lForeignID = $lFID;
     $this->lTableID = $lTableID = $utable->lKeyID;
     $this->userTables[0] =& $utable;
     $idx = 0;
     if (isset($utable->ufields)) {
         // special case for CProg tables w/only base fields
         foreach ($utable->ufields as $ufield) {
             $this->fields[$idx] = $vfield =& $ufield;
             $enumType = $ufield->enumFieldType;
             $strFN = $ufield->strFieldNameInternal;
             $vfield->varUserVal = null;
             switch ($enumType) {
                 case CS_FT_CHECKBOX:
                     $vfield->varUserVal = @$_POST[$strFN] == 'true';
                     break;
                 case CS_FT_DATE:
                     $vfield->varUserVal = trim($_POST[$strFN]);
                     if ($vfield->varUserVal == '') {
                         $vfield->varUserVal = ' null ';
                     } else {
                         MDY_ViaUserForm($vfield->varUserVal, $lMon, $lDay, $lYear, $gbDateFormatUS);
                         $vfield->varUserVal = ' "' . strMoDaYr2MySQLDate($lMon, $lDay, $lYear) . '" ';
                     }
                     break;
                 case CS_FT_TEXTLONG:
                 case CS_FT_TEXT255:
                 case CS_FT_TEXT80:
                 case CS_FT_TEXT20:
                     $vfield->varUserVal = trim($_POST[$strFN]);
                     break;
                 case CS_FT_CLIENTID:
                 case CS_FT_INTEGER:
                     $vfield->varUserVal = trim($_POST[$strFN]);
                     $this->stripCommas(trim($vfield->varUserVal));
                     $vfield->varUserVal = (int) $vfield->varUserVal;
                     break;
                 case CS_FT_HEADING:
                     break;
                 case CS_FT_CURRENCY:
                     $vfield->varUserVal = trim($_POST[$strFN]);
                     $this->stripCommas($vfield->varUserVal);
                     $vfield->varUserVal = number_format((double) $vfield->varUserVal, 2, '.', '');
                     break;
                 case CS_FT_DDL:
                     $vfield->varUserVal = (int) $_POST[$strFN];
                     if ($vfield->varUserVal <= 0) {
                         $vfield->varUserVal = ' null ';
                     }
                     break;
                 case CS_FT_DDLMULTI:
                 case CS_FT_LOG:
                     break;
                 default:
                     screamForHelp($enumType . ': invalid field type<br>error on line ' . __LINE__ . ',<br>file ' . __FILE__ . ',<br>function ' . __FUNCTION__);
                     break;
             }
             ++$idx;
         }
     }
     if ($bNew) {
         $lRecID = $this->insertMRRecord($lFID, $strCProgFields, $bMultiEntry);
     } else {
         $this->updateMRRecord($lRecID, $strCProgFields, $bMultiEntry);
     }
     return $lRecID;
 }
예제 #7
0
 public function cloneAttOpts($lCProgID, $lARecID)
 {
     //-------------------------------------------------------------------------
     //
     //-------------------------------------------------------------------------
     global $genumDateFormat, $gbDateFormatUS;
     $displayData = array();
     $displayData['js'] = '';
     $displayData['lCProgID'] = $lCProgID = (int) $lCProgID;
     $displayData['lARecID'] = $lARecID = (int) $lARecID;
     //-------------------------
     // models & helpers
     //-------------------------
     $this->load->model('admin/mpermissions', 'perms');
     $this->load->model('personalization/muser_fields', 'clsUF');
     $this->load->model('personalization/muser_schema', 'cUFSchema');
     $this->load->model('client_features/mcprograms', 'cprograms');
     $this->load->helper('dl_util/time_date');
     // for date verification
     $this->load->helper('dl_util/web_layout');
     $params = array('enumStyle' => 'terse', 'clsRpt');
     $this->load->library('generic_rpt', $params);
     //------------------------------------
     // load the check/uncheck support
     //------------------------------------
     $this->load->helper('js/set_check_boxes');
     $displayData['js'] = insertCheckSet();
     $this->load->helper('js/verify_check_set');
     $displayData['js'] .= verifyCheckSet();
     // load client program
     $this->cprograms->loadClientProgramsViaCPID($lCProgID);
     $displayData['cprog'] = $cprog =& $this->cprograms->cprogs[0];
     $strProg = $cprog->strProgramName;
     $lATableID = $cprog->lAttendanceTableID;
     $this->cprograms->loadBaseARecViaARecID($cprog, $lARecID, $lNumARecs, $arecs);
     $displayData['arec'] = $arec =& $arecs[0];
     $lClientID = $arec->lClientID;
     $lERecID = $arec->lEnrollID;
     //-------------------------
     // validation rules
     //-------------------------
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('txtADate', 'Attendance Date', 'trim|required' . '|callback_verifyDateValid');
     $this->form_validation->set_rules('chkSkipDups', 'Skip Duplicates', 'trim');
     // clients enrolled in this program - potential destinations of the clone
     $this->cprograms->clientsEnrolledViaProgID($lCProgID, $cprog, true, $lNumClients, $displayData['clients'], true);
     if ($lNumClients > 0) {
         foreach ($displayData['clients'] as $client) {
             $client->bSelected = false;
         }
     }
     if ($this->form_validation->run() == FALSE) {
         $displayData['formData'] = new stdClass();
         $this->load->library('generic_form');
         // first time displayed, no user data entry errors
         if (validation_errors() == '') {
             $displayData['bSkipDups'] = true;
             $displayData['formData']->txtADate = '';
         } else {
             setOnFormError($displayData);
             $displayData['bSkipDups'] = set_value('chkSkipDups') == 'true';
             $displayData['formData']->txtADate = set_value('txtADate');
             if (isset($_POST['chkClient'])) {
                 if ($lNumClients > 0) {
                     foreach ($displayData['clients'] as $client) {
                         $client->bSelected = in_array($client->lClientID, $_POST['chkClient']);
                     }
                 }
             }
         }
         //--------------------------
         // breadcrumbs
         //--------------------------
         $displayData['pageTitle'] = anchor('main/menu/client', 'Clients', 'class="breadcrumb"') . ' | ' . anchor('clients/client_record/view/' . $lClientID, 'Client Record', 'class="breadcrumb"') . ' | ' . anchor('admin/uf_multirecord_view/viewMRViaFID/' . $lATableID . '/' . $lClientID . '/' . $lERecID, 'Attendance: ' . htmlspecialchars($strProg), 'class="breadcrumb"') . ' | Clone Attendance Record';
         $displayData['title'] = CS_PROGNAME . ' | Client Program';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['mainTemplate'] = 'cprograms/arec_clone_view';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $cloneOpts = new stdClass();
         $strADate = trim($_POST['txtADate']);
         MDY_ViaUserForm($strADate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $cloneOpts->mdteAttendance = strMoDaYr2MySQLDate($lMon, $lDay, $lYear);
         $cloneOpts->bSkipDups = @$_POST['chkSkipDups'] == 'true';
         $cloneOpts->clients = array();
         $idx = 0;
         foreach ($_POST['chkClient'] as $strIDs) {
             $cloneOpts->clients[$idx] = new stdClass();
             $IDs = explode('_', $strIDs);
             $cloneOpts->clients[$idx]->lClientID = (int) $IDs[0];
             $cloneOpts->clients[$idx]->lEnrollID = (int) $IDs[1];
             ++$idx;
         }
         $cloneOpts->lATableID = $cprog->lAttendanceTableID;
         $cloneOpts->lARecID = $lARecID;
         $cloneOpts->lCProgID = $lCProgID;
         $this->load->model('personalization/muser_fields', 'clsUF');
         $this->load->model('personalization/muser_fields_create', 'clsUFC');
         $this->load->model('personalization/muser_clone', 'cUFClone');
         $this->cUFClone->cloneAttendance($cloneOpts);
         $this->session->set_flashdata('msg', 'The specified attendance record was cloned.');
         redirect('cprograms/cprog_dir/viewEnroll/' . $lCProgID . '/true');
     }
 }
예제 #8
0
 function addEditVol($lVolID = '0')
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     global $gbVolMgr, $gbDateFormatUS, $glChapterID, $glUserID;
     global $gbVolLogin;
     if ($gbVolLogin) {
         $this->load->model('admin/mpermissions', 'perms');
         $this->load->model('admin/muser_accts', 'cusers');
         if ($lVolID != $this->cusers->lVolIDViaUserID($glUserID)) {
             bTestForURLHack('forceFail');
             return;
         }
     } elseif (!bTestForURLHack('volMgr')) {
         return;
     }
     $this->load->helper('dl_util/verify_id');
     if ($lVolID != '0') {
         verifyID($glChapterID, $lVolID, 'volunteer ID');
     }
     $displayData = array();
     $displayData['js'] = '';
     $displayData['formData'] = new stdClass();
     $displayData['lVolID'] = $lVolID = (int) $lVolID;
     $displayData['bNew'] = $bNew = $lVolID <= 0;
     //------------------------------------------------
     // models, libraries and utilities
     //------------------------------------------------
     $this->load->model('vols/mvol', 'cVol');
     $this->load->model('admin/mpermissions', 'perms');
     $this->load->model('admin/muser_accts', 'cusers');
     $this->load->helper('dl_util/time_date');
     $this->load->helper('dl_util/web_layout');
     $this->load->library('util/dl_date_time', '', 'clsDateTime');
     // load volunteer record
     $this->cVol->loadVolRecsViaVolID($lVolID, true);
     $vRec =& $this->cVol->volRecs[0];
     // account ID
     if ($bNew) {
         $lAcctID = -1;
     } else {
         $lAcctID = $this->cusers->lUserIDViaUserName($vRec->strEmail);
     }
     // validation rules
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('txtFName', 'First Name', 'trim|required');
     $this->form_validation->set_rules('txtTitle', '', 'trim');
     $this->form_validation->set_rules('txtMName', '', 'trim');
     $this->form_validation->set_rules('txtLName', 'Last Name', 'trim|required');
     $this->form_validation->set_rules('txtPName', '', 'trim');
     $this->form_validation->set_rules('txtSal', '', 'trim');
     $this->form_validation->set_rules('txtAddr1', '', 'trim');
     $this->form_validation->set_rules('txtAddr2', '', 'trim');
     $this->form_validation->set_rules('txtCity', '', 'trim');
     $this->form_validation->set_rules('txtState', '', 'trim');
     $this->form_validation->set_rules('txtZip', '', 'trim');
     $this->form_validation->set_rules('txtCountry', '', 'trim');
     $this->form_validation->set_rules('txtNotes', '', 'trim');
     $this->form_validation->set_rules('txtPhone', '', 'trim');
     $this->form_validation->set_rules('txtCell', '', 'trim');
     //      $this->form_validation->set_rules('rdoGender',      '',  'trim');
     $this->form_validation->set_rules('txtBDate', '', 'trim|callback_peopleRecVerifyBDateValid' . '|callback_peopleRecVerifyBDatePast');
     $this->form_validation->set_rules('txtEmail', 'Email', 'trim|required|valid_email|callback_verifyUniqueAcct[' . $lAcctID . ']');
     $this->form_validation->set_rules('rdoACO', '', 'trim');
     $this->form_validation->set_rules('ddlAttrib', 'Attributed to');
     if ($bNew) {
         $this->form_validation->set_rules('txtPWord1', 'Password', 'trim|required');
         $this->form_validation->set_rules('txtPWord2', 'Password (again)', 'trim|required|callback_verifyPWordMatch');
     }
     if ($this->form_validation->run() == FALSE) {
         $displayData['js'] = '';
         $this->load->library('generic_form');
         $this->load->model('util/mlist_generic', 'clsList');
         $this->clsList->enumListType = CENUM_LISTTYPE_ATTRIB;
         if (validation_errors() == '') {
             if (!isset($vRec->mdteBirthDate)) {
                 $vRec->mdteBirthDate = null;
             }
             if (is_null($vRec->mdteBirthDate)) {
                 $displayData['formData']->txtBDate = '';
             } else {
                 $displayData['formData']->txtBDate = strNumericDateViaMysqlDate($vRec->mdteBirthDate, $gbDateFormatUS);
             }
             if ($bNew) {
                 $displayData['formData']->strBDay = $displayData['formData']->txtTitle = $displayData['formData']->txtFName = $displayData['formData']->txtMName = $displayData['formData']->txtLName = $displayData['formData']->txtPName = $displayData['formData']->txtSal = $displayData['formData']->txtNotes = $displayData['formData']->txtEmail = $displayData['formData']->txtCell = '';
                 //               $displayData['formData']->dteMysqlBirthDate = '';
                 $displayData['formData']->txtAddr1 = $displayData['formData']->txtAddr2 = $displayData['formData']->txtCity = $displayData['formData']->txtState = $displayData['formData']->txtZip = $displayData['formData']->txtCountry = $displayData['formData']->txtPhone = '';
                 $displayData['strAttribDDL'] = $this->clsList->strLoadListDDL($glChapterID, 'ddlAttrib', true, -1);
                 $displayData['formData']->txtPWord1 = $displayData['formData']->txtPWord2 = $displayData['formData']->txtAcct = '';
             } else {
                 $displayData['formData']->strBDay = htmlspecialchars($vRec->mdteBirthDate);
                 $displayData['formData']->txtTitle = htmlspecialchars($vRec->strTitle);
                 $displayData['formData']->txtFName = htmlspecialchars($vRec->strFName);
                 $displayData['formData']->txtMName = htmlspecialchars($vRec->strMName);
                 $displayData['formData']->txtLName = htmlspecialchars($vRec->strLName);
                 $displayData['formData']->txtPName = htmlspecialchars($vRec->strPreferred);
                 $displayData['formData']->txtNotes = htmlspecialchars($vRec->strNotes);
                 $displayData['formData']->txtEmail = htmlspecialchars($vRec->strEmail);
                 $displayData['formData']->txtCell = htmlspecialchars($vRec->strCell);
                 $displayData['formData']->txtPhone = htmlspecialchars($vRec->strPhone);
                 $displayData['formData']->txtAddr1 = htmlspecialchars($vRec->strAddr1);
                 $displayData['formData']->txtAddr2 = htmlspecialchars($vRec->strAddr2);
                 $displayData['formData']->txtCity = htmlspecialchars($vRec->strCity);
                 $displayData['formData']->txtState = htmlspecialchars($vRec->strState);
                 $displayData['formData']->txtZip = htmlspecialchars($vRec->strZip);
                 $displayData['formData']->txtCountry = htmlspecialchars($vRec->strCountry);
                 $displayData['strAttribDDL'] = $this->clsList->strLoadListDDL($glChapterID, 'ddlAttrib', true, $vRec->lAttributedTo);
             }
         } else {
             setOnFormError($displayData);
             $displayData['formData']->txtTitle = set_value('txtTitle');
             $displayData['formData']->txtFName = set_value('txtFName');
             $displayData['formData']->txtMName = set_value('txtMName');
             $displayData['formData']->txtLName = set_value('txtLName');
             $displayData['formData']->txtPName = set_value('txtPName');
             $displayData['formData']->txtSal = set_value('txtSal');
             $displayData['formData']->txtNotes = set_value('txtNotes');
             $displayData['formData']->txtAddr1 = set_value('txtAddr1');
             $displayData['formData']->txtAddr2 = set_value('txtAddr2');
             $displayData['formData']->txtCity = set_value('txtCity');
             $displayData['formData']->txtState = set_value('txtState');
             $displayData['formData']->txtZip = set_value('txtZip');
             $displayData['formData']->txtCountry = set_value('txtCountry');
             $displayData['formData']->txtEmail = set_value('txtEmail');
             $displayData['formData']->txtPhone = set_value('txtPhone');
             $displayData['formData']->txtCell = set_value('txtCell');
             //            $displayData['formData']->enumGender        = set_value('rdoGender');
             $displayData['formData']->txtBDate = set_value('txtBDate');
             $displayData['strAttribDDL'] = $this->clsList->strLoadListDDL($glChapterID, 'ddlAttrib', true, set_value('ddlAttrib'));
             $displayData['formData']->txtPWord1 = set_value('txtPWord1');
             $displayData['formData']->txtPWord2 = set_value('txtPWord2');
             $displayData['formData']->txtAcct = set_value('txtAcct');
         }
         //--------------------------
         // breadcrumbs
         //--------------------------
         $displayData['pageTitle'] = ($bNew ? 'Add New' : 'Update') . ' Volunteer Record';
         $displayData['title'] = CS_PROGNAME . ' | Volunteers';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['mainTemplate'] = 'hospice/vols/vol_add_edit_view';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $this->load->model('admin/mpermissions', 'perms');
         $this->load->model('admin/muser_accts', 'cusers');
         $this->load->helper('dl_util/util_db');
         $vRec->strTitle = trim($_POST['txtTitle']);
         $vRec->strFName = trim($_POST['txtFName']);
         $vRec->strMName = trim($_POST['txtMName']);
         $vRec->strLName = trim($_POST['txtLName']);
         $vRec->strPreferredName = trim($_POST['txtPName']);
         $vRec->strNotes = trim($_POST['txtNotes']);
         if ($vRec->strPreferredName == '') {
             $vRec->strPreferredName = $vRec->strFName;
         }
         $vRec->strAddr1 = trim($_POST['txtAddr1']);
         $vRec->strAddr2 = trim($_POST['txtAddr2']);
         $vRec->strCity = trim($_POST['txtCity']);
         $vRec->strState = trim($_POST['txtState']);
         $vRec->strZip = trim($_POST['txtZip']);
         $vRec->strCountry = trim($_POST['txtCountry']);
         $vRec->strEmail = trim($_POST['txtEmail']);
         $vRec->strPhone = trim($_POST['txtPhone']);
         $vRec->strCell = trim($_POST['txtCell']);
         //         $vRec->enumGender      = trim($_POST['rdoGender']);
         $lAttrib = (int) $_REQUEST['ddlAttrib'];
         if ($lAttrib <= 0) {
             $vRec->lAttributedTo = null;
         } else {
             $vRec->lAttributedTo = $lAttrib;
         }
         $strBDate = trim($_POST['txtBDate']);
         if ($strBDate == '') {
             $vRec->dteMysqlBirthDate = null;
         } else {
             MDY_ViaUserForm($strBDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
             $vRec->dteMysqlBirthDate = strMoDaYr2MySQLDate($lMon, $lDay, $lYear);
         }
         if ($bNew) {
             $lVolID = $this->cVol->lAddNewVolunteer();
             $this->addVolAcct($lVolID, $vRec);
         } else {
             $this->cVol->updateVolunteerRec($lVolID);
             $this->cusers->updateUserNameViaID($lAcctID, $vRec->strEmail);
         }
         $this->session->set_flashdata('msg', 'The volunteer record was ' . ($bNew ? 'added' : 'updated'));
         redirect('hospice/vols/vol_record/viewRec/' . $lVolID);
     }
 }
 public function addEditTestResults($lTestLogID, $lClientID, $lPPTestID)
 {
     //-------------------------------------------------------------------------
     //
     //-------------------------------------------------------------------------
     global $gbDateFormatUS;
     if (!bTestForURLHack('showClients')) {
         return;
     }
     $this->load->helper('dl_util/verify_id');
     verifyID($this, $lClientID, 'client ID');
     verifyID($this, $lPPTestID, 'pre/post test ID');
     $displayData = array();
     $displayData['js'] = '';
     $displayData['lTestLogID'] = $lTestLogID = (int) $lTestLogID;
     $displayData['lClientID'] = $lClientID = (int) $lClientID;
     $displayData['lPPTestID'] = $lPPTestID = (int) $lPPTestID;
     $bNew = $lTestLogID <= 0;
     //-------------------------
     // models & helpers
     //-------------------------
     $this->load->model('client_features/mcpre_post_tests', 'cpptests');
     $this->load->model('admin/mpermissions', 'perms');
     $this->load->helper('clients/link_client_features');
     $this->load->library('util/dl_date_time', '', 'clsDateTime');
     $this->load->helper('dl_util/time_date');
     // for date verification
     $this->load->model('clients/mclients', 'clsClients');
     $this->load->helper('dl_util/web_layout');
     $this->load->helper('clients/client');
     $this->load->helper('js/check_boxes_in_div');
     $params = array('enumStyle' => 'terse');
     $this->load->library('generic_rpt', $params);
     $displayData['js'] .= checkUncheckInDiv();
     /*      
     $zzzlPos = strrpos(__FILE__, '\\'); $zzzlLen=strlen(__FILE__); echo('<font class="debug">'.substr(__FILE__, strrpos(__FILE__, '\\',-(($zzzlLen-$zzzlPos)+1))) .': '.__LINE__
     .":\$displayData['js'] = ".htmlspecialchars($displayData['js'])." <br></font>\n");
     */
     //-------------------------------------
     // load the client info
     //-------------------------------------
     $this->clsClients->loadClientsViaClientID($lClientID);
     $displayData['client'] = $this->clsClients->clients[0];
     //-------------------------
     // load the pre/post test
     //-------------------------
     $this->cpptests->loadPPTestsViaPPTID($lPPTestID);
     $displayData['pptest'] = $pptest =& $this->cpptests->pptests[0];
     $displayData['lPPTestID'] = $lPPTestID = $pptest->lKeyID;
     //-------------------------
     // load the test log
     //-------------------------
     $this->cpptests->loadTestLogViaTestLogID($lTestLogID, $lNumTests, $testLogInfo);
     $testInfo =& $testLogInfo[0];
     $this->cpptests->loadClientScores($lTestLogID, $lPPTestID, $lNumQuest, $QandA);
     $displayData['lNumQuests'] = $lNumQuest;
     $displayData['QandA'] =& $QandA;
     //-------------------------------------
     // validation rules
     //-------------------------------------
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('txtPretestDate', 'Pre-Test Date', 'trim|required' . '|callback_verifyDateValid');
     $this->form_validation->set_rules('txtPosttestDate', 'Post-Test Date', 'trim|required' . '|callback_verifyDateValid|callback_verifyCBH');
     if ($this->form_validation->run() == FALSE) {
         $displayData['formData'] = new stdClass();
         $this->load->library('generic_form');
         // first time displayed, no user data entry errors
         if (validation_errors() == '') {
             if ($bNew) {
                 $displayData['txtPretestDate'] = $displayData['txtPosttestDate'] = '';
             } else {
                 $displayData['txtPretestDate'] = strNumericDateViaUTS($testInfo->dtePreTest, $gbDateFormatUS);
                 $displayData['txtPosttestDate'] = strNumericDateViaUTS($testInfo->dtePostTest, $gbDateFormatUS);
             }
         } else {
             setOnFormError($displayData);
             $displayData['txtPretestDate'] = set_value('txtPretestDate');
             $displayData['txtPosttestDate'] = set_value('txtPosttestDate');
             $this->loadQAs($QandA);
         }
         /*-------------------------------------
              load the client summary block
           -------------------------------------*/
         $this->load->model('img_docs/mimage_doc', 'clsImgDoc');
         $this->load->helper('img_docs/image_doc');
         $this->load->helper('img_docs/link_img_docs');
         $params = array('enumStyle' => 'terse');
         $this->load->library('generic_rpt', $params, 'generic_rpt');
         $displayData['clsRpt'] = $this->generic_rpt;
         $displayData['contextSummary'] = $this->clsClients->strClientHTMLSummary(0);
         //-------------------------------------
         // stripes
         //-------------------------------------
         $this->load->model('util/mbuild_on_ready', 'clsOnReady');
         $this->clsOnReady->addOnReadyTableStripes();
         $this->clsOnReady->closeOnReady();
         $displayData['js'] .= $this->clsOnReady->strOnReady;
         //-------------------------------------
         // breadcrumbs and page layout
         //-------------------------------------
         $displayData['pageTitle'] = anchor('main/menu/client', 'Clients', 'class="breadcrumb"') . ' | ' . anchor('clients/client_record/view/' . $lClientID, 'Client Record', 'class="breadcrumb"') . ' | Pre/Post Test';
         $displayData['title'] = CS_PROGNAME . ' | Clients';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['mainTemplate'] = 'cpre_post_tests/client_record_test_view';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $this->loadQAs($QandA);
         $strDate = trim($_POST['txtPretestDate']);
         MDY_ViaUserForm($strDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $testInfo->dtePreTest = strtotime($lMon . '/' . $lDay . '/' . $lYear);
         $strDate = trim($_POST['txtPosttestDate']);
         MDY_ViaUserForm($strDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $testInfo->dtePostTest = strtotime($lMon . '/' . $lDay . '/' . $lYear);
         //------------------------------------
         // update db tables and return
         //------------------------------------
         if ($bNew) {
             $testInfo->lClientID = $lClientID;
             $testInfo->lPrePostID = $lPPTestID;
             $lTestLogID = $this->cpptests->lAddTestLogEntry($testInfo);
             $this->session->set_flashdata('msg', 'New test results added');
         } else {
             $this->cpptests->updateTestLogEntry($lTestLogID, $testInfo);
             $this->session->set_flashdata('msg', 'Test results updated');
         }
         $this->cpptests->saveTestResults($lTestLogID, $QandA);
         redirect_Client($lClientID);
     }
 }
 function addEditItem($lICatID, $lIItemID)
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     global $gstrFormatDatePicker, $gclsChapterACO, $gbDateFormatUS;
     if (!bTestForURLHack('inventoryMgr')) {
         return;
     }
     $this->load->helper('dl_util/verify_id');
     verifyID($this, $lICatID, 'inventory cat ID');
     if ($lIItemID != '0') {
         verifyID($this, $lIItemID, 'inventory item ID');
     }
     $displayData = array();
     $displayData['js'] = '';
     $displayData['lICatID'] = $lICatID = (int) $lICatID;
     $displayData['lIItemID'] = $lIItemID = (int) $lIItemID;
     $displayData['bNew'] = $bNew = $lIItemID <= 0;
     //-------------------------
     // models & helpers
     //-------------------------
     $this->load->model('staff/inventory/minventory', 'cinv');
     $this->load->model('admin/madmin_aco', 'clsACO');
     $this->load->helper('dl_util/web_layout');
     $this->load->helper('staff/link_inventory');
     $this->load->helper('dl_util/time_date');
     // load the inventory category
     $this->cinv->loadSingleInventoryCategories($lICatID, $displayData['cat']);
     // load the inventory category breadcrumbs
     $displayData['strBreadCrumb'] = '';
     $this->cinv->icatBreadCrumbs($displayData['strBreadCrumb'], $lICatID);
     // load the inventory item
     $this->cinv->loadSingleInventoryItem($lIItemID, $lNumItems, $items);
     $item =& $items[0];
     if (is_null($item->lACOID)) {
         $item->lACOID = $gclsChapterACO->lKeyID;
     }
     //-------------------------
     // validation rules
     //-------------------------
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('txtItem', 'Item', 'trim|required');
     $this->form_validation->set_rules('txtRParty', 'Responsible Party', 'trim|required');
     $this->form_validation->set_rules('txtNotes', 'Description', 'trim');
     $this->form_validation->set_rules('txtSNa', 'Serial # (a)', 'trim');
     $this->form_validation->set_rules('txtSNb', 'Serial # (b)', 'trim');
     $this->form_validation->set_rules('txtLocation', 'Location', 'trim|required');
     $this->form_validation->set_rules('txtDateAcquired', 'Date Acquired', 'trim|required|callback_itemVerifyDateAcquiredValid');
     $this->form_validation->set_rules('txtEstValue', 'Estimated Value', 'trim|required|callback_stripCommas|numeric');
     $this->form_validation->set_rules('rdoACO', 'Accounting Country', 'trim|required');
     $this->form_validation->set_rules('chkAvailLoan', 'Available for Loan');
     if ($this->form_validation->run() == FALSE) {
         $displayData['formData'] = new stdClass();
         $this->load->library('generic_form');
         // first time displayed, no user data entry errors
         if (validation_errors() == '') {
             $displayData['formData']->txtItem = htmlspecialchars($item->strItemName);
             $displayData['formData']->txtNotes = htmlspecialchars($item->strDescription);
             $displayData['formData']->txtSNa = htmlspecialchars($item->strItemSNa);
             $displayData['formData']->txtSNb = htmlspecialchars($item->strItemSNb);
             $displayData['formData']->txtLocation = htmlspecialchars($item->strLocation);
             $displayData['formData']->txtRParty = htmlspecialchars($item->strRParty);
             $displayData['formData']->bAvailForLoan = $item->bAvailForLoan;
             if (is_null($item->dteObtained)) {
                 $displayData['formData']->txtDateAcquired = '';
             } else {
                 $displayData['formData']->txtDateAcquired = date($gstrFormatDatePicker, $item->dteObtained);
             }
             $displayData['formData']->txtEstValue = number_format($item->curEstValue, 2);
             $displayData['formData']->strACORadio = $this->clsACO->strACO_Radios($item->lACOID, 'rdoACO');
         } else {
             setOnFormError($displayData);
             $displayData['formData']->txtItem = set_value('txtItem');
             $displayData['formData']->txtNotes = set_value('txtNotes');
             $displayData['formData']->txtSNa = set_value('txtSNa');
             $displayData['formData']->txtSNb = set_value('txtSNb');
             $displayData['formData']->txtLocation = set_value('txtLocation');
             $displayData['formData']->txtDateAcquired = set_value('txtDateAcquired');
             $displayData['formData']->txtRParty = set_value('txtRParty');
             $displayData['formData']->txtEstValue = set_value('txtEstValue');
             $displayData['formData']->strACORadio = $this->clsACO->strACO_Radios($_POST['rdoACO'], 'rdoACO');
             $displayData['formData']->bAvailForLoan = set_value('chkAvailLoan') == 'TRUE';
         }
         //--------------------------
         // breadcrumbs
         //--------------------------
         $displayData['pageTitle'] = anchor('main/menu/more', 'More', 'class="breadcrumb"') . ' | ' . anchor('staff/inventory/icat/viewICats', 'Inventory Categories', 'class="breadcrumb"') . ' | ' . ($bNew ? 'Add New ' : 'Edit ') . 'Item';
         $displayData['title'] = CS_PROGNAME . ' | Inventory Management';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['mainTemplate'] = 'staff/inventory/iitems_add_edit_view';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $item->strItemName = trim($_POST['txtItem']);
         $item->strRParty = trim($_POST['txtRParty']);
         $item->lCategoryID = $lICatID;
         $item->strDescription = trim($_POST['txtNotes']);
         $item->strLocation = trim($_POST['txtLocation']);
         $item->strItemSNa = trim($_POST['txtSNa']);
         $item->strItemSNb = trim($_POST['txtSNb']);
         $item->lACOID = (int) trim($_POST['rdoACO']);
         $item->curEstValue = (double) trim($_POST['txtEstValue']);
         $item->bAvailForLoan = @$_POST['chkAvailLoan'] == 'TRUE';
         $strDate = trim($_POST['txtDateAcquired']);
         MDY_ViaUserForm($strDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $item->mdteObtained = strMoDaYr2MySQLDate($lMon, $lDay, $lYear);
         if ($bNew) {
             $lIItemID = $this->cinv->lAddNewIItem($item);
             $this->cinv->lAddItemHistoryRec($lIItemID, null, 'created');
             $this->session->set_flashdata('msg', 'Inventory item added');
         } else {
             $this->cinv->updateIItem($lIItemID, $item);
             $this->cinv->lAddItemHistoryRec($lIItemID, null, 'updated');
             $this->session->set_flashdata('msg', 'Inventory item updated');
         }
         redirect('staff/inventory/inventory_items/iitemRec/' . $lIItemID);
     }
 }
예제 #11
0
 function addEditPayment($lSponID, $lFPayerID, $lPayID)
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     global $gdteNow, $gclsChapterACO, $gbDateFormatUS, $gstrFormatDatePicker;
     if (!bTestForURLHack('showSponsorFinancials')) {
         return;
     }
     $this->load->helper('dl_util/verify_id');
     verifyID($this, $lSponID, 'sponsor ID');
     verifyID($this, $lFPayerID, 'people/business ID');
     if ($lPayID . '' != '0') {
         verifyID($this, $lPayID, 'sponsor payment ID');
     }
     $displayData = array();
     $displayData['formData'] = new stdClass();
     $displayData['lSponID'] = $lSponID = (int) $lSponID;
     $displayData['lFPayerID'] = $lFPayerID = (int) $lFPayerID;
     $displayData['lPayID'] = $lPayID = (int) $lPayID;
     $displayData['bNew'] = $bNew = $lPayID <= 0;
     //------------------------------------------------
     // libraries and utilities
     //------------------------------------------------
     $params = array('enumStyle' => 'terse');
     $this->load->library('generic_rpt', $params);
     $this->load->library('util/dl_date_time', '', 'clsDateTime');
     $this->load->model('sponsorship/msponsorship', 'clsSpon');
     $this->load->model('sponsorship/msponsor_charge_pay', 'clsSCP');
     $this->load->model('admin/madmin_aco', 'clsACO');
     $this->load->model('util/mlist_generic', 'clsList');
     $this->load->helper('dl_util/time_date');
     //      $this->load->helper ('dl_util/email_web');
     $this->load->model('people/mpeople', 'clsPeople');
     $bBizPayer = $this->clsPeople->bBizRec($lFPayerID);
     if ($bBizPayer) {
         $this->load->model('biz/mbiz', 'clsBiz');
         $this->clsBiz->lBID = $lFPayerID;
         $this->clsBiz->loadBasicBizInfo();
         $displayData['strPayer'] = strLinkView_BizRecord($lFPayerID, 'View business/organization record', true) . ' ' . str_pad($lFPayerID, 5, '0', STR_PAD_LEFT) . ' ' . $this->clsBiz->strSafeName;
     } else {
         $this->clsPeople->lPeopleID = $lFPayerID;
         $this->clsPeople->peopleInfoLight();
         $displayData['strPayer'] = strLinkView_PeopleRecord($lFPayerID, 'View people record', true) . ' ' . str_pad($lFPayerID, 5, '0', STR_PAD_LEFT) . ' ' . $this->clsPeople->strSafeName;
     }
     $this->clsSCP->loadPayRecordViaPayID($lPayID);
     $pRec =& $this->clsSCP->paymentRec[0];
     $this->clsSpon->sponsorInfoViaID($lSponID);
     if ($bNew) {
         $pRec->lACOID = $this->clsSpon->sponInfo[0]->lCommitACO;
         $pRec->curPaymentAmnt = 0.0;
         $pRec->dtePayment = $gdteNow;
     } else {
         //         if (!$this->clsSCP->bPaymentExists($lHoldPayID)){
         //            $this->session->set_flashdata('error', '<b>ERROR:</b> The payment ID '.htmlspecialchars($lHoldPayID).' is not valid.</font>');
         //            redirect('main/menu/home');
         //         }
     }
     //--------------------------
     // validation rules
     //--------------------------
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('txtAmount', 'Amount', 'trim|required|callback_stripCommas|numeric');
     $this->form_validation->set_rules('rdoACO', 'Accounting Country', 'trim|callback_verifyACOSet');
     $this->form_validation->set_rules('txtCheck', 'Check Number', 'trim');
     $this->form_validation->set_rules('ddlPayType', 'Payment Type', 'trim|callback_sponPayVerifyPayType');
     $this->form_validation->set_rules('txtPayDate', 'Date of Payment', 'trim|required|callback_sponPaymentAddEditDateValid');
     if ($this->form_validation->run() == FALSE) {
         $displayData['clsACO'] =& $this->clsACO;
         $this->load->library('generic_form');
         $this->load->helper('dl_util/web_layout');
         $displayData['clsForm'] =& $this->generic_form;
         if (validation_errors() == '') {
             if ($bNew) {
                 $displayData['strPayDate'] = date($gstrFormatDatePicker, $gdteNow);
                 $displayData['lPayACO'] = $this->clsSpon->sponInfo[0]->lCommitACO;
                 $displayData['strAmount'] = '0.00';
                 $displayData['strCheckNum'] = '';
             } else {
                 $displayData['strPayDate'] = date($gstrFormatDatePicker, $pRec->dtePayment);
                 $displayData['lPayACO'] = $pRec->lACOID;
                 $displayData['strAmount'] = number_format($pRec->curPaymentAmnt, 2);
                 $displayData['strCheckNum'] = $pRec->strCheckNum;
             }
             $this->clsList->enumListType = CENUM_LISTTYPE_GIFTPAYTYPE;
             $displayData['formData']->strDDLPayType = $this->clsList->strLoadListDDL('ddlPayType', true, $pRec->lPaymentType);
         } else {
             setOnFormError($displayData);
             $displayData['strPayDate'] = set_value('txtPayDate');
             $displayData['lPayACO'] = set_value('rdoACO');
             $displayData['strAmount'] = set_value('txtAmount');
             $displayData['strCheckNum'] = set_value('txtCheck');
             $this->clsList->enumListType = CENUM_LISTTYPE_GIFTPAYTYPE;
             $displayData['formData']->strDDLPayType = $this->clsList->strLoadListDDL('ddlPayType', true, set_value('ddlPayType'));
         }
         //------------------------------------------------
         // breadcrumbs / page setup
         //------------------------------------------------
         $displayData['contextSummary'] = $this->clsSpon->sponsorshipHTMLSummary();
         $displayData['mainTemplate'] = array('sponsorship/payment_add_edit_view');
         $displayData['pageTitle'] = anchor('main/menu/sponsorship', 'Sponsorship', 'class="breadcrumb"') . ' | ' . anchor('sponsors/view_spon_rec/viewViaSponID/' . $lSponID, 'Sponsorship Record', 'class="breadcrumb"') . ' | ' . ($bNew ? 'Add ' : 'Update ') . 'Sponsorship Payment';
         $displayData['title'] = CS_PROGNAME . ' | Sponsorship';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $this->load->helper('dl_util/util_db');
         $this->load->model('donations/maccts_camps', 'clsAC');
         $strChargeDate = trim($_POST['txtPayDate']);
         MDY_ViaUserForm($strChargeDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $pRec->dtePayment = strtotime($lMon . '/' . $lDay . '/' . $lYear);
         $pRec->curPaymentAmnt = (double) trim($_POST['txtAmount']);
         $pRec->lACOID = (int) $_POST['rdoACO'];
         $pRec->lSponsorshipID = $lSponID;
         $pRec->lDonorID = $lFPayerID;
         $pRec->lPaymentType = (int) $_POST['ddlPayType'];
         $pRec->strCheckNum = trim($_POST['txtCheck']);
         if ($bNew) {
             $lPayID = $this->clsSCP->lAddNewPayment();
             $this->session->set_flashdata('msg', 'Sponsorship payment was added');
         } else {
             $this->clsSCP->updatePayment($lPayID);
             $this->session->set_flashdata('msg', 'Sponsorship payment was updated');
         }
         redirect_SponsorshipPaymentRec($lPayID);
     }
 }
예제 #12
0
 function addEditGift($lGiftID, $lFID = 0)
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     global $gdteNow, $gclsChapterACO, $gbDateFormatUS;
     if (!bTestForURLHack('dataEntryGifts')) {
         return '';
     }
     $this->load->helper('dl_util/verify_id');
     if ($lGiftID . '' != '0') {
         verifyID($this, $lGiftID, 'donation ID');
     }
     if ($lFID . '' != '0') {
         verifyID($this, $lFID, 'people/business ID');
     }
     $displayData = array();
     $displayData['lGiftID'] = $lGiftID = (int) $lGiftID;
     $displayData['lFID'] = $lFID = (int) $lFID;
     $displayData['js'] = '';
     $displayData['bNew'] = $bNew = $lGiftID <= 0;
     if ($bNew) {
         if (!bTestForURLHack('dataEntryGifts')) {
             return;
         }
     } else {
         if (!bTestForURLHack('editGifts')) {
             return;
         }
     }
     // load models
     $params = array('enumStyle' => 'terse');
     $this->load->library('generic_rpt', $params);
     $this->load->library('js_build/ajax_support');
     $this->load->helper('dl_util/web_layout');
     //      $this->load->helper ('dl_util/email_web');
     $this->load->helper('dl_util/time_date');
     $this->load->model('admin/madmin_aco', 'clsACO');
     $this->load->model('util/mlist_generic', 'clsList');
     $this->load->model('people/mpeople', 'clsPeople');
     $this->load->model('biz/mbiz', 'clsBiz');
     $this->load->model('donations/maccts_camps', 'clsAC');
     $this->load->model('donations/mdonations', 'clsGift');
     $this->clsGift->loadGiftViaGID($lGiftID);
     $gifts =& $this->clsGift->gifts[0];
     if ($bNew) {
         $bPeople = !$this->clsPeople->bBizRec($lFID);
         $gifts->ga_lKeyID = -1;
         $gifts->gi_dteDonation = $gdteNow;
         //         $gifts->lACOID           = $gclsChapterACO->lKeyID;
         $gifts->gi_curAmnt = 0.0;
         if ($bPeople) {
             $this->clsPeople->loadPeopleViaPIDs($lFID, false, false);
             $gifts->lACOID = $this->clsPeople->people[0]->lACO;
         } else {
             $this->clsBiz->loadBizRecsViaBID($lFID);
             $gifts->lACOID = $this->clsBiz->bizRecs[0]->lACO;
         }
     } else {
         $lFID = $this->clsGift->gifts[0]->gi_lForeignID;
         $bPeople = !$this->clsGift->gifts[0]->pe_bBiz;
     }
     $this->clsAC->loadAccounts(false, false, null);
     // validation rules
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('txtAmount', 'Donation Amount', 'trim|required|callback_stripCommas|numeric');
     $this->form_validation->set_rules('rdoACO', 'Accounting Country', 'trim|required');
     $this->form_validation->set_rules('ddlAccount', 'Account', 'trim|required|callback_giftVerifyAccountValid');
     $this->form_validation->set_rules('ddlCamps', 'Campaign', 'trim|callback_giftVerifyCampValid');
     $this->form_validation->set_rules('ddlInKind', 'In-Kind', 'trim');
     $this->form_validation->set_rules('ddlPayType', 'Payment Type', 'trim|callback_giftVerifyPayType');
     $this->form_validation->set_rules('ddlGiftCat', 'Gift Category', 'trim');
     $this->form_validation->set_rules('ddlAttrib', 'Attributed To', 'trim');
     $this->form_validation->set_rules('txtCheck', 'Check #', 'trim');
     $this->form_validation->set_rules('txtDDate', 'Donation date', 'trim|required|callback_giftVerifyDDateValid');
     $this->form_validation->set_rules('txtNotes', 'Notes', 'trim');
     if ($this->form_validation->run() == FALSE) {
         $displayData['formData'] = new stdClass();
         $lSponID = $this->clsGift->gifts[0]->gi_lSponsorID;
         $displayData['bSponPayment'] = $bSponPayment = !is_null($lSponID);
         //-------------------------------
         // Acct/Camp and ajax interface
         //-------------------------------
         if ($bSponPayment) {
             redirect('sponsors/payments/addEditPayment/' . $lSponID . '/' . $lFID . '/' . $lGiftID);
         } else {
             $clsAjax = new ajax_support();
             $displayData['js'] .= $clsAjax->showCreateXmlHTTPObject();
             $displayData['js'] .= $clsAjax->showCampaignLoadViaAcctID();
         }
         $this->load->library('generic_form');
         $displayData['js'] .= strDatePicker('datepickerFuture', true);
         $displayData['formData']->strStaffCFName = $gifts->strStaffCFName;
         $displayData['formData']->strStaffCLName = $gifts->strStaffCLName;
         $displayData['formData']->dteOrigin = $gifts->dteOrigin;
         $displayData['formData']->strStaffLFName = $gifts->strStaffLFName;
         $displayData['formData']->strStaffLLName = $gifts->strStaffLLName;
         $displayData['formData']->dteLastUpdate = $gifts->dteLastUpdate;
         // first time displayed, no user data entry errors
         if (validation_errors() == '') {
             $this->clsAC->loadCampaigns(false, true, $gifts->ga_lKeyID, false, null);
             $displayData['formData']->txtAmount = number_format($gifts->gi_curAmnt, 2);
             $displayData['formData']->strACORadio = $this->clsACO->strACO_Radios($gifts->lACOID, 'rdoACO');
             if (!$bSponPayment) {
                 $displayData['formData']->strDDLAccts = $this->clsAC->strDDLAccts($gifts->ga_lKeyID, true, true);
                 $displayData['formData']->strDDLCamps = $this->clsAC->strDDLCampaigns($gifts->gc_lKeyID, false);
             }
             $displayData['formData']->strNotes = htmlspecialchars($gifts->strNotes);
             $displayData['formData']->strCheckNum = htmlspecialchars($gifts->gi_strCheckNum);
             if (is_null($gifts->mdteDonation)) {
                 $displayData['formData']->txtDDate = '';
             } else {
                 $displayData['formData']->txtDDate = strNumericDateViaMysqlDate($gifts->mdteDonation, $gbDateFormatUS);
             }
             $this->clsList->strBlankDDLName = 'n/a';
             $this->clsList->enumListType = CENUM_LISTTYPE_INKIND;
             $displayData['formData']->strDDLGIK = $this->clsList->strLoadListDDL('ddlInKind', true, $gifts->gi_lGIK_ID);
             $this->clsList->strBlankDDLName = '&nbsp;';
             $this->clsList->enumListType = CENUM_LISTTYPE_GIFTPAYTYPE;
             $displayData['formData']->strDDLPayType = $this->clsList->strLoadListDDL('ddlPayType', true, $gifts->gi_lPaymentType);
             $this->clsList->enumListType = CENUM_LISTTYPE_MAJORGIFTCAT;
             $displayData['formData']->strDDLMajGiftType = $this->clsList->strLoadListDDL('ddlGiftCat', true, $gifts->gi_lMajorGiftCat);
             $this->clsList->enumListType = CENUM_LISTTYPE_ATTRIB;
             $displayData['formData']->strDDLAttrib = $this->clsList->strLoadListDDL('ddlAttrib', true, $gifts->gi_lAttributedTo);
         } else {
             setOnFormError($displayData);
             $this->clsAC->loadCampaigns(false, true, set_value('ddlAccount'), false, null);
             $displayData['formData']->txtDDate = set_value('txtDDate');
             $displayData['formData']->txtAmount = set_value('txtAmount');
             $displayData['formData']->strACORadio = $this->clsACO->strACO_Radios(set_value('rdoACO'), 'rdoACO');
             if (!$bSponPayment) {
                 $displayData['formData']->strDDLAccts = $this->clsAC->strDDLAccts(set_value('ddlAccount'), true, true);
                 $displayData['formData']->strDDLCamps = $this->clsAC->strDDLCampaigns(set_value('ddlCamps'), false);
             }
             $displayData['formData']->strNotes = set_value('txtNotes');
             $displayData['formData']->strCheckNum = set_value('txtCheck');
             $this->clsList->strBlankDDLName = 'n/a';
             $this->clsList->enumListType = CENUM_LISTTYPE_INKIND;
             $displayData['formData']->strDDLGIK = $this->clsList->strLoadListDDL('ddlInKind', true, set_value('ddlInKind'));
             $this->clsList->strBlankDDLName = '&nbsp;';
             $this->clsList->enumListType = CENUM_LISTTYPE_GIFTPAYTYPE;
             $displayData['formData']->strDDLPayType = $this->clsList->strLoadListDDL('ddlPayType', true, set_value('ddlPayType'));
             $this->clsList->enumListType = CENUM_LISTTYPE_MAJORGIFTCAT;
             $displayData['formData']->strDDLMajGiftType = $this->clsList->strLoadListDDL('ddlGiftCat', true, set_value('ddlGiftCat'));
             $this->clsList->enumListType = CENUM_LISTTYPE_ATTRIB;
             $displayData['formData']->strDDLAttrib = $this->clsList->strLoadListDDL('ddlAttrib', true, set_value('ddlAttrib'));
         }
         $displayData['gift'] =& $gifts;
         //--------------------------
         // breadcrumbs
         //--------------------------
         if ($bPeople) {
             $displayData['pageTitle'] = anchor('main/menu/people', 'People', 'class="breadcrumb"') . ' | ' . anchor('people/people_record/view/' . $lFID, 'Record', 'class="breadcrumb"') . ' | ' . ($bNew ? 'Add New' : 'Edit') . ' Donation Record';
             $displayData['mainTemplate'] = array('donations/gift_add_edit_view');
             $this->clsPeople->loadPeopleViaPIDs($lFID, false, false);
             $displayData['contextSummary'] = $this->clsPeople->peopleHTMLSummary(0);
         } else {
             $displayData['pageTitle'] = anchor('main/menu/biz', 'Businesses/Organizations', 'class="breadcrumb"') . ' | ' . anchor('biz/biz_record/view/' . $lFID, 'Record', 'class="breadcrumb"') . ' | ' . ($bNew ? 'Add New' : 'Edit') . ' Donation Record';
             $displayData['mainTemplate'] = array('donations/gift_add_edit_view');
             $this->clsBiz->loadBizRecsViaBID($lFID);
             $displayData['contextSummary'] = $this->clsBiz->strBizHTMLSummary(0);
         }
         $displayData['title'] = CS_PROGNAME . ' | Donations';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $this->load->model('personalization/muser_fields', 'clsUF');
         $this->load->model('personalization/muser_fields_create', 'clsUFC');
         $this->load->model('admin/mpermissions', 'perms');
         $this->load->helper('dl_util/util_db');
         $gifts->gi_curAmnt = (double) trim($_POST['txtAmount']);
         $gifts->gc_lKeyID = trim((int) $_POST['ddlCamps']);
         $gifts->gi_lSponsorID = null;
         $gifts->lACOID = (int) trim($_POST['rdoACO']);
         $gifts->strNotes = trim($_POST['txtNotes']);
         $gifts->gi_strCheckNum = trim($_POST['txtCheck']);
         $gifts->gi_lAttributedTo = (int) trim($_POST['ddlAttrib']);
         $gifts->gi_lGIK_ID = (int) trim($_POST['ddlInKind']);
         $gifts->gi_lPaymentType = (int) trim($_POST['ddlPayType']);
         $gifts->gi_lMajorGiftCat = (int) trim($_POST['ddlGiftCat']);
         $gifts->gi_lForeignID = $lFID;
         if ($gifts->gi_lAttributedTo <= 0) {
             $gifts->gi_lAttributedTo = null;
         }
         if ($gifts->gi_lGIK_ID <= 0) {
             $gifts->gi_lGIK_ID = null;
         }
         $gifts->gi_bGIK = !is_null($gifts->gi_lGIK_ID);
         $strDate = trim($_POST['txtDDate']);
         MDY_ViaUserForm($strDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $gifts->mdteDonation = strMoDaYr2MySQLDate($lMon, $lDay, $lYear);
         //------------------------------------
         // update db tables and return
         //------------------------------------
         if ($bNew) {
             $lGiftID = $this->clsGift->lAddNewGiftRecord();
             $this->session->set_flashdata('msg', 'Gift added');
         } else {
             $this->clsGift->updateGiftRecord();
             $this->session->set_flashdata('msg', 'Gift record updated');
         }
         redirect('donations/gift_record/view/' . $lGiftID);
     }
 }
예제 #13
0
 function addEditAuctionItem($lPackageID, $lItemID, $lDonorID = null)
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     global $gbDateFormatUS;
     if (!bTestForURLHack('showAuctions')) {
         return;
     }
     $this->load->helper('dl_util/verify_id');
     verifyID($this, $lPackageID, 'package ID');
     if ($lItemID . '' != '0') {
         verifyID($this, $lItemID, 'auction item ID');
     }
     if (!is_null($lDonorID)) {
         verifyID($this, $lDonorID, 'people/business ID');
     }
     $displayData = array();
     $displayData['js'] = '';
     $displayData['formData'] = new stdClass();
     //-------------------------
     // models & helpers
     //-------------------------
     $this->load->helper('dl_util/time_date');
     $this->load->model('auctions/mauctions', 'cAuction');
     $this->load->model('auctions/mpackages', 'cPackages');
     $this->load->model('auctions/mitems', 'cItems');
     $this->load->model('admin/madmin_aco', 'clsACO');
     $this->load->model('img_docs/mimage_doc', 'clsImgDoc');
     $this->load->helper('dl_util/web_layout');
     $this->load->helper('dl_util/link_auction');
     $this->load->helper('auctions/auction');
     $params = array('enumStyle' => 'terse');
     $this->load->library('generic_rpt', $params);
     $this->load->library('generic_form');
     //-----------------------------------------
     // load package and associated auction
     //-----------------------------------------
     setPackageContext($lPackageID, $lAuctionID, $displayData);
     $displayData['lAuctionID'] = $lAuctionID = (int) $lAuctionID;
     $displayData['lPackageID'] = $lPackageID = (int) $lPackageID;
     $displayData['lItemID'] = $lItemID = (int) $lItemID;
     $displayData['lDonorID'] = $lDonorID;
     $displayData['bNew'] = $bNew = $lItemID <= 0;
     $this->cItems->loadItemViaItemID($lItemID);
     $displayData['item'] = $item =& $this->cItems->items[0];
     //-------------------------
     // validation rules
     //-------------------------
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('txtItemName', 'Item Name', 'trim|required');
     $this->form_validation->set_rules('txtDonorAck', 'Donor Acknowledgement', 'trim|required');
     $this->form_validation->set_rules('txtPublicNotes', 'Public Notes', 'trim');
     $this->form_validation->set_rules('txtPrivateNotes', 'Private Notes', 'trim');
     $this->form_validation->set_rules('txtODate', 'Date Item Obtained', 'trim|required|callback_obtainedDateValid');
     $this->form_validation->set_rules('txtEstValue', 'Estimated Value', 'trim|required|callback_stripCommas|numeric|callback_minPackageAmnt[0.01]');
     $this->form_validation->set_rules('txtOutOfPocket', 'Out of Pocket Expenses', 'trim|required|callback_stripCommas|numeric|callback_minPackageAmnt[0.00]');
     if ($this->form_validation->run() == FALSE) {
         $displayData['js'] .= strDatePicker('datepickerFuture', true);
         if (is_null($lDonorID)) {
             $lHoldDonorID = $item->lItemDonorID;
             $bBiz = $item->itemDonor_bBiz;
             $displayData['formData']->txtItemDonor = $item->itemDonor_safeName;
             $strTempAck = 'Anonymous';
         } else {
             $lHoldDonorID = $lDonorID;
             $this->load->model('people/mpeople', 'clsPeople');
             $this->clsPeople->peopleBizInfoViaPID($lDonorID, $pbInfo);
             $bBiz = $pbInfo->bBiz;
             $displayData['formData']->txtItemDonor = $strTempAck = $pbInfo->strSafeNameFL;
         }
         if ($bBiz) {
             $displayData['formData']->txtItemDonor .= ' <i>(business)</i>' . strLinkView_BizRecord($lHoldDonorID, 'View business record', true);
         } else {
             $displayData['formData']->txtItemDonor .= ' ' . strLinkView_PeopleRecord($lHoldDonorID, 'View people record', true);
         }
         // first time displayed, no user data entry errors
         if (validation_errors() == '') {
             if ($bNew) {
                 $displayData['formData']->txtODate = '';
             } else {
                 $displayData['formData']->txtODate = strNumericDateViaMysqlDate($item->mdteItemObtained, $gbDateFormatUS);
             }
             $displayData['formData']->txtItemName = htmlspecialchars($item->strItemName);
             if ($item->strDonorAck . '' == '') {
                 $displayData['formData']->txtDonorAck = $strTempAck;
             } else {
                 $displayData['formData']->txtDonorAck = htmlspecialchars($item->strDonorAck);
             }
             $displayData['formData']->txtPublicNotes = htmlspecialchars($item->strDescription);
             $displayData['formData']->txtPrivateNotes = htmlspecialchars($item->strInternalNotes);
             $displayData['formData']->txtEstValue = number_format($item->curEstAmnt, 2);
             $displayData['formData']->txtOutOfPocket = number_format($item->curOutOfPocket, 2);
         } else {
             setOnFormError($displayData);
             $displayData['formData']->txtItemName = set_value('txtItemName');
             $displayData['formData']->txtDonorAck = set_value('txtDonorAck');
             $displayData['formData']->txtPublicNotes = set_value('txtPublicNotes');
             $displayData['formData']->txtPrivateNotes = set_value('txtPrivateNotes');
             $displayData['formData']->txtODate = set_value('txtODate');
             $displayData['formData']->txtEstValue = set_value('txtEstValue');
             $displayData['formData']->txtOutOfPocket = set_value('txtOutOfPocket');
         }
         //--------------------------
         // breadcrumbs
         //--------------------------
         $displayData['pageTitle'] = GSTR_AUCTIONTOPLEVEL . ' | ' . anchor('auctions/auctions/auctionEvents', 'Silent Auctions', 'class="breadcrumb"') . ' | ' . anchor('auctions/auctions/viewAuctionRecord/' . $lAuctionID, 'Auction', 'class="breadcrumb"') . ' | ' . anchor('auctions/packages/viewPackageRecord/' . $lPackageID, 'Auction Package', 'class="breadcrumb"') . ' | ' . ($bNew ? 'Add New' : 'Edit') . '  Item';
         $displayData['title'] = CS_PROGNAME . ' | Silent Auctions';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['mainTemplate'] = 'auctions/add_edit_item_view';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $strDate = trim($_POST['txtODate']);
         MDY_ViaUserForm($strDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $item->mdteItemObtained = strMoDaYr2MySQLDate($lMon, $lDay, $lYear);
         $item->lPackageID = $lPackageID;
         $item->strItemName = trim($_POST['txtItemName']);
         $item->strDonorAck = trim($_POST['txtDonorAck']);
         $item->strDescription = trim($_POST['txtPublicNotes']);
         $item->strInternalNotes = trim($_POST['txtPrivateNotes']);
         $item->curEstAmnt = (double) trim($_POST['txtEstValue']);
         $item->curOutOfPocket = (double) trim($_POST['txtOutOfPocket']);
         //------------------------------------
         // update db tables and return
         //------------------------------------
         if ($bNew) {
             $lItemID = $this->cItems->addNewItem($lDonorID, $lPackageID);
             $this->session->set_flashdata('msg', 'Auction item record added');
         } else {
             $this->cItems->updateItem($lItemID);
             $this->session->set_flashdata('msg', 'Auction item record updated');
         }
         redirect('auctions/items/viewItemRecord/' . $lItemID);
     }
 }
 function addEditAuction($lAuctionID)
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     global $gdteNow, $gbDateFormatUS, $gclsChapterACO;
     if (!bTestForURLHack('showAuctions')) {
         return;
     }
     $this->load->helper('dl_util/verify_id');
     if ($lAuctionID . '' != '0') {
         verifyID($this, $lAuctionID, 'auction ID');
     }
     $displayData = array();
     $displayData['formData'] = new stdClass();
     $displayData['lAuctionID'] = $lAuctionID = (int) $lAuctionID;
     $displayData['bNew'] = $bNew = $lAuctionID <= 0;
     $displayData['js'] = '';
     //-------------------------
     // models & helpers
     //-------------------------
     $this->load->helper('dl_util/time_date');
     $this->load->helper('dl_util/link_auction');
     $this->load->helper('auctions/auction');
     $this->load->model('auctions/mauctions', 'cAuction');
     $this->load->model('auctions/mbid_sheets', 'cBidSheets');
     $this->load->model('admin/madmin_aco', 'clsACO');
     $this->load->model('donations/maccts_camps', 'clsAC');
     $this->load->helper('dl_util/web_layout');
     $this->load->library('js_build/ajax_support');
     $this->cAuction->loadAuctionByAucID($lAuctionID);
     $auction = $this->cAuction->auctions[0];
     //-------------------------
     // validation rules
     //-------------------------
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('txtAuctionName', 'Auction Name', 'trim|required|' . 'callback_verifyUniqueAuction[' . $lAuctionID . ']');
     $this->form_validation->set_rules('txtContact', 'Contact', 'trim');
     $this->form_validation->set_rules('txtDescription', 'Description', 'trim');
     $this->form_validation->set_rules('txtLocation', 'Location', 'trim');
     $this->form_validation->set_rules('txtEmail', 'Email', 'trim');
     $this->form_validation->set_rules('txtPhone', 'Phone', 'trim');
     $this->form_validation->set_rules('rdoACO', 'Accounting Country', 'trim');
     $this->form_validation->set_rules('ddlDefBS', 'Default Bid Sheet', 'trim');
     $this->form_validation->set_rules('txtADate', 'Auction Date', 'trim|required|callback_auctionDateValid');
     $this->form_validation->set_rules('ddlAccount', 'Account', 'trim|required|callback_auctionVerifyAccountValid');
     $this->form_validation->set_rules('ddlCamps', 'Campaign', 'trim|callback_auctionVerifyCampValid');
     if ($this->form_validation->run() == FALSE) {
         $displayData['formData'] = new stdClass();
         $this->load->library('generic_form');
         $displayData['js'] .= strDatePicker('datepickerFuture', true);
         $this->clsAC->loadAccounts(false, false, null);
         $clsAjax = new ajax_support();
         $displayData['js'] .= $clsAjax->showCreateXmlHTTPObject();
         $displayData['js'] .= $clsAjax->showCampaignLoadViaAcctID();
         // first time displayed, no user data entry errors
         if (validation_errors() == '') {
             //echo(__FILE__.' '.__LINE__.'<br>'."\n"); die;
             if ($bNew) {
                 $auction->lACOID = $gclsChapterACO->lKeyID;
                 $displayData['formData']->txtADate = '';
                 $auction->lAccountID = -1;
                 $displayData['lNumBidSheets'] = 0;
             } else {
                 $displayData['ddlDefBidSheet'] = $this->cBidSheets->strBidSheetListDDL($auction->lKeyID, $auction->lBidsheetID, 'ddlDefBS', true, $displayData['lNumBidSheets']);
                 $displayData['formData']->txtADate = strNumericDateViaMysqlDate($auction->mdteAuction, $gbDateFormatUS);
             }
             $this->clsAC->loadCampaigns(false, true, $auction->lAccountID, false, null);
             $displayData['formData']->strDDLAccts = $this->clsAC->strDDLAccts($auction->lAccountID, true, true);
             $displayData['formData']->strDDLCamps = $this->clsAC->strDDLCampaigns($auction->lCampaignID, false);
             $displayData['formData']->txtAuctionName = htmlspecialchars($auction->strAuctionName);
             $displayData['formData']->txtDescription = htmlspecialchars($auction->strDescription);
             $displayData['formData']->txtLocation = htmlspecialchars($auction->strLocation);
             $displayData['formData']->txtContact = htmlspecialchars($auction->strContact);
             $displayData['formData']->txtEmail = htmlspecialchars($auction->strEmail);
             $displayData['formData']->txtPhone = htmlspecialchars($auction->strPhone);
             $displayData['formData']->strACORadio = $this->clsACO->strACO_Radios($auction->lACOID, 'rdoACO');
         } else {
             setOnFormError($displayData);
             $displayData['formData']->txtAuctionName = set_value('txtAuctionName');
             $displayData['formData']->txtDescription = set_value('txtDescription');
             $displayData['formData']->txtLocation = set_value('txtLocation');
             $displayData['formData']->txtContact = set_value('txtContact');
             $displayData['formData']->txtEmail = set_value('txtEmail');
             $displayData['formData']->txtPhone = set_value('txtPhone');
             $displayData['formData']->txtADate = set_value('txtADate');
             $displayData['formData']->strACORadio = $this->clsACO->strACO_Radios(set_value('rdoACO'), 'rdoACO');
             if ($bNew) {
                 $displayData['lNumBidSheets'] = 0;
             } else {
                 $displayData['ddlDefBidSheet'] = $this->cBidSheets->strBidSheetListDDL($auction->lKeyID, set_value('ddlDefBS'), 'ddlDefBS', true, $displayData['lNumBidSheets']);
             }
             $this->clsAC->loadCampaigns(false, true, set_value('ddlAccount'), false, null);
             $displayData['formData']->strDDLAccts = $this->clsAC->strDDLAccts(set_value('ddlAccount'), true, true);
             $displayData['formData']->strDDLCamps = $this->clsAC->strDDLCampaigns(set_value('ddlCamps'), false);
         }
         //--------------------------
         // breadcrumbs
         //--------------------------
         $displayData['pageTitle'] = GSTR_AUCTIONTOPLEVEL . ' | ' . anchor('auctions/auctions/auctionEvents', 'Silent Auctions', 'class="breadcrumb"') . ' | ' . ($bNew ? 'Add New' : 'Edit') . '  Auction';
         $displayData['title'] = CS_PROGNAME . ' | Silent Auctions';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['mainTemplate'] = 'auctions/add_edit_auction_view';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $strDate = trim($_POST['txtADate']);
         MDY_ViaUserForm($strDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $auction->mdteAuction = strMoDaYr2MySQLDate($lMon, $lDay, $lYear);
         $auction->strAuctionName = trim($_POST['txtAuctionName']);
         $auction->strDescription = trim($_POST['txtDescription']);
         $auction->lACOID = trim($_POST['txtADate']);
         $auction->strLocation = trim($_POST['txtLocation']);
         $auction->strContact = trim($_POST['txtContact']);
         $auction->strPhone = trim($_POST['txtPhone']);
         $auction->strEmail = trim($_POST['txtEmail']);
         $auction->lACOID = (int) trim($_POST['rdoACO']);
         $auction->lCampaignID = (int) trim($_POST['ddlCamps']);
         $auction->lDefaultBidSheet = (int) trim(@$_POST['ddlDefBS']);
         if ($auction->lDefaultBidSheet <= 0) {
             $auction->lDefaultBidSheet = null;
         }
         //------------------------------------
         // update db tables and return
         //------------------------------------
         if ($bNew) {
             $lAuctionID = $this->cAuction->addNewAuction();
             $this->session->set_flashdata('msg', 'Auction record added');
         } else {
             $this->cAuction->updateAuction($lAuctionID);
             $this->session->set_flashdata('msg', 'Auction record updated');
         }
         redirect('auctions/auctions/viewAuctionRecord/' . $lAuctionID);
     }
 }
예제 #15
0
 function addEditPRec($lPatientID)
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     global $gbVolMgr, $glChapterID, $gstrFormatDatePicker, $gbDateFormatUS;
     if (!bTestForURLHack('volMgr')) {
         return;
     }
     $this->load->helper('dl_util/verify_id');
     if ((int) $lPatientID > 0) {
         verifyID($glChapterID, $lPatientID, 'patient ID');
     }
     $displayData = array();
     $displayData['lPatientID'] = $lPatientID = (int) $lPatientID;
     $displayData['bNew'] = $bNew = $lPatientID <= 0;
     $displayData['js'] = '';
     $displayData['formData'] = new stdClass();
     //------------------------------------------------
     // models, libraries and utilities
     //------------------------------------------------
     $this->load->model('patients/mpatients', 'cPatients');
     $this->load->helper('dl_util/web_layout');
     $this->load->helper('dl_util/time_date');
     $this->load->library('util/dl_date_time', '', 'clsDateTime');
     // load patient record
     $this->cPatients->loadPatientsViaPatientID($lPatientID);
     $displayData['patient'] = $pRec =& $this->cPatients->patients[0];
     // validation rules
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('txtTitle', '<b>Title</b>', 'trim');
     $this->form_validation->set_rules('txtFName', '<b>First Name</b>', 'trim|required');
     $this->form_validation->set_rules('txtMName', '<b>Middle Name</b>', 'trim');
     $this->form_validation->set_rules('txtLName', '<b>Last Name</b>', 'trim|required');
     $this->form_validation->set_rules('txtBDate', '<b>Date of Birth</b>', 'trim|required|callback_patientRecVerifyBDateValid' . '|callback_patientRecVerifyBDatePast');
     $this->form_validation->set_rules('txtPhone', 'Phone', 'trim');
     $this->form_validation->set_rules('txtCell', 'Cell', 'trim');
     $this->form_validation->set_rules('txtEmail', '<b>EMail</b>', 'trim|valid_email');
     $this->form_validation->set_rules('txtAddr1', '', 'trim');
     $this->form_validation->set_rules('txtAddr2', '', 'trim');
     $this->form_validation->set_rules('txtCity', '', 'trim');
     $this->form_validation->set_rules('txtState', '', 'trim');
     $this->form_validation->set_rules('txtZip', '', 'trim');
     $this->form_validation->set_rules('txtCountry', '', 'trim');
     $this->form_validation->set_rules('txtNotes', '', 'trim');
     if ($this->form_validation->run() == FALSE) {
         $this->load->library('generic_form');
         if (validation_errors() == '') {
             if (is_null($pRec->dteBirth)) {
                 $displayData['formData']->txtBDate = '';
             } else {
                 $displayData['formData']->txtBDate = strNumericDateViaMysqlDate($pRec->dteBirth, $gbDateFormatUS);
             }
             if ($bNew) {
                 $displayData['formData']->txtTitle = $displayData['formData']->txtFName = $displayData['formData']->txtMName = $displayData['formData']->txtLName = '';
                 $displayData['formData']->txtPhone = $displayData['formData']->txtCell = $displayData['formData']->txtEmail = '';
                 $displayData['formData']->txtAddr1 = $displayData['formData']->txtAddr2 = $displayData['formData']->txtCity = $displayData['formData']->txtState = $displayData['formData']->txtZip = $displayData['formData']->txtCountry = '';
                 $displayData['formData']->txtNotes = '';
             } else {
                 $displayData['formData']->txtTitle = htmlspecialchars($pRec->strTitle);
                 $displayData['formData']->txtFName = htmlspecialchars($pRec->strFName);
                 $displayData['formData']->txtMName = htmlspecialchars($pRec->strMName);
                 $displayData['formData']->txtLName = htmlspecialchars($pRec->strLName);
                 $displayData['formData']->txtPhone = htmlspecialchars($pRec->strPhone);
                 $displayData['formData']->txtCell = htmlspecialchars($pRec->strCell);
                 $displayData['formData']->txtEmail = htmlspecialchars($pRec->strEmail);
                 $displayData['formData']->txtAddr1 = htmlspecialchars($pRec->strAddr1);
                 $displayData['formData']->txtAddr2 = htmlspecialchars($pRec->strAddr2);
                 $displayData['formData']->txtCity = htmlspecialchars($pRec->strCity);
                 $displayData['formData']->txtState = htmlspecialchars($pRec->strState);
                 $displayData['formData']->txtZip = htmlspecialchars($pRec->strZip);
                 $displayData['formData']->txtCountry = htmlspecialchars($pRec->strCountry);
                 $displayData['formData']->txtNotes = htmlspecialchars($pRec->strBio);
             }
         } else {
             setOnFormError($displayData);
             $displayData['formData']->txtTitle = set_value('txtTitle');
             $displayData['formData']->txtFName = set_value('txtFName');
             $displayData['formData']->txtMName = set_value('txtMName');
             $displayData['formData']->txtLName = set_value('txtLName');
             $displayData['formData']->txtBDate = set_value('txtBDate');
             $displayData['formData']->txtPhone = set_value('txtPhone');
             $displayData['formData']->txtCell = set_value('txtCell');
             $displayData['formData']->txtEmail = set_value('txtEmail');
             $displayData['formData']->txtAddr1 = set_value('txtAddr1');
             $displayData['formData']->txtAddr2 = set_value('txtAddr2');
             $displayData['formData']->txtCity = set_value('txtCity');
             $displayData['formData']->txtState = set_value('txtState');
             $displayData['formData']->txtZip = set_value('txtZip');
             $displayData['formData']->txtCountry = set_value('txtCountry');
             $displayData['formData']->txtNotes = set_value('txtNotes');
         }
         //--------------------------
         // breadcrumbs
         //--------------------------
         $params = array('enumStyle' => 'terse');
         $this->load->library('generic_rpt', $params, 'generic_rpt');
         $displayData['pageTitle'] = ' Patient Record';
         $displayData['title'] = CS_PROGNAME . ' | Patient';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['mainTemplate'] = 'hospice/patients/patient_add_edit_view';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $strBDate = trim($_POST['txtBDate']);
         MDY_ViaUserForm($strBDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $pRec->dteBirth = strMoDaYr2MySQLDate($lMon, $lDay, $lYear);
         $pRec->strTitle = $_POST['txtTitle'];
         $pRec->strFName = $_POST['txtFName'];
         $pRec->strMName = $_POST['txtMName'];
         $pRec->strLName = $_POST['txtLName'];
         $pRec->strAddr1 = $_POST['txtAddr1'];
         $pRec->strAddr2 = $_POST['txtAddr2'];
         $pRec->strCity = $_POST['txtCity'];
         $pRec->strState = $_POST['txtState'];
         $pRec->strCountry = $_POST['txtCountry'];
         $pRec->strZip = $_POST['txtZip'];
         $pRec->strPhone = $_POST['txtPhone'];
         $pRec->strCell = $_POST['txtCell'];
         $pRec->strEmail = $_POST['txtEmail'];
         $pRec->strBio = $_POST['txtNotes'];
         if ($bNew) {
             $lPatientID = $this->cPatients->lAddNewPatient($pRec);
             $this->session->set_flashdata('msg', 'The patient record was added.');
         } else {
             $this->cPatients->updatePatient($lPatientID, $pRec);
             $this->session->set_flashdata('msg', 'The patient record was updated.');
         }
         redirect('hospice/patients/patient_rec/viewRec/' . $lPatientID);
     }
 }
 function lProcessBatch()
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     global $gdteNow, $gbDateFormatUS;
     if (!bTestForURLHack('showSponsorFinancials')) {
         return;
     }
     $lNumProcessed = 0;
     if (!isset($_REQUEST['txtAmount'])) {
         return 0;
     }
     // load payment record template
     $this->clsSCP->loadPayRecordViaPayID(-1);
     $payRec =& $this->clsSCP->paymentRec[0];
     foreach ($_REQUEST['txtAmount'] as $lSponID => $txtAmount) {
         if ($this->validation->requiresVerification[$lSponID]) {
             $txtAmount = $this->stripCommas(trim($txtAmount));
             $lPayTypeID = (int) $_REQUEST['ddlPayType'][$lSponID];
             $lAOCID = (int) $_REQUEST['hdnAOCID'][$lSponID];
             $lFID = (int) $_REQUEST['hdnFID'][$lSponID];
             $sngAmount = number_format((double) $txtAmount, 2, '.', '');
             $txtPayDate = trim($_POST['txtPayDate' . $lSponID]);
             $payRec->lDonorID = $lFID;
             $payRec->lSponsorshipID = $lSponID;
             $payRec->curPaymentAmnt = $sngAmount;
             $payRec->strCheckNum = substr(trim($_REQUEST['txtCheck'][$lSponID]), 0, 255);
             $payRec->lPaymentType = $lPayTypeID;
             $payRec->lACOID = $lAOCID;
             MDY_ViaUserForm($txtPayDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
             $payRec->dtePayment = mktime(0, 0, 0, $lMon, $lDay, $lYear);
             $this->clsSCP->lAddNewPayment();
             ++$lNumProcessed;
         }
     }
     return $lNumProcessed;
 }
 function addEditStatusEntry($lClientID, $lStatusID = 0)
 {
     //--------------------------------------------------------------------------
     //
     //--------------------------------------------------------------------------
     global $gdteNow, $gbDateFormatUS, $gstrFormatDatePicker;
     if (!bTestForURLHack('showClients')) {
         return;
     }
     $this->load->helper('dl_util/verify_id');
     verifyIDsViaType($this, CENUM_CONTEXT_CLIENT, $lClientID, true);
     if ($lStatusID . '' != '0') {
         verifyID($this, $lStatusID, 'status entry ID');
     }
     $displayData = array();
     $displayData['lClientID'] = $lClientID = (int) $lClientID;
     $displayData['lStatusID'] = $lStatusID = (int) $lStatusID;
     $displayData['bNew'] = $bNew = $lStatusID <= 0;
     $this->load->helper('dl_util/time_date');
     $this->load->helper('dl_util/web_layout');
     //-------------------------------------
     // load the client info
     //-------------------------------------
     $this->load->library('util/dl_date_time', '', 'clsDateTime');
     $this->load->model('clients/mclients', 'clsClients');
     $this->clsClients->loadClientsViaClientID($lClientID);
     $displayData['client'] = $client = $this->clsClients->clients[0];
     //-------------------------------------
     // load single client status record
     //-------------------------------------
     $this->load->model('clients/mclient_status', 'clsClientStat');
     $this->clsClientStat->lClientID = $lClientID;
     $this->clsClientStat->fullStatusHistory(true, $lStatusID);
     $displayData['clsEntry'] = $clsEntry = $this->clsClientStat->clientStatus[0];
     $displayData['statCatID'] = $statCatID = $client->lStatusCatID;
     // status category of this client
     //-------------------------------------
     // validation rules
     //-------------------------------------
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('ddlStatus', 'Status Entry', 'trim|callback_clientStatEntryDDL');
     $this->form_validation->set_rules('txtDate', 'Status date', 'trim|required|callback_clientStatVerifyDateValid' . '|callback_clientStatVerifyDatePast');
     $this->form_validation->set_rules('txtNotes', 'Notes', 'trim');
     $this->form_validation->set_rules('chkPacket', 'Packet Notes');
     if ($this->form_validation->run() == FALSE) {
         $this->load->library('generic_form');
         if (validation_errors() == '') {
             $displayData['statDDL'] = $this->clsClientStat->strClientStatEntriesDDL($statCatID, true, $clsEntry->lStatusID, true);
             if ($bNew) {
                 $displayData['txtDate'] = date($gstrFormatDatePicker, $gdteNow);
             } else {
                 $displayData['txtDate'] = date($gstrFormatDatePicker, $clsEntry->dteStatus);
             }
             $displayData['txtNotes'] = $clsEntry->strStatusTxt;
             $displayData['bPacketStatus'] = $clsEntry->bIncludeNotesInPacket;
         } else {
             setOnFormError($displayData);
             $displayData['statDDL'] = $this->clsClientStat->strClientStatEntriesDDL($statCatID, true, set_value('ddlStatus'), true);
             $displayData['txtDate'] = set_value('txtDate');
             $displayData['txtNotes'] = set_value('txtNotes');
             $displayData['bPacketStatus'] = set_value('chkPacket') == 'TRUE';
         }
         /*-------------------------------------
              load the client summary block
           -------------------------------------*/
         $this->load->model('img_docs/mimage_doc', 'clsImgDoc');
         $this->load->helper('img_docs/image_doc');
         $params = array('enumStyle' => 'terse');
         $this->load->library('generic_rpt', $params, 'generic_rpt');
         $displayData['clsRpt'] = $this->generic_rpt;
         $displayData['contextSummary'] = $this->clsClients->strClientHTMLSummary(0);
         //-------------------------------------
         // breadcrumbs and page layout
         //-------------------------------------
         $displayData['pageTitle'] = anchor('main/menu/client', 'Clients', 'class="breadcrumb"') . ' | ' . anchor('clients/client_record/view/' . $lClientID, 'Client Record', 'class="breadcrumb"') . ' | ' . anchor('clients/client_rec_stat/viewStatusHistory/' . $lClientID, 'Status History', 'class="breadcrumb"') . ' | ' . ($bNew ? 'Add ' : 'Edit ') . 'Status';
         $displayData['title'] = CS_PROGNAME . ' | Client Status';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['mainTemplate'] = 'client/status_add_edit_view';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $clsEntry->lStatusID = (int) $_POST['ddlStatus'];
         $clsEntry->bIncludeNotesInPacket = @$_POST['chkPacket'] == 'TRUE';
         MDY_ViaUserForm(trim($_POST['txtDate']), $lMon, $lDay, $lYear, $gbDateFormatUS);
         $clsEntry->dteStatus = strtotime($lMon . '/' . $lDay . '/' . $lYear);
         $clsEntry->strStatusTxt = trim($_POST['txtNotes']);
         if ($bNew) {
             $clsEntry->lClientID = $lClientID;
             $this->clsClientStat->lInsertClientStatus();
             $this->session->set_flashdata('msg', 'A client status entry was added');
         } else {
             $clsEntry->lKeyID = $lStatusID;
             $this->clsClientStat->updateClientStatus();
             $this->session->set_flashdata('msg', 'The client status entry was updated');
         }
         redirect('clients/client_rec_stat/viewStatusHistory/' . $client->lKeyID);
     }
 }
예제 #18
0
 function term_selected($lReportID, $strField, $lTermID = 0)
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     global $glUserID, $gbDateFormatUS;
     $this->load->helper('dl_util/verify_id');
     verifyID($this, $lReportID, 'custom report ID');
     verifyIDsViaType($this, CENUM_CONTEXT_CUSTOMREPORTTERM, $lTermID, true);
     $displayData = array();
     $displayData['lReportID'] = $lReportID = (int) $lReportID;
     $displayData['lTermID'] = $lTermID = (int) $lTermID;
     $displayData['bNew'] = $bNew = $lTermID <= 0;
     $displayData['strField'] = $strField = trim($strField);
     //-------------------------
     // models & helpers
     //-------------------------
     $this->load->helper('reports/creport_util');
     $this->load->helper('creports/link_creports');
     $this->load->helper('dl_util/special_ddl');
     $this->load->helper('dl_util/web_layout');
     $this->load->helper('dl_util/context');
     $this->load->helper('reports/search');
     $this->load->helper('dl_util/time_date');
     $this->load->model('admin/madmin_aco');
     $this->load->model('personalization/muser_schema', 'cUFSchema');
     $this->load->model('personalization/muser_fields', 'clsUF');
     $this->load->model('admin/mpermissions', 'perms');
     $this->load->model('creports/mcreports', 'clsCReports');
     $this->load->model('creports/mcrpt_search_terms', 'crptTerms');
     $this->load->library('generic_form');
     $params = array('enumStyle' => 'terse');
     $this->load->library('generic_rpt', $params);
     //------------------------------------------------
     // load report
     //------------------------------------------------
     $this->clsCReports->loadReportViaID($lReportID, false);
     $displayData['report'] = $report =& $this->clsCReports->reports[0];
     $enumRptType = $report->enumRptType;
     $displayData['contextSummary'] = $this->clsCReports->strCReportHTMLSummary();
     $tables = $this->clsCReports->loadTableStructures($enumRptType);
     $this->clsCReports->findFieldInTables($strField, $tables, $lTableIDX, $lFieldIDX);
     $table =& $tables[$lTableIDX];
     $displayData['lFieldID'] = $lFieldID = $table->fields[$lFieldIDX]->lFieldID;
     $displayData['lTableID'] = $table->lTableID;
     $displayData['lTableIDX'] = $lTableIDX;
     $displayData['lFieldIDX'] = $lFieldIDX;
     //-----------------------
     // search expression
     //-----------------------
     $this->crptTerms->loadSearchTermViaTermID($lTermID);
     $displayData['term'] = $term =& $this->crptTerms->terms[0];
     $displayData['field'] = $field =& $tables[$lTableIDX]->fields[$lFieldIDX];
     // special case for currency for new search terms
     if (is_null($term->lKeyID) && $field->enumType == CS_FT_CURRENCY) {
         $displayData['term']->lCurrencyACO = $field->lCurrencyACO;
         $displayData['term']->ACO = clone $field->ACO;
     }
     if ($table->lTableID > 0) {
         $displayData['tableName'] = '[' . $table->strAttachLabel . '] [' . htmlspecialchars($table->name) . ']';
     } else {
         $displayData['tableName'] = '[' . $table->name . ']';
     }
     $this->crptTerms->loadFieldTermOpts($lReportID, $term, $field);
     //-------------------------
     // validation rules
     //-------------------------
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->setRulesViaFieldType($field->enumType);
     if ($this->form_validation->run() == FALSE) {
         if (validation_errors() == '') {
             $term->strCompVal = htmlspecialchars($term->strCompVal);
         } else {
             setOnFormError($displayData);
             $this->loadSearchCriteriaViaType($term, $field->enumType);
         }
         //--------------------------
         // breadcrumbs
         //--------------------------
         $displayData['pageTitle'] = anchor('main/menu/reports', 'Reports', 'class="breadcrumb"') . ' | ' . anchor('creports/custom_directory/view/' . $glUserID, 'Custom Report Directory', 'class="breadcrumb"') . ' | ' . anchor('creports/custom_directory/viewRec/' . $lReportID, 'Custom Report', 'class="breadcrumb"') . ' | ' . ($bNew ? 'Add New ' : 'Edit ') . 'Search Expression';
         $displayData['title'] = CS_PROGNAME . ' | Reports';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['mainTemplate'] = 'creports/search_expression_add_edit_view.php';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $this->load->helper('dl_util/util_db');
         if ($bNew) {
             $term->lReportID = $lReportID;
             $term->lTableID = (int) $_POST['lTableID'];
             $term->lFieldID = (int) $_POST['lFieldID'];
             $term->strFieldID = $_POST['internalFieldID'];
             $term->lNumRParen = 0;
             $term->lNumLParen = 0;
             $term->lSortIDX = $this->crptTerms->lMaxSortIDXViaReport($lReportID) + 1;
         } else {
         }
         $this->loadSearchCriteriaViaType($term, $field->enumType);
         if ($field->enumType == CS_FT_DATE) {
             MDY_ViaUserForm($term->strDteCompVal, $lMon, $lDay, $lYear, $gbDateFormatUS);
             $term->mdteCompVal = strMoDaYr2MySQLDate($lMon, $lDay, $lYear);
         }
         if ($bNew) {
             $lTermID = $this->crptTerms->lAddNewSearchTerm();
         } else {
             $this->crptTerms->updateSearchTerm($lTermID);
         }
         $this->session->set_flashdata('msg', 'The search term was ' . ($bNew ? 'added' : 'updated') . '.');
         redirect('creports/custom_directory/viewRec/' . $lReportID);
     }
 }
예제 #19
0
 function addEditVolTraining($lTrainingID, $lVolID)
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     global $glVolID, $gbVolMgr, $gbDateFormatUS, $glChapterID;
     $this->load->helper('dl_util/verify_id');
     verifyID($glChapterID, $lVolID, 'volunteer ID');
     if ((int) $lTrainingID > 0) {
         verifyID($glChapterID, $lTrainingID, 'vol training ID');
     }
     $displayData = array();
     $displayData['formData'] = new stdClass();
     $displayData['lTrainingID'] = $lTrainingID = (int) $lTrainingID;
     $displayData['lVolID'] = $lVolID = (int) $lVolID;
     $displayData['bNew'] = $bNew = $lTrainingID <= 0;
     //-------------------------------------
     // models / helpers / libraries
     //-------------------------------------
     $this->load->model('vols/mvol', 'clsVol');
     $this->load->model('vols/mvol_training', 'cvt');
     $this->load->model('util/mlist_generic', 'clsList');
     $this->load->helper('dl_util/time_date');
     // for date verification
     $this->load->helper('hospice/link_hospice');
     $this->load->helper('hospice/patient_visit');
     $params = array('enumStyle' => 'terse');
     $this->load->library('generic_rpt', $params);
     $this->load->helper('dl_util/web_layout');
     //--------------------------
     // load training record
     //--------------------------
     $this->cvt->loadVolTrainingViaTID($lTrainingID, $lNumTraining, $training);
     $train =& $training[0];
     $this->clsVol->loadVolRecsViaVolID($lVolID, true);
     $displayData['volRec'] = $volRec =& $this->clsVol->volRecs[0];
     //-------------------------
     // validation rules
     //-------------------------
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('ddlDuration', 'Duration', 'trim|callback_vtVerifyDuration');
     $this->form_validation->set_rules('ddlTraining', 'Training', 'trim|callback_vtVerifyType');
     $this->form_validation->set_rules('ddlTrainingBy', 'Conducted By', 'trim|callback_vtVerifyTrainingBy');
     $this->form_validation->set_rules('txtDate', 'Date of Training', 'trim|required' . '|callback_verifyDateValid');
     $this->form_validation->set_rules('txtNotes', 'Notes', 'trim');
     if ($this->form_validation->run() == FALSE) {
         //         $this->clsVol->loadVolRecsViaVolID($lVolID, true);
         $displayData['contextSummary'] = $this->clsVol->volHTMLSummary(0);
         $displayData['volRec'] =& $this->clsVol->volRecs[0];
         $displayData['formData'] = new stdClass();
         $this->load->library('generic_form');
         // first time displayed, no user data entry errors
         if (validation_errors() == '') {
             if (is_null($train->dteTraining)) {
                 $displayData['formData']->txtDate = '';
             } else {
                 $displayData['formData']->txtDate = strNumericDateViaMysqlDate($train->mysqlDteTrain, $gbDateFormatUS);
             }
             $displayData['formData']->strNotes = htmlspecialchars($train->strNotes);
             $displayData['formData']->ddlDuration = pvisit\strDurationDDL($train->lDuration, true, 'ddlDuration', 'dur');
             // training type generic list
             $this->clsList->strBlankDDLName = '&nbsp;';
             $this->clsList->enumListType = CENUM_LISTTYPE_VOLTRAINING;
             $displayData['formData']->strTrainingType = $this->clsList->strLoadListDDL($glChapterID, 'ddlTraining', true, $train->lTrainingID);
             // training conducted by generic list
             $this->clsList->enumListType = CENUM_LISTTYPE_VOLTRAININGBY;
             $displayData['formData']->strTrainingBy = $this->clsList->strLoadListDDL($glChapterID, 'ddlTrainingBy', true, $train->lTrainingByID);
         } else {
             setOnFormError($displayData);
             $displayData['formData']->txtDate = set_value('txtDate');
             $displayData['formData']->strNotes = set_value('txtNotes');
             $displayData['formData']->ddlDuration = pvisit\strDurationDDL(set_value('ddlDuration'), true, 'ddlDuration', 'dur');
             // training type generic list
             $this->clsList->strBlankDDLName = '&nbsp;';
             $this->clsList->enumListType = CENUM_LISTTYPE_VOLTRAINING;
             $displayData['formData']->strTrainingType = $this->clsList->strLoadListDDL($glChapterID, 'ddlTraining', true, set_value('ddlTraining'));
             // training conducted by generic list
             $this->clsList->enumListType = CENUM_LISTTYPE_VOLTRAININGBY;
             $displayData['formData']->strTrainingBy = $this->clsList->strLoadListDDL($glChapterID, 'ddlTrainingBy', true, set_value('ddlTrainingBy'));
         }
         //--------------------------
         // breadcrumbs
         //--------------------------
         $displayData['pageTitle'] = 'Log Volunteer Training';
         $displayData['title'] = CS_PROGNAME . ' | Volunteers';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['mainTemplate'] = 'hospice/vols/training_add_edit_view';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $train->lVolID = $lVolID;
         $train->strNotes = trim($_POST['txtNotes']);
         $train->lTrainingID = (int) trim($_POST['ddlTraining']);
         $train->lTrainingByID = (int) trim($_POST['ddlTrainingBy']);
         $train->lDuration = (int) trim($_POST['ddlDuration']);
         $strDate = trim($_POST['txtDate']);
         MDY_ViaUserForm($strDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $train->mysqlDteTrain = strMoDaYr2MySQLDate($lMon, $lDay, $lYear);
         //------------------------------------
         // update db tables and return
         //------------------------------------
         if ($bNew) {
             $lTrainingID = $this->cvt->lAddVolTraining($training[0]);
             $this->session->set_flashdata('msg', 'Volunteer training was recorded for ' . $volRec->strSafeNameFL . '.');
         } else {
             $this->cvt->updateVolTraining($lTrainingID, $training[0]);
             $this->session->set_flashdata('msg', 'Training record updated');
         }
         redirect('hospice/vols/vol_training/volTrainingLog/' . $lVolID);
         //         redirect('hospice/vols/vol_directory/view/false/'.strtoupper(substr($volRec->strLName, 0, 1)));
     }
 }
예제 #20
0
 public function loadFormRecur()
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     global $gbDateFormatUS;
     $this->lRecurCnt = (int) $_REQUEST['ddlRecur'];
     $this->enumRecurGroup = $_REQUEST['rdoRecur'];
     $strStartDate = trim($_POST['txtStart']);
     MDY_ViaUserForm($strStartDate, $this->lStartMon, $this->lStartDay, $this->lStartYear, $gbDateFormatUS);
     /*
     $zzzlPos = strrpos(__FILE__, '\\'); $zzzlLen=strlen(__FILE__); echo('<font class="debug">'.substr(__FILE__, strrpos(__FILE__, '\\',-(($zzzlLen-$zzzlPos)+1))) .': '.__LINE__
     .":\$strStartDate = $strStartDate <br></font>\n");
     $zzzlPos = strrpos(__FILE__, '\\'); $zzzlLen=strlen(__FILE__); echo('<font class="debug">'.substr(__FILE__, strrpos(__FILE__, '\\',-(($zzzlLen-$zzzlPos)+1))) .': '.__LINE__
     .":\$this->lStartMon = $this->lStartMon <br></font>\n");
     $zzzlPos = strrpos(__FILE__, '\\'); $zzzlLen=strlen(__FILE__); echo('<font class="debug">'.substr(__FILE__, strrpos(__FILE__, '\\',-(($zzzlLen-$zzzlPos)+1))) .': '.__LINE__
     .":\$this->lStartDay = $this->lStartDay <br></font>\n");
     $zzzlPos = strrpos(__FILE__, '\\'); $zzzlLen=strlen(__FILE__); echo('<font class="debug">'.substr(__FILE__, strrpos(__FILE__, '\\',-(($zzzlLen-$zzzlPos)+1))) .': '.__LINE__
     .":\$this->lStartYear = $this->lStartYear <br></font>\n");
     die;
     */
     $this->dteStart = strtotime($this->lStartMon . '/' . $this->lStartDay . '/' . $this->lStartYear);
     $this->bDaySelected = $this->bWeekSet = $this->bSetCnt = array();
     switch ($this->enumRecurGroup) {
         case 'annual':
             break;
         case 'daily':
             $this->bWeekSet[1] = true;
             $this->bWeekSet[2] = true;
             $this->bWeekSet[3] = true;
             $this->bWeekSet[4] = true;
             $this->bWeekSet[5] = true;
             $this->bWeekdaysOnly = @$_REQUEST['chkWeekDaysOnly'] == 'TRUE';
             if ($this->bWeekdaysOnly) {
                 $this->bWeekSet[0] = false;
                 $this->bWeekSet[6] = false;
             } else {
                 $this->bWeekSet[0] = true;
                 $this->bWeekSet[6] = true;
             }
             break;
         case 'weekly':
             $this->bWeekSet[0] = @$_REQUEST['chkWkSun'] == 'TRUE';
             $this->bWeekSet[1] = @$_REQUEST['chkWkMon'] == 'TRUE';
             $this->bWeekSet[2] = @$_REQUEST['chkWkTue'] == 'TRUE';
             $this->bWeekSet[3] = @$_REQUEST['chkWkWed'] == 'TRUE';
             $this->bWeekSet[4] = @$_REQUEST['chkWkThu'] == 'TRUE';
             $this->bWeekSet[5] = @$_REQUEST['chkWkFri'] == 'TRUE';
             $this->bWeekSet[6] = @$_REQUEST['chkWkSat'] == 'TRUE';
             break;
         case 'monthly':
             $this->enumFixedLoose = $_REQUEST['rdoFixedLoose'];
             if ($this->enumFixedLoose == 'FL') {
                 for ($idx = 1; $idx <= 31; ++$idx) {
                     ($this->bDaySelected[$idx] =& $_REQUEST['chkFixed' . $idx]) == 'on';
                 }
             } else {
                 $this->bSetCnt[1] = @$_REQUEST['chkRel_1st'] == 'TRUE';
                 $this->bSetCnt[2] = @$_REQUEST['chkRel_2nd'] == 'TRUE';
                 $this->bSetCnt[3] = @$_REQUEST['chkRel_3rd'] == 'TRUE';
                 $this->bSetCnt[4] = @$_REQUEST['chkRel_4th'] == 'TRUE';
                 $this->bSetCnt[5] = @$_REQUEST['chkRel_5th'] == 'TRUE';
                 $this->b_last = @$_REQUEST['chkRel_last'] == 'TRUE';
                 $this->bWeekSet[0] = @$_REQUEST['chkRelSun'] == 'on';
                 $this->bWeekSet[1] = @$_REQUEST['chkRelMon'] == 'on';
                 $this->bWeekSet[2] = @$_REQUEST['chkRelTue'] == 'on';
                 $this->bWeekSet[3] = @$_REQUEST['chkRelWed'] == 'on';
                 $this->bWeekSet[4] = @$_REQUEST['chkRelThu'] == 'on';
                 $this->bWeekSet[5] = @$_REQUEST['chkRelFri'] == 'on';
                 $this->bWeekSet[6] = @$_REQUEST['chkRelSat'] == 'on';
             }
             break;
         default:
             screamForHelp($this->enumRecurGroup . ': Invalid RECURRING FREQUENCY<br></b>error on <b>line:</b> ' . __LINE__ . '<br><b>file:</b> ' . __FILE__ . '<br><b>function:</b> ' . __FUNCTION__);
             break;
     }
 }
 public function contact($lPID = '', $lHID = 0)
 {
     //-------------------------------------------------------------------------
     //
     //-------------------------------------------------------------------------
     global $gclsChapterACO, $gbDateFormatUS, $gbVolLogin, $gVolPerms, $glVolPeopleID, $glUserID;
     global $gstrDuplicateWarning;
     $gstrDuplicateWarning = '';
     if ($gbVolLogin) {
         $lPID = $glVolPeopleID;
     }
     $this->load->helper('dl_util/verify_id');
     if ($lPID . '' != '0') {
         verifyID($this, $lPID, 'people ID');
     }
     if ($lHID . '' != '0') {
         verifyID($this, $lHID, 'household ID');
     }
     $displayData = array();
     $displayData['formData'] = new stdClass();
     $displayData['lPID'] = $lPID = (int) $lPID;
     $displayData['bNew'] = $bNew = $lPID <= 0;
     $bExistingHousehold = $lHID > 0;
     if ($bNew) {
         if (!bTestForURLHack('dataEntryPeopleBizVol')) {
             return;
         }
     } else {
         $bOkayToEdit = bAllowAccess('dataEntryPeopleBizVol') || bAllowAccess('volEditContact');
         if (!$bOkayToEdit) {
             bTestForURLHack('forceFail');
             return;
         }
     }
     // models associated with the people record
     $this->load->model('people/mpeople', 'clsPeople');
     $this->load->model('admin/madmin_aco', 'clsACO');
     if (!$gbVolLogin) {
         $this->load->model('sponsorship/msponsorship', 'clsSpon');
         $this->load->model('donations/mdonations', 'clsGifts');
     }
     if ($bNew) {
         $this->load->model('util/mdup_checker', 'cDupChecker');
     }
     $this->load->helper('dl_util/time_date');
     $this->load->helper('dl_util/web_layout');
     //      $this->load->helper('dl_util/email_web');
     $this->load->library('util/dl_date_time', '', 'clsDateTime');
     //--------------------------
     // load people record
     //--------------------------
     $this->clsPeople->sqlWhereExtra = " AND pe_lKeyID = {$lPID} ";
     if ($gbVolLogin) {
         $this->clsPeople->loadPeople(false, false, true);
     } else {
         $this->clsPeople->loadPeople(true, true, true);
     }
     $people = $this->clsPeople->people[0];
     // validation rules
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('txtFName', 'First Name', 'trim|required');
     $this->form_validation->set_rules('txtTitle', '', 'trim');
     $this->form_validation->set_rules('txtMName', '', 'trim');
     $this->form_validation->set_rules('txtLName', 'Last Name', 'trim|required');
     $this->form_validation->set_rules('txtPName', '', 'trim');
     $this->form_validation->set_rules('txtSal', '', 'trim');
     $this->form_validation->set_rules('txtAddr1', '', 'trim');
     $this->form_validation->set_rules('txtAddr2', '', 'trim');
     $this->form_validation->set_rules('txtCity', '', 'trim');
     $this->form_validation->set_rules('txtState', '', 'trim');
     $this->form_validation->set_rules('txtZip', '', 'trim');
     $this->form_validation->set_rules('txtCountry', '', 'trim');
     $this->form_validation->set_rules('txtNotes', '', 'trim');
     $this->form_validation->set_rules('txtPhone', '', 'trim');
     $this->form_validation->set_rules('txtCell', '', 'trim');
     $this->form_validation->set_rules('rdoGender', '', 'trim');
     $this->form_validation->set_rules('txtBDate', '', 'trim|callback_peopleRecVerifyBDateValid' . '|callback_peopleRecVerifyBDatePast');
     if ($gbVolLogin) {
         $this->form_validation->set_rules('txtEmail', 'Email', 'trim|required|valid_email|callback_verifyUniqueUserID');
     } else {
         $this->form_validation->set_rules('txtEmail', 'Email', 'trim|valid_email');
         $this->form_validation->set_rules('rdoACO', '', 'trim');
         $this->form_validation->set_rules('ddlAttrib', 'Attributed to');
     }
     // test for duplicate people
     if ($bNew) {
         $this->form_validation->set_rules('hiddenTestDup', 'dummy', 'callback_verifyNoDups');
         $displayData['bHiddenNewTestDup'] = true;
     }
     if ($bNew) {
         $people->lHouseholdID = $lHID;
         if ($lHID <= 0) {
             $people->strHouseholdName = '<i>new</i>';
         } else {
             $people->strHouseholdName = $this->clsPeople->strHouseholdNameViaHID($lHID);
         }
     }
     if ($this->form_validation->run() == FALSE) {
         $displayData['js'] = '';
         $this->load->library('generic_form');
         $this->load->model('util/mlist_generic', 'clsList');
         $this->clsList->enumListType = CENUM_LISTTYPE_ATTRIB;
         $displayData['strDuplicateWarning'] = $gstrDuplicateWarning;
         if (validation_errors() == '') {
             if ($bNew) {
                 $displayData['formData']->strBDay = $displayData['formData']->txtTitle = $displayData['formData']->txtFName = $displayData['formData']->txtMName = $displayData['formData']->txtLName = $displayData['formData']->txtPName = $displayData['formData']->txtSal = $displayData['formData']->txtNotes = $displayData['formData']->txtEmail = $displayData['formData']->txtCell = '';
                 $displayData['formData']->enumGender = 'Unknown';
                 $displayData['formData']->dteMysqlBirthDate = '';
                 if ($bExistingHousehold) {
                     $clsHouse = new mpeople();
                     $clsHouse->loadPeopleViaPIDs($lHID, false, false);
                     $house = $clsHouse->people[0];
                     $displayData['formData']->txtAddr1 = htmlspecialchars($house->strAddr1);
                     $displayData['formData']->txtAddr2 = htmlspecialchars($house->strAddr2);
                     $displayData['formData']->txtCity = htmlspecialchars($house->strCity);
                     $displayData['formData']->txtState = htmlspecialchars($house->strState);
                     $displayData['formData']->txtZip = htmlspecialchars($house->strZip);
                     $displayData['formData']->txtCountry = htmlspecialchars($house->strCountry);
                     $displayData['formData']->txtPhone = htmlspecialchars($house->strPhone);
                     $lACO = $house->lACO;
                 } else {
                     $displayData['formData']->txtAddr1 = $displayData['formData']->txtAddr2 = $displayData['formData']->txtCity = $displayData['formData']->txtState = $displayData['formData']->txtZip = $displayData['formData']->txtCountry = $displayData['formData']->txtPhone = '';
                     $lACO = $gclsChapterACO->lKeyID;
                 }
                 if (!$gbVolLogin) {
                     $displayData['formData']->rdoACO = $this->clsACO->strACO_Radios($lACO, 'rdoACO');
                     $displayData['strAttribDDL'] = $this->clsList->strLoadListDDL('ddlAttrib', true, -1);
                 }
             } else {
                 $displayData['formData']->txtTitle = $people->strTitle;
                 $displayData['formData']->txtFName = htmlspecialchars($people->strFName);
                 $displayData['formData']->txtMName = htmlspecialchars($people->strMName);
                 $displayData['formData']->txtLName = htmlspecialchars($people->strLName);
                 $displayData['formData']->txtPName = htmlspecialchars($people->strPreferredName);
                 $displayData['formData']->txtSal = htmlspecialchars($people->strSalutation);
                 $displayData['formData']->txtNotes = htmlspecialchars($people->strNotes);
                 $displayData['formData']->txtAddr1 = htmlspecialchars($people->strAddr1);
                 $displayData['formData']->txtAddr2 = htmlspecialchars($people->strAddr2);
                 $displayData['formData']->txtCity = htmlspecialchars($people->strCity);
                 $displayData['formData']->txtState = htmlspecialchars($people->strState);
                 $displayData['formData']->txtZip = htmlspecialchars($people->strZip);
                 $displayData['formData']->txtCountry = htmlspecialchars($people->strCountry);
                 $displayData['formData']->txtEmail = htmlspecialchars($people->strEmail);
                 $displayData['formData']->txtPhone = htmlspecialchars($people->strPhone);
                 $displayData['formData']->txtCell = htmlspecialchars($people->strCell);
                 $displayData['formData']->enumGender = $people->enumGender;
                 if (is_null($people->dteMysqlBirthDate)) {
                     $displayData['formData']->strBDay = '';
                 } else {
                     $displayData['formData']->strBDay = strNumericDateViaMysqlDate($people->dteMysqlBirthDate, $gbDateFormatUS);
                 }
                 if (!$gbVolLogin) {
                     $displayData['formData']->rdoACO = $this->clsACO->strACO_Radios($people->lACO, 'rdoACO');
                     $displayData['strAttribDDL'] = $this->clsList->strLoadListDDL('ddlAttrib', true, $people->lAttributedTo);
                 }
             }
         } else {
             setOnFormError($displayData);
             $displayData['formData']->txtTitle = set_value('txtTitle');
             $displayData['formData']->txtFName = set_value('txtFName');
             $displayData['formData']->txtMName = set_value('txtMName');
             $displayData['formData']->txtLName = set_value('txtLName');
             $displayData['formData']->txtPName = set_value('txtPName');
             $displayData['formData']->txtSal = set_value('txtSal');
             $displayData['formData']->txtNotes = set_value('txtNotes');
             $displayData['formData']->txtAddr1 = set_value('txtAddr1');
             $displayData['formData']->txtAddr2 = set_value('txtAddr2');
             $displayData['formData']->txtCity = set_value('txtCity');
             $displayData['formData']->txtState = set_value('txtState');
             $displayData['formData']->txtZip = set_value('txtZip');
             $displayData['formData']->txtCountry = set_value('txtCountry');
             $displayData['formData']->txtEmail = set_value('txtEmail');
             $displayData['formData']->txtPhone = set_value('txtPhone');
             $displayData['formData']->txtCell = set_value('txtCell');
             $displayData['formData']->enumGender = set_value('rdoGender');
             $displayData['formData']->strBDay = set_value('txtBDate');
             if (!$gbVolLogin) {
                 $displayData['formData']->rdoACO = $this->clsACO->strACO_Radios(set_value('rdoACO'), 'rdoACO');
                 $displayData['strAttribDDL'] = $this->clsList->strLoadListDDL('ddlAttrib', true, set_value('ddlAttrib'));
             }
         }
         $displayData['people'] = $people;
         //--------------------------
         // breadcrumbs
         //--------------------------
         if ($gbVolLogin) {
             $displayData['pageTitle'] = anchor('people/people_record/view/' . $lPID, 'Record', 'class="breadcrumb"') . ' | Edit';
         } else {
             $displayData['pageTitle'] = anchor('main/menu/people', 'People', 'class="breadcrumb"') . ' | ' . ($bNew ? 'Record' : anchor('people/people_record/view/' . $lPID, 'Record', 'class="breadcrumb"')) . ' | ' . ($bNew ? 'Add New' : 'Edit');
         }
         $displayData['title'] = CS_PROGNAME . ' | People';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['mainTemplate'] = 'people/people_add_edit_view';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $this->load->model('personalization/muser_fields', 'clsUF');
         $this->load->model('personalization/muser_fields_create', 'clsUFC');
         $this->load->model('admin/mpermissions', 'perms');
         $this->load->helper('dl_util/util_db');
         $people =& $this->clsPeople->people[0];
         $people->lHouseholdID = (int) $lHID;
         $people->strTitle = trim($_POST['txtTitle']);
         $people->strFName = trim($_POST['txtFName']);
         $people->strMName = trim($_POST['txtMName']);
         $people->strLName = trim($_POST['txtLName']);
         $people->strPreferredName = trim($_POST['txtPName']);
         $people->strSalutation = trim($_POST['txtSal']);
         $people->strNotes = trim($_POST['txtNotes']);
         if ($people->strPreferredName == '') {
             $people->strPreferredName = $people->strFName;
         }
         if ($people->strSalutation == '') {
             $people->strSalutation = $people->strFName;
         }
         $people->strAddr1 = trim($_POST['txtAddr1']);
         $people->strAddr2 = trim($_POST['txtAddr2']);
         $people->strCity = trim($_POST['txtCity']);
         $people->strState = trim($_POST['txtState']);
         $people->strZip = trim($_POST['txtZip']);
         $people->strCountry = trim($_POST['txtCountry']);
         if ($gbVolLogin) {
             $strOriginalEmail = $people->strEmail;
         }
         $people->strEmail = trim($_POST['txtEmail']);
         $people->strPhone = trim($_POST['txtPhone']);
         $people->strCell = trim($_POST['txtCell']);
         $people->enumGender = trim($_POST['rdoGender']);
         if ($gbVolLogin) {
             $this->load->model('admin/muser_accts', 'clsUser');
             $this->clsUser->updateUserAcctViaPeopleInfo($glUserID, $people);
         }
         if (!$gbVolLogin) {
             $people->lACO = (int) $_POST['rdoACO'];
             $lAttrib = (int) $_REQUEST['ddlAttrib'];
             if ($lAttrib <= 0) {
                 $people->lAttributedTo = null;
             } else {
                 $people->lAttributedTo = $lAttrib;
             }
         }
         $strBDate = trim($_POST['txtBDate']);
         if ($strBDate == '') {
             $people->dteMysqlBirthDate = null;
         } else {
             MDY_ViaUserForm($strBDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
             $people->dteMysqlBirthDate = strMoDaYr2MySQLDate($lMon, $lDay, $lYear);
         }
         if ($bNew) {
             $people->dteExpire = $people->dteMysqlDeath = null;
             $lPID = $this->clsPeople->lCreateNewPeopleRec();
             $this->session->set_flashdata('msg', 'The people record was added');
         } else {
             $this->clsPeople->updatePeopleRec($lPID);
             if ($gbVolLogin) {
                 $this->session->set_flashdata('msg', 'Your contact information was updated.');
             } else {
                 $this->session->set_flashdata('msg', 'The people record was updated');
             }
         }
         redirect('people/people_record/view/' . $lPID);
     }
 }
예제 #22
0
 function setFulfill($lPackageID)
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     global $gbDateFormatUS;
     if (!bTestForURLHack('showAuctions')) {
         return;
     }
     $this->load->helper('dl_util/verify_id');
     verifyID($this, $lPackageID, 'package ID');
     $displayData = array();
     $displayData['js'] = '';
     $displayData['formData'] = new stdClass();
     $displayData['lPackageID'] = $lPackageID = (int) $lPackageID;
     //-------------------------
     // models & helpers
     //-------------------------
     $this->load->helper('dl_util/time_date');
     $this->load->model('auctions/mauctions', 'cAuction');
     $this->load->model('auctions/mpackages', 'cPackages');
     $this->load->model('admin/madmin_aco', 'clsACO');
     $this->load->model('img_docs/mimage_doc', 'clsImgDoc');
     $this->load->model('donations/maccts_camps', 'clsAC');
     $this->load->model('util/mlist_generic', 'clsList');
     $this->load->helper('dl_util/web_layout');
     $this->load->helper('dl_util/link_auction');
     $this->load->helper('dl_util/time_date');
     $this->load->helper('auctions/auction');
     $params = array('enumStyle' => 'terse');
     $this->load->library('generic_rpt', $params);
     $this->load->library('generic_form');
     setPackageContext($lPackageID, $lAuctionID, $displayData);
     $package =& $displayData['package'];
     $displayData['js'] .= strDatePicker('datepickerFuture', true);
     //-------------------------
     // validation rules
     //-------------------------
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('txtAmount', 'Amount', 'trim|required|callback_stripCommas|numeric|callback_minPackageAmnt[0.00]');
     $this->form_validation->set_rules('txtCheckNum', 'Check Number', 'trim');
     $this->form_validation->set_rules('ddlPayType', 'Payment Type', 'trim|callback_bidVerifyPayType');
     $this->form_validation->set_rules('ddlGiftCat', 'Gift Category', 'trim');
     $this->form_validation->set_rules('ddlAttrib', 'Attributed To', 'trim');
     $this->form_validation->set_rules('txtDDate', 'Fulfillment date', 'trim|required|callback_bidVerifyFDateValid');
     $this->form_validation->set_rules('txtNotes', 'Notes', 'trim');
     if ($this->form_validation->run() == FALSE) {
         // first time displayed, no user data entry errors
         if (validation_errors() == '') {
             $displayData['formData']->txtAmount = number_format($package->curWinBidAmnt, 2);
             $displayData['formData']->txtCheckNum = '';
             $displayData['formData']->txtDDate = '';
             $displayData['formData']->txtNotes = '';
             $this->clsList->strBlankDDLName = '&nbsp;';
             $this->clsList->enumListType = CENUM_LISTTYPE_GIFTPAYTYPE;
             $displayData['formData']->strDDLPayType = $this->clsList->strLoadListDDL('ddlPayType', true, -1);
             $this->clsList->enumListType = CENUM_LISTTYPE_MAJORGIFTCAT;
             $displayData['formData']->strDDLMajGiftType = $this->clsList->strLoadListDDL('ddlGiftCat', true, -1);
             $this->clsList->enumListType = CENUM_LISTTYPE_ATTRIB;
             $displayData['formData']->strDDLAttrib = $this->clsList->strLoadListDDL('ddlAttrib', true, -1);
         } else {
             setOnFormError($displayData);
             $displayData['formData']->txtAmount = set_value('txtAmount');
             $displayData['formData']->txtCheckNum = set_value('txtCheckNum');
             $displayData['formData']->txtDDate = set_value('txtDDate');
             $displayData['formData']->txtNotes = set_value('txtNotes');
             $this->clsList->strBlankDDLName = '&nbsp;';
             $this->clsList->enumListType = CENUM_LISTTYPE_GIFTPAYTYPE;
             $displayData['formData']->strDDLPayType = $this->clsList->strLoadListDDL('ddlPayType', true, set_value('ddlPayType'));
             $this->clsList->enumListType = CENUM_LISTTYPE_MAJORGIFTCAT;
             $displayData['formData']->strDDLMajGiftType = $this->clsList->strLoadListDDL('ddlGiftCat', true, set_value('ddlGiftCat'));
             $this->clsList->enumListType = CENUM_LISTTYPE_ATTRIB;
             $displayData['formData']->strDDLAttrib = $this->clsList->strLoadListDDL('ddlAttrib', true, set_value('ddlAttrib'));
         }
         //--------------------------
         // breadcrumbs
         //--------------------------
         $displayData['pageTitle'] = GSTR_AUCTIONTOPLEVEL . ' | ' . anchor('auctions/auctions/auctionEvents', 'Silent Auctions', 'class="breadcrumb"') . ' | ' . anchor('auctions/auctions/viewAuctionRecord/' . $lAuctionID, 'Auction', 'class="breadcrumb"') . ' | ' . anchor('auctions/packages/viewPackageRecord/' . $lPackageID, 'Auction Package', 'class="breadcrumb"') . ' | Fulfillment';
         $displayData['title'] = CS_PROGNAME . ' | Silent Auctions';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['mainTemplate'] = 'auctions/package_fulfillment_view';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $auction =& $displayData['auction'];
         $this->load->model('personalization/muser_fields', 'clsUF');
         $this->load->model('personalization/muser_fields_create', 'clsUFC');
         $this->load->model('admin/mpermissions', 'perms');
         $this->load->model('donations/mdonations', 'clsGift');
         $this->load->helper('dl_util/util_db');
         $this->clsGift->loadGiftViaGID(-1);
         $gifts =& $this->clsGift->gifts[0];
         $gifts->gi_curAmnt = trim((double) $_POST['txtAmount']);
         $gifts->strNotes = trim($_POST['txtNotes']);
         $gifts->gi_strCheckNum = trim($_POST['txtCheckNum']);
         $gifts->gi_lAttributedTo = trim((int) $_POST['ddlAttrib']);
         $gifts->gi_lPaymentType = trim((int) $_POST['ddlPayType']);
         $gifts->gi_lMajorGiftCat = trim((int) $_POST['ddlGiftCat']);
         $gifts->lACOID = $auction->lACOID;
         $gifts->gi_lForeignID = $package->lBidWinnerID;
         $gifts->gc_lKeyID = $auction->lCampaignID;
         $gifts->gi_lSponsorID = null;
         $gifts->gi_lGIK_ID = null;
         $gifts->gi_bGIK = false;
         if ($gifts->gi_lAttributedTo <= 0) {
             $gifts->gi_lAttributedTo = null;
         }
         $strDate = trim($_POST['txtDDate']);
         MDY_ViaUserForm($strDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $gifts->mdteDonation = strMoDaYr2MySQLDate($lMon, $lDay, $lYear);
         //------------------------------------
         // update db tables and return
         //------------------------------------
         $lGiftID = $this->clsGift->lAddNewGiftRecord();
         $this->cPackages->setBidGiftID($lPackageID, $lGiftID);
         $this->session->set_flashdata('msg', 'Bid fulfilled / gift record <b>' . str_pad($lGiftID, 5, '0', STR_PAD_LEFT) . '</b> added');
         redirect_AuctionPackageList($lAuctionID);
     }
 }
예제 #23
0
 public function addEditPatientVisit($lVolID, $lPVRecID = 0, $lPatientID = 0)
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     global $glChapterID, $gbVolMgr, $gbDateFormatUS, $gstrFormatDatePicker;
     $this->load->helper('dl_util/verify_id');
     verifyID($glChapterID, $lPatientID, 'patient ID');
     verifyID($glChapterID, $lVolID, 'volunteer ID');
     if ($lPVRecID != 0) {
         verifyID($glChapterID, $lPVRecID, 'patientVisit ID');
     }
     $displayData = array();
     $displayData['formData'] = new stdClass();
     $displayData['lVolID'] = $lVolID = (int) $lVolID;
     $displayData['lPVRecID'] = $lPVRecID = (int) $lPVRecID;
     $displayData['lPatientID'] = $lPatientID = (int) $lPatientID;
     $displayData['bNew'] = $bNew = $lPVRecID <= 0;
     //----------------------------------------------
     // models / helpers
     //----------------------------------------------
     $this->load->library('util/dl_date_time', '', 'clsDateTime');
     $this->load->model('patients/mpatients', 'cPatients');
     $this->load->model('vols/mvol', 'cVol');
     $this->load->model('util/mlist_generic', 'cList');
     $this->load->model('hospice/mhospice_pvisit', 'cPVisit');
     $this->load->helper('dl_util/web_layout');
     $this->load->helper('dl_util/time_date');
     $this->load->helper('hospice/patient_visit');
     $this->load->helper('hospice/hospice_util');
     $this->cVol->loadVolClientAssocViaVolID($lVolID, $volClients, false);
     if (!hospiceUtil\bVerifyVolClientAssoc($lVolID, $lPatientID, $volClients, $lVCIDX)) {
         $this->session->set_flashdata('error', 'Invalid volunteer/patient association. Please contact your volunteer manager.');
         redirect('hospice/hospice_error/error');
         return;
     }
     // load patient record
     $this->cPatients->loadPatientsViaPatientID($lPatientID);
     $displayData['patient'] =& $this->cPatients->patients[0];
     // load volunteer record
     $this->cVol->loadVolRecsViaVolID($lVolID, false);
     $displayData['volRec'] = $volRec =& $this->cVol->volRecs[0];
     // load patient visit record
     $this->cPVisit->loadPVisitsViaVisitID($lPVRecID, $lNumPVRecs, $pVisits);
     $displayData['pVisit'] = $pVisit =& $pVisits[0];
     // validation rules
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('txtMedRecNum', '<b>Medical Record Number</b>', 'trim|required');
     $this->form_validation->set_rules('ddlDuration', '', 'trim|callback_verifyDurationDDL');
     $this->form_validation->set_rules('ddlStart', '', 'trim|callback_verifyStartTimeDDL');
     $this->form_validation->set_rules('txtDateOfVisit', '<b>Visit Date</b>', 'trim|required|callback_verifyVisitDate');
     // person served
     $this->form_validation->set_rules('chkPS_Patient');
     $this->form_validation->set_rules('chkPS_Caregiver');
     $this->form_validation->set_rules('chkPS_Bereaved');
     $this->form_validation->set_rules('chkPS_Other');
     $this->form_validation->set_rules('txtPS_Notes', '', 'trim|callback_verifyPS');
     // location
     $this->form_validation->set_rules('ddlLocation', '', 'trim|callback_verifyLocation');
     $this->form_validation->set_rules('txtLocationNotes', '', 'trim|callback_verifyLocationNotes');
     // Activity
     $this->form_validation->set_rules('ddlActivity', '', 'trim|callback_verifyActivity');
     $this->form_validation->set_rules('txtActivityNotes', '', 'trim|callback_verifyActivityNotes');
     // Interventions
     $this->form_validation->set_rules('chkI_Companionship');
     $this->form_validation->set_rules('chkI_CaregiverRelief');
     $this->form_validation->set_rules('chkI_EmotionalSupport');
     $this->form_validation->set_rules('chkI_Socialization');
     $this->form_validation->set_rules('chkI_Bereavement');
     $this->form_validation->set_rules('chkI_TelephoneCall');
     $this->form_validation->set_rules('chkI_ExcursionErrands');
     $this->form_validation->set_rules('chkI_MusicPetArtSupport');
     $this->form_validation->set_rules('chkI_FoodPreparation');
     $this->form_validation->set_rules('chkI_HouseholdChores');
     $this->form_validation->set_rules('chkI_OtherIntervention');
     $this->form_validation->set_rules('txtI_Notes', '', 'trim|callback_verifyIntervention');
     // Visit Info
     $this->form_validation->set_rules('ddlM_PatientStatus', '', 'callback_verifyPatientStatus');
     $this->form_validation->set_rules('ddlM_VisitTasks', '', 'callback_verifyVisitTasks');
     $this->form_validation->set_rules('txtVisitNotes', '', 'trim|callback_verifyVisitNotes');
     $this->form_validation->set_rules('chkTSK_Visitors');
     $this->form_validation->set_rules('txtTSKPatientComfort', '<b>Patient Comfort</b>', 'trim|required');
     $this->form_validation->set_rules('txtTSKPatientPain');
     $this->form_validation->set_rules('txtTSKPatientConcerns');
     if ($this->form_validation->run() == FALSE) {
         $matchIDs_PStatus = array();
         $matchIDs_VTasks = array();
         $displayData['js'] = '';
         $this->load->library('generic_form');
         if (validation_errors() == '') {
             if ($bNew) {
                 $displayData['formData']->txtDateOfVisit = $displayData['formData']->txtMedRecNum = '';
                 $displayData['formData']->ddlDuration = pvisit\strDurationDDL(-1, true, 'ddlDuration', 'dur');
                 $displayData['formData']->ddlStart = pvisit\strTimeDDL(-1, true, 'ddlStart', 'start');
                 // person served
                 $displayData['formData']->ps_bPatient = $displayData['formData']->ps_bCaregiver = $displayData['formData']->ps_bBereaved = $displayData['formData']->ps_bOther = false;
                 $displayData['formData']->ps_txtNotes = '';
                 // location
                 $this->cList->enumListType = CENUM_LISTTYPE_PV_LOCATIONS;
                 $displayData['formData']->ddlLocation = $this->cList->strLoadListDDL($glChapterID, 'ddlLocation', true, -1);
                 $displayData['formData']->txtLocationNotes = '';
                 // Activity
                 $this->cList->enumListType = CENUM_LISTTYPE_PV_ACTIVITIES;
                 $displayData['formData']->ddlActivity = $this->cList->strLoadListDDL($glChapterID, 'ddlActivity', true, -1);
                 $displayData['formData']->txtActivityNotes = '';
                 // Interventions
                 $displayData['formData']->i_bCompanionship = $displayData['formData']->i_bCaregiverRelief = $displayData['formData']->i_bEmotionalSupport = $displayData['formData']->i_bSocialization = $displayData['formData']->i_bBereavement = $displayData['formData']->i_bTelephoneCall = $displayData['formData']->i_bExcursionErrands = $displayData['formData']->i_bMusicPetArtSupport = $displayData['formData']->i_bFoodPreparation = $displayData['formData']->i_bHouseholdChores = $displayData['formData']->i_bOtherIntervention = false;
                 $displayData['formData']->txtI_Notes = '';
                 // Visit Info
                 $this->cList->enumListType = CENUM_LISTTYPE_PV_PSTATUS;
                 $displayData['formData']->ddlM_PatientStatus = $this->cList->strLoadListMultiDDL($glChapterID, 'ddlM_PatientStatus', 5, true, $matchIDs_PStatus);
                 $this->cList->enumListType = CENUM_LISTTYPE_PV_VISITTASKS;
                 $displayData['formData']->ddlM_VisitTasks = $this->cList->strLoadListMultiDDL($glChapterID, 'ddlM_VisitTasks', 5, true, $matchIDs_VTasks);
                 $displayData['formData']->txtVisitNotes = '';
                 $displayData['formData']->TSK_bVisitors = false;
                 $displayData['formData']->txtTSKPatientComfort = '';
                 $displayData['formData']->txtTSKPatientPain = '';
                 $displayData['formData']->txtTSKPatientConcerns = '';
             } else {
                 $displayData['formData']->txtDateOfVisit = strNumericDateViaMysqlDate($pVisit->mdteVisit, $gbDateFormatUS);
                 $displayData['formData']->txtMedRecNum = htmlspecialchars($pVisit->strMedRec);
                 $displayData['formData']->ddlDuration = pvisit\strDurationDDL($pVisit->lDuration, true, 'ddlDuration', 'dur');
                 $displayData['formData']->ddlStart = pvisit\strTimeDDL($pVisit->lStartTime, true, 'ddlStart', 'start');
                 // person served
                 $displayData['formData']->ps_bPatient = $pVisit->ps_bPatient;
                 $displayData['formData']->ps_bCaregiver = $pVisit->ps_bCaregiver;
                 $displayData['formData']->ps_bBereaved = $pVisit->ps_bBereaved;
                 $displayData['formData']->ps_bOther = $pVisit->ps_bOther;
                 $displayData['formData']->ps_txtNotes = htmlspecialchars($pVisit->ps_strNotes);
                 // location
                 $this->cList->enumListType = CENUM_LISTTYPE_PV_LOCATIONS;
                 $displayData['formData']->ddlLocation = $this->cList->strLoadListDDL($glChapterID, 'ddlLocation', true, $pVisit->loc_lLocationID);
                 $displayData['formData']->txtLocationNotes = htmlspecialchars($pVisit->loc_strNotes);
                 // Activity
                 $this->cList->enumListType = CENUM_LISTTYPE_PV_ACTIVITIES;
                 $displayData['formData']->ddlActivity = $this->cList->strLoadListDDL($glChapterID, 'ddlActivity', true, $pVisit->act_lActivityID);
                 $displayData['formData']->txtActivityNotes = htmlspecialchars($pVisit->act_strNotes);
                 // Interventions
                 $displayData['formData']->i_bCompanionship = $pVisit->in_bCompanionship;
                 $displayData['formData']->i_bCaregiverRelief = $pVisit->in_bCaregiverRelief;
                 $displayData['formData']->i_bEmotionalSupport = $pVisit->in_bEmotionalSupport;
                 $displayData['formData']->i_bSocialization = $pVisit->in_bSocialization;
                 $displayData['formData']->i_bBereavement = $pVisit->in_bBereavement;
                 $displayData['formData']->i_bTelephoneCall = $pVisit->in_bTelephoneCall;
                 $displayData['formData']->i_bExcursionErrands = $pVisit->in_bExcursionErrands;
                 $displayData['formData']->i_bMusicPetArtSupport = $pVisit->in_bMusicPetArt;
                 $displayData['formData']->i_bFoodPreparation = $pVisit->in_bFoodPrep;
                 $displayData['formData']->i_bHouseholdChores = $pVisit->in_bHouseholdChores;
                 $displayData['formData']->i_bOtherIntervention = $pVisit->in_bOther;
                 $displayData['formData']->txtI_Notes = htmlspecialchars($pVisit->in_strNotes);
                 // Visit Info
                 $this->cList->enumListType = CENUM_LISTTYPE_PV_PSTATUS;
                 $displayData['formData']->ddlM_PatientStatus = $this->cList->strLoadListMultiDDL($glChapterID, 'ddlM_PatientStatus', 5, true, $pVisit->status->IDs);
                 $this->cList->enumListType = CENUM_LISTTYPE_PV_VISITTASKS;
                 $displayData['formData']->ddlM_VisitTasks = $this->cList->strLoadListMultiDDL($glChapterID, 'ddlM_VisitTasks', 5, true, $pVisit->tasks->IDs);
                 $displayData['formData']->txtVisitNotes = htmlspecialchars($pVisit->tsk_strOtherNotes);
                 $displayData['formData']->TSK_bVisitors = $pVisit->tsk_bVisitors;
                 $displayData['formData']->txtTSKPatientComfort = htmlspecialchars($pVisit->tsk_strPatientComfort);
                 $displayData['formData']->txtTSKPatientPain = htmlspecialchars($pVisit->tsk_strPatientPain);
                 $displayData['formData']->txtTSKPatientConcerns = htmlspecialchars($pVisit->tsk_strChangesConcerns);
             }
         } else {
             setOnFormError($displayData);
             $displayData['formData']->txtDateOfVisit = set_value('txtDateOfVisit');
             $displayData['formData']->txtMedRecNum = set_value('txtMedRecNum');
             $displayData['formData']->ddlDuration = pvisit\strDurationDDL(set_value('ddlDuration'), true, 'ddlDuration', 'dur');
             $displayData['formData']->ddlStart = pvisit\strTimeDDL(set_value('ddlStart'), true, 'ddlStart', 'start');
             // person served
             $displayData['formData']->ps_bPatient = set_value('chkPS_Patient') == 'TRUE';
             $displayData['formData']->ps_bCaregiver = set_value('chkPS_Caregiver') == 'TRUE';
             $displayData['formData']->ps_bBereaved = set_value('chkPS_Bereaved') == 'TRUE';
             $displayData['formData']->ps_bOther = set_value('chkPS_Other') == 'TRUE';
             $displayData['formData']->ps_txtNotes = set_value('txtPS_Notes');
             // location
             $this->cList->enumListType = CENUM_LISTTYPE_PV_LOCATIONS;
             $displayData['formData']->ddlLocation = $this->cList->strLoadListDDL($glChapterID, 'ddlLocation', true, (int) @$_POST['ddlLocation']);
             $displayData['formData']->txtLocationNotes = set_value('txtLocationNotes');
             // Activity
             $this->cList->enumListType = CENUM_LISTTYPE_PV_ACTIVITIES;
             $displayData['formData']->ddlActivity = $this->cList->strLoadListDDL($glChapterID, 'ddlActivity', true, (int) @$_POST['ddlActivity']);
             $displayData['formData']->txtActivityNotes = set_value('txtActivityNotes');
             // Interventions
             $displayData['formData']->i_bCompanionship = set_value('chkI_Companionship') == 'TRUE';
             $displayData['formData']->i_bCaregiverRelief = set_value('chkI_CaregiverRelief') == 'TRUE';
             $displayData['formData']->i_bEmotionalSupport = set_value('chkI_EmotionalSupport') == 'TRUE';
             $displayData['formData']->i_bSocialization = set_value('chkI_Socialization') == 'TRUE';
             $displayData['formData']->i_bBereavement = set_value('chkI_Bereavement') == 'TRUE';
             $displayData['formData']->i_bTelephoneCall = set_value('chkI_TelephoneCall') == 'TRUE';
             $displayData['formData']->i_bExcursionErrands = set_value('chkI_ExcursionErrands') == 'TRUE';
             $displayData['formData']->i_bMusicPetArtSupport = set_value('chkI_MusicPetArtSupport') == 'TRUE';
             $displayData['formData']->i_bFoodPreparation = set_value('chkI_FoodPreparation') == 'TRUE';
             $displayData['formData']->i_bHouseholdChores = set_value('chkI_HouseholdChores') == 'TRUE';
             $displayData['formData']->i_bOtherIntervention = set_value('chkI_OtherIntervention') == 'TRUE';
             $displayData['formData']->txtI_Notes = set_value('txtI_Notes');
             // Visit Info
             $this->cList->enumListType = CENUM_LISTTYPE_PV_PSTATUS;
             $this->loadMultiIDs('ddlM_PatientStatus', $matchIDs_PStatus);
             $displayData['formData']->ddlM_PatientStatus = $this->cList->strLoadListMultiDDL($glChapterID, 'ddlM_PatientStatus', 5, true, $matchIDs_PStatus);
             $this->cList->enumListType = CENUM_LISTTYPE_PV_VISITTASKS;
             $this->loadMultiIDs('ddlM_VisitTasks', $matchIDs_VTasks);
             $displayData['formData']->ddlM_VisitTasks = $this->cList->strLoadListMultiDDL($glChapterID, 'ddlM_VisitTasks', 5, true, $matchIDs_VTasks);
             $displayData['formData']->txtVisitNotes = set_value('txtVisitNotes');
             $displayData['formData']->TSK_bVisitors = set_value('chkTSK_Visitors') == 'TRUE';
             $displayData['formData']->txtTSKPatientComfort = set_value('txtTSKPatientComfort');
             $displayData['formData']->txtTSKPatientPain = set_value('txtTSKPatientPain');
             $displayData['formData']->txtTSKPatientConcerns = set_value('txtTSKPatientConcerns');
         }
         //--------------------------
         // breadcrumbs
         //--------------------------
         $displayData['pageTitle'] = ' Patient Visit';
         $displayData['title'] = CS_PROGNAME . ' | Patient Visit';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['mainTemplate'] = 'hospice/patient_visit_add_edit_view';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $pVisit->lChapterID = $glChapterID;
         $pVisit->lPatientID = $lPatientID;
         $pVisit->lVolID = $lVolID;
         $strDate = trim($_POST['txtDateOfVisit']);
         MDY_ViaUserForm($strDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $pVisit->dteVisit = mktime(0, 0, 0, $lMon, $lDay, $lYear);
         $pVisit->lStartTime = (int) $_POST['ddlStart'];
         $pVisit->lDuration = (int) $_POST['ddlDuration'];
         $pVisit->strMedRec = $_POST['txtMedRecNum'];
         $pVisit->ps_bPatient = @$_POST['chkPS_Patient'] == 'TRUE';
         $pVisit->ps_bCaregiver = @$_POST['chkPS_Caregiver'] == 'TRUE';
         $pVisit->ps_bBereaved = @$_POST['chkPS_Bereaved'] == 'TRUE';
         $pVisit->ps_bOther = @$_POST['chkPS_Other'] == 'TRUE';
         $pVisit->ps_strNotes = $_POST['txtPS_Notes'];
         $pVisit->act_lActivityID = (int) $_POST['ddlActivity'];
         $pVisit->act_strNotes = $_POST['txtActivityNotes'];
         $pVisit->loc_lLocationID = (int) $_POST['ddlLocation'];
         $pVisit->loc_strNotes = $_POST['txtLocationNotes'];
         $pVisit->in_bCompanionship = @$_POST['chkI_Companionship'] == 'TRUE';
         $pVisit->in_bCaregiverRelief = @$_POST['chkI_CaregiverRelief'] == 'TRUE';
         $pVisit->in_bEmotionalSupport = @$_POST['chkI_EmotionalSupport'] == 'TRUE';
         $pVisit->in_bSocialization = @$_POST['chkI_Socialization'] == 'TRUE';
         $pVisit->in_bBereavement = @$_POST['chkI_Bereavement'] == 'TRUE';
         $pVisit->in_bTelephoneCall = @$_POST['chkI_TelephoneCall'] == 'TRUE';
         $pVisit->in_bExcursionErrands = @$_POST['chkI_ExcursionErrands'] == 'TRUE';
         $pVisit->in_bMusicPetArt = @$_POST['chkI_MusicPetArtSupport'] == 'TRUE';
         $pVisit->in_bFoodPrep = @$_POST['chkI_FoodPreparation'] == 'TRUE';
         $pVisit->in_bHouseholdChores = @$_POST['chkI_HouseholdChores'] == 'TRUE';
         $pVisit->in_bOther = @$_POST['chkI_OtherIntervention'] == 'TRUE';
         $pVisit->in_strNotes = $_POST['txtI_Notes'];
         $pVisit->tsk_strOtherNotes = $_POST['txtVisitNotes'];
         $pVisit->tsk_bVisitors = @$_POST['chkTSK_Visitors'] == 'TRUE';
         $pVisit->tsk_strPatientComfort = $_POST['txtTSKPatientComfort'];
         $pVisit->tsk_strPatientPain = $_POST['txtTSKPatientPain'];
         $pVisit->tsk_strChangesConcerns = $_POST['txtTSKPatientConcerns'];
         // multi-select DDLs
         $pVisit->status = new stdClass();
         $pVisit->status->IDs = arrayCopy($_POST['ddlM_PatientStatus']);
         $pVisit->status->lNumInList = count($pVisit->status->IDs);
         $pVisit->tasks = new stdClass();
         $pVisit->tasks->IDs = arrayCopy($_POST['ddlM_VisitTasks']);
         $pVisit->tasks->lNumInList = count($pVisit->tasks->IDs);
         if ($bNew) {
             $lPVRecID = $this->cPVisit->lAddNewPVisit($pVisit);
             $this->session->set_flashdata('msg', 'The patient visit record was added.');
         } else {
             $this->cPVisit->updatePVisit($lPVRecID, $pVisit);
             $this->session->set_flashdata('msg', 'The patient visit record was updated.');
         }
         redirect('hospice/patient_visit/visitRecView/' . $lPVRecID);
     }
 }
 function cicoGeneric($lIItemID, $bCheckOut, $bCheckIn, $bLost)
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     global $gstrFormatDatePicker, $gbDateFormatUS, $gdteNow;
     if (!bTestForURLHack('inventoryMgr')) {
         return;
     }
     $this->load->helper('dl_util/verify_id');
     verifyID($this, $lIItemID, 'inventory item ID');
     $displayData = array();
     $displayData['js'] = '';
     $displayData['lIItemID'] = $lIItemID = (int) $lIItemID;
     $displayData['bCheckOut'] = $bCheckOut = (bool) $bCheckOut;
     $displayData['bCheckIn'] = $bCheckIn = (bool) $bCheckIn;
     $displayData['bLost'] = $bLost = (bool) $bLost;
     //-------------------------
     // models & helpers
     //-------------------------
     $this->load->model('staff/inventory/minventory');
     $this->load->model('staff/inventory/minv_cico', 'ccico');
     $this->load->model('admin/madmin_aco', 'clsACO');
     $this->load->helper('dl_util/web_layout');
     $this->load->helper('staff/link_inventory');
     $this->load->helper('dl_util/time_date');
     $params = array('enumStyle' => 'terse', 'clsRpt');
     $this->load->library('generic_rpt', $params);
     $displayData['formData'] = new stdClass();
     $this->load->library('generic_form');
     // load the inventory item
     $this->ccico->loadSingleInventoryItem($lIItemID, $lNumItems, $items);
     $displayData['item'] = $item =& $items[0];
     $displayData['lICatID'] = $lICatID = $displayData['item']->lCategoryID;
     // most recent check-out / check-in entry
     $this->ccico->itemCICOMostRecent($lIItemID, $lNumCICO, $CICOrec);
     $displayData['bNew'] = $bNew = $lNumCICO == 0;
     $displayData['lCICO_ID'] = $lCICO_ID = $CICOrec->lKeyID;
     $displayData['CICOrec'] = $CICOrec;
     $bCheckedOut = $this->ccico->bItemCheckedOut($lIItemID, $lCICO_CO_ID);
     $bLost = $item->bLost;
     // make sure the request is compatible with current ci/co state of item
     if ($bCheckOut) {
         if ($bCheckedOut) {
             $this->session->set_flashdata('error', 'The item is currently checked out.');
             redirect('staff/inventory/inventory_items/iitemRec/' . $lIItemID);
         }
         if ($bLost) {
             $this->session->set_flashdata('error', 'This item is flagged as "lost" and can not be checked out.');
             redirect('staff/inventory/inventory_items/iitemRec/' . $lIItemID);
         }
         $strTitleLabel = 'Item Check-out / Loan';
         $strVerifyDate = 'Date Checked Out';
     } elseif ($bCheckIn) {
         if (!$bCheckedOut) {
             $this->session->set_flashdata('error', 'The item is not currently checked out.');
             redirect('staff/inventory/inventory_items/iitemRec/' . $lIItemID);
         }
         if ($bLost) {
             $this->session->set_flashdata('error', 'This item is flagged as "lost" and can not be checked out.');
             redirect('staff/inventory/inventory_items/iitemRec/' . $lIItemID);
         }
         $strTitleLabel = 'Item Check-in / Return';
         $strVerifyDate = 'Date Checked In';
     } elseif ($bLost) {
         $strTitleLabel = 'Item Lost';
     } else {
         screamForHelp('Invalid ci/co operation<br>error on line  <b> -- ' . __LINE__ . ' --</b>,<br>file ' . __FILE__ . ',<br>function ' . __FUNCTION__);
     }
     //-------------------------
     // validation rules
     //-------------------------
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     if ($bCheckOut) {
         $this->form_validation->set_rules('txtCheckedOutTo', '<b>Checked-Out To</b>', 'trim|required');
         $this->form_validation->set_rules('txtSecurity', 'Security Deposit');
         $this->form_validation->set_rules('txtCO_Notes', 'Notes');
         $this->form_validation->set_rules('txtDateCICO', '<b>' . $strVerifyDate . '</b>', 'trim|required|callback_itemVerifyDateCICOValid[false,0]');
     } elseif ($bCheckIn) {
         $this->form_validation->set_rules('txtCO_Notes', 'Notes');
         $this->form_validation->set_rules('txtDateCICO', '<b>' . $strVerifyDate . '</b>', 'trim|required|callback_itemVerifyDateCICOValid[true,' . $CICOrec->dteCheckedOut . ']');
     } elseif ($bLost) {
     }
     if ($this->form_validation->run() == FALSE) {
         $displayData['formData'] = new stdClass();
         $this->load->library('generic_form');
         // load the inventory category breadcrumbs
         $item->strCatBreadCrumb = '';
         $this->ccico->icatBreadCrumbs($item->strCatBreadCrumb, $lICatID);
         // first time displayed, no user data entry errors
         if (validation_errors() == '') {
             if ($bCheckOut) {
                 $displayData['formData']->txtSecurity = '';
                 $displayData['formData']->txtCO_Notes = '';
                 $displayData['formData']->txtCheckedOutTo = '';
                 $displayData['formData']->txtDateCICO = date($gstrFormatDatePicker, $gdteNow);
                 /*
                                $displayData['formData']->txtSecurity     = htmlspecialchars($CICOrec->strSecurity);
                                $displayData['formData']->txtCO_Notes     = htmlspecialchars($CICOrec->strCO_Notes);
                                $displayData['formData']->txtCheckedOutTo = htmlspecialchars($CICOrec->strCheckedOutTo);
                                if (is_null($CICOrec->dteCheckedOut)){
                                   $displayData['formData']->txtDateCICO = '';
                                }else {
                                   $displayData['formData']->txtDateCICO = date($gstrFormatDatePicker, $CICOrec->dteCheckedOut);
                                }
                 */
             } elseif ($bCheckIn) {
                 $displayData['formData']->txtCI_Notes = htmlspecialchars($CICOrec->strCI_Notes);
                 if (is_null($CICOrec->dteCheckedIn)) {
                     $displayData['formData']->txtDateCICO = '';
                 } else {
                     $displayData['formData']->txtDateCICO = date($gstrFormatDatePicker, $item->dteCheckedIn);
                 }
             } elseif ($bLost) {
             }
         } else {
             setOnFormError($displayData);
             if ($bCheckOut) {
                 $displayData['formData']->txtSecurity = set_value('txtSecurity');
                 $displayData['formData']->txtCO_Notes = set_value('txtCO_Notes');
                 $displayData['formData']->txtCheckedOutTo = set_value('txtCheckedOutTo');
                 $displayData['formData']->txtDateCICO = set_value('txtDateCICO');
             } elseif ($bCheckIn) {
                 $displayData['formData']->txtDateCICO = set_value('txtDateCICO');
                 $displayData['formData']->txtCI_Notes = set_value('txtCI_Notes');
             } elseif ($bLost) {
             }
         }
         //--------------------------
         // breadcrumbs
         //--------------------------
         $displayData['contextSummary'] = $this->ccico->strIItemHTMLSummary($item);
         $displayData['pageTitle'] = anchor('main/menu/more', 'More', 'class="breadcrumb"') . ' | ' . anchor('staff/inventory/icat/viewICats', 'Inventory Categories', 'class="breadcrumb"') . ' | ' . anchor('staff/inventory/inventory_items/iitemRec/' . $lIItemID, 'Inventory Item', 'class="breadcrumb"') . ' | ' . $strTitleLabel;
         $displayData['title'] = CS_PROGNAME . ' | Inventory Management';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['mainTemplate'] = 'staff/inventory/cico_add_edit_view';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $CICOrec->lItemID = $lIItemID;
         $strDate = trim($_POST['txtDateCICO']);
         MDY_ViaUserForm($strDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         if ($bCheckOut) {
             $CICOrec->strCO_Notes = trim($_POST['txtCO_Notes']);
             $CICOrec->strCheckedOutTo = trim($_POST['txtCheckedOutTo']);
             $CICOrec->strSecurity = trim($_POST['txtSecurity']);
             $CICOrec->mdteCheckedOut = strMoDaYr2MySQLDate($lMon, $lDay, $lYear);
             $lCICO_ID = $this->ccico->lAddCheckOutRec($CICOrec);
             $this->ccico->lAddItemHistoryRec($lIItemID, $lCICO_ID, 'checked-out');
             $this->session->set_flashdata('msg', 'Inventory item checked-out');
         } elseif ($bCheckIn) {
             $CICOrec->strCI_Notes = trim($_POST['txtCI_Notes']);
             $CICOrec->mdteCheckedIn = strMoDaYr2MySQLDate($lMon, $lDay, $lYear);
             $this->ccico->addCheckInRec($CICOrec);
             $this->ccico->lAddItemHistoryRec($lIItemID, $lCICO_ID, 'checked-in');
             $this->session->set_flashdata('msg', 'Inventory item checked-in');
         } elseif ($bLost) {
         }
         redirect('staff/inventory/inventory_items/iitemRec/' . $lIItemID);
     }
 }
예제 #25
0
 private function addEditActivityCommon($bAsVol, $lVolID, $lActivityID)
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     global $gbDateFormatUS;
     $this->load->helper('dl_util/verify_id');
     verifyID($this, $lVolID, 'volunteer ID');
     $displayData = array();
     $displayData['lVolID'] = $lVolID = (int) $lVolID;
     $displayData['lActivityID'] = $lActivityID = (int) $lActivityID;
     $displayData['bNew'] = $bNew = $lActivityID <= 0;
     $displayData['bAsVol'] = $bAsVol;
     //-------------------------
     // models & helpers
     //-------------------------
     $this->load->model('vols/mvol_event_hours', 'clsVolHours');
     $this->load->model('vols/mvol', 'clsVol');
     $this->load->model('people/mpeople', 'clsPeople');
     $this->load->model('util/mlist_generic', 'clsList');
     $this->load->helper('dl_util/time_date');
     // for date verification
     $params = array('enumStyle' => 'terse');
     $this->load->library('generic_rpt', $params);
     $this->load->helper('dl_util/web_layout');
     $this->clsVolHours->loadVolActivitiesViaID($lActivityID);
     $act =& $this->clsVolHours->unActivity[0];
     //-------------------------
     // validation rules
     //-------------------------
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('ddlStart', 'Start Time', 'trim|callback_vactVerifyStart');
     $this->form_validation->set_rules('ddlDuration', 'Duration', 'trim|callback_vactVerifyDuration');
     $this->form_validation->set_rules('ddlActivity', 'Activity', 'trim|callback_vactVerifyAct');
     $this->form_validation->set_rules('ddlJobCode', 'Job Code', 'trim');
     $this->form_validation->set_rules('txtDate', 'Date of Volunteer Activity', 'trim|required' . '|callback_verifyUnDateValid');
     $this->form_validation->set_rules('txtNotes', 'Notes', 'trim');
     if ($this->form_validation->run() == FALSE) {
         $displayData['formData'] = new stdClass();
         $this->load->library('generic_form');
         // first time displayed, no user data entry errors
         if (validation_errors() == '') {
             if (is_null($act->dteActivityDate)) {
                 $displayData['formData']->txtDate = '';
                 $displayData['formData']->lStartTime = strDisplayTimeDDL(null, true, true);
             } else {
                 $displayData['formData']->txtDate = strNumericDateViaMysqlDate($act->mysqlActivityDate, $gbDateFormatUS);
                 $displayData['formData']->lStartTime = strDisplayTimeDDL($act->dteActivityDate, true, true);
             }
             $displayData['formData']->strNotes = $act->strNotes;
             $displayData['formData']->enumDuration = strDurationDDL(true, false, lDurationHrsToQuarters($act->dHoursWorked), true);
             // activity generic list
             $this->clsList->strBlankDDLName = '&nbsp;';
             $this->clsList->enumListType = CENUM_LISTTYPE_VOLACT;
             $displayData['formData']->strVolActivity = $this->clsList->strLoadListDDL('ddlActivity', true, $act->lActivityID);
             // job code generic list
             $this->clsList->enumListType = CENUM_LISTTYPE_VOLJOBCODES;
             $this->clsList->strBlankDDLName = '(no job code)';
             $displayData['strDDLJobCode'] = $this->clsList->strLoadListDDL('ddlJobCode', true, $act->lJobCode);
         } else {
             setOnFormError($displayData);
             $displayData['formData']->txtDate = set_value('txtDate');
             $displayData['formData']->lStartTime = $lStartTime = strDisplayTimeDDL(set_value('ddlStart'), true, true);
             $displayData['formData']->strNotes = set_value('txtNotes');
             $displayData['formData']->enumDuration = strDurationDDL(true, false, set_value('ddlDuration'), true);
             // activity generic list
             $this->clsList->strBlankDDLName = '&nbsp;';
             $this->clsList->enumListType = CENUM_LISTTYPE_VOLACT;
             $displayData['formData']->strVolActivity = $this->clsList->strLoadListDDL('ddlActivity', true, set_value('ddlActivity'));
             // job code generic list
             $this->clsList->enumListType = CENUM_LISTTYPE_VOLJOBCODES;
             $this->clsList->strBlankDDLName = '(no job code)';
             $displayData['strDDLJobCode'] = $this->clsList->strLoadListDDL('ddlJobCode', true, set_value('ddlJobCode'));
         }
         $this->clsVol->loadVolRecsViaVolID($lVolID, true);
         $displayData['contextSummary'] = $this->clsVol->volHTMLSummary(0);
         //--------------------------
         // breadcrumbs
         //--------------------------
         if ($bAsVol) {
             $displayData['pageTitle'] = 'Log volunteer hours';
         } else {
             $displayData['pageTitle'] = anchor('main/menu/vols', 'Volunteers', 'class="breadcrumb"') . ' | ' . anchor('/volunteers/vol_record/volRecordView/' . $lVolID, 'Record', 'class="breadcrumb"') . ' | Log volunteer hours';
         }
         $displayData['title'] = CS_PROGNAME . ' | Volunteers';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['mainTemplate'] = 'vols/hrs_unscheduled_add_edit_view';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $act->lVolID = $lVolID;
         $act->strNotes = trim($_POST['txtNotes']);
         $act->lActivityID = (int) trim($_POST['ddlActivity']);
         $act->dHoursWorked = (int) trim($_POST['ddlDuration']) / 4;
         $strDate = trim($_POST['txtDate']);
         MDY_ViaUserForm($strDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $lDDLStart = (int) $_POST['ddlStart'];
         quartersToHrsMin($lDDLStart, $lHours, $lMinutes);
         $act->dteActivityDate = mktime($lHours, $lMinutes, 0, $lMon, $lDay, $lYear);
         $act->lJobCode = (int) $_POST['ddlJobCode'];
         if ($act->lJobCode <= 0) {
             $act->lJobCode = null;
         }
         //------------------------------------
         // update db tables and return
         //------------------------------------
         if ($bNew) {
             $lActivityID = $this->clsVolHours->addUnscheduledHrs();
             $this->session->set_flashdata('msg', 'Volunteer hours were recorded.');
         } else {
             $this->clsVolHours->updateUnscheduledHrs($lActivityID);
             $this->session->set_flashdata('msg', 'Record updated');
         }
         if ($bAsVol) {
             redirect('vol_reg/vol_hours/view');
         } else {
             redirect('reports/pre_vol_hours/viaVolID/' . $lVolID . '/false');
         }
     }
 }
 function addEditGeneric($lID)
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     global $gbDateFormatUS;
     if (!bTestForURLHack('test')) {
         return;
     }
     $this->load->helper('dl_util/verify_id');
     if ($lID . '' != '0') {
         verifyID($this, $ID, 'test ID');
     }
     $displayData = array();
     $displayData['id'] = $lID = (int) $lID;
     $displayData['js'] = '';
     //-------------------------
     // models & helpers
     //-------------------------
     $this->load->helper('dl_util/time_date');
     // for date verification
     $this->load->library('generic_form');
     $params = array('enumStyle' => 'terse');
     $this->load->library('generic_rpt', $params);
     $this->load->helper('dl_util/web_layout');
     //-------------------------
     // validation rules
     //-------------------------
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('txtField1', 'My Field', 'trim|required');
     $this->form_validation->set_rules('txtDate', 'My date', 'trim|required' . '|callback_verifyDateValid' . '|callback_verifyDatePast');
     if ($this->form_validation->run() == FALSE) {
         $displayData['formData'] = new stdClass();
         $this->load->library('generic_form');
         // first time displayed, no user data entry errors
         if (validation_errors() == '') {
             $displayData['formData']->txtField1 = htmlspecialchars($myModel->strField1);
             $displayData['formData']->txtDate = $myModel->strDate;
         } else {
             setOnFormError($displayData);
             $displayData['formData']->txtField1 = set_value('txtField1');
             $displayData['formData']->txtDate = set_value('txtDate');
         }
         //--------------------------
         // breadcrumbs
         //--------------------------
         $displayData['pageTitle'] = anchor('main/menu/home', 'Home', 'class="breadcrumb"') . ' | ' . ($bNew ? 'Add New' : 'Edit') . '  Record';
         $displayData['title'] = CS_PROGNAME . ' | My Record';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['mainTemplate'] = 'my_record/my_record_view';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $strField1 = trim($_POST['txtField1']);
         $strDate = trim($_POST['txtDate']);
         MDY_ViaUserForm($strDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $dteMyDate = strMoDaYr2MySQLDate($lMon, $lDay, $lYear);
         //------------------------------------
         // update db tables and return
         //------------------------------------
         if ($bNew) {
             $lID = $myModel->addNewRecord($strField1, $dteMyDate);
             $this->session->set_flashdata('msg', 'Record added');
         } else {
             $myModel->updateRecord($lID, $strField1, $dteMyDate);
             $this->session->set_flashdata('msg', 'Record updated');
         }
         redirect('myRecords/myRecord/view/' . $lID);
     }
 }
 function deactivate($lSponID)
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     global $gstrFormatDatePicker, $gdteNow, $gbDateFormatUS;
     if (!bTestForURLHack('showSponsors')) {
         return;
     }
     $this->load->helper('dl_util/verify_id');
     verifyID($this, $lSponID, 'sponsor ID');
     $displayData = array();
     $displayData['formData'] = new stdClass();
     $displayData['lSponID'] = $lSponID = (int) $lSponID;
     //-------------------------
     // models & helpers
     //-------------------------
     $this->load->helper('dl_util/time_date');
     // for date verification
     $params = array('enumStyle' => 'terse');
     $this->load->library('generic_rpt', $params);
     $this->load->model('sponsorship/msponsorship', 'clsSpon');
     $this->load->model('admin/madmin_aco', 'clsACO');
     $this->load->helper('dl_util/web_layout');
     $this->load->library('util/dl_date_time', '', 'clsDateTime');
     $this->clsSpon->sponsorInfoViaID($lSponID);
     //-------------------------
     // validation rules
     //-------------------------
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('ddlTermReason', 'Termination reason', 'trim|callback_sponDeactivateTermType');
     $this->form_validation->set_rules('txtDate', 'My date', 'trim|required' . '|callback_sponDeactivateDateValid');
     if ($this->form_validation->run() == FALSE) {
         $this->load->library('generic_form');
         $displayData['clsForm'] =& $this->generic_form;
         $this->load->model('util/mlist_generic', 'clsList');
         $this->clsList->enumListType = CENUM_LISTTYPE_SPONTERMCAT;
         // first time displayed, no user data entry errors
         if (validation_errors() == '') {
             $displayData['txtDate'] = date($gstrFormatDatePicker, $gdteNow);
             $displayData['strTermList'] = $this->clsList->strLoadListDDL('ddlTermReason', true, -1);
         } else {
             setOnFormError($displayData);
             $displayData['formData']->txtField1 = set_value('txtField1');
             $displayData['txtDate'] = set_value('txtDate');
             $displayData['strTermList'] = $this->clsList->strLoadListDDL('ddlTermReason', true, set_value('ddlTermReason'));
         }
         //--------------------------
         // breadcrumbs
         //--------------------------
         $displayData['contextSummary'] = $this->clsSpon->sponsorshipHTMLSummary();
         $displayData['pageTitle'] = anchor('main/menu/sponsorship', 'Sponsorship', 'class="breadcrumb"') . ' | ' . anchor('sponsors/view_spon_rec/viewViaSponID/' . $lSponID, 'Sponsorship Record', 'class="breadcrumb"') . ' |  Terminate Sponsorship';
         $displayData['title'] = CS_PROGNAME . ' | Sponsorship';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['mainTemplate'] = 'sponsorship/deactivate_view';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $lDeactivateReason = (int) trim($_POST['ddlTermReason']);
         $strDate = trim($_POST['txtDate']);
         MDY_ViaUserForm($strDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $dteDeactivate = strtotime($lMon . '/' . $lDay . '/' . $lYear);
         $this->clsSpon->inactivateSponsorship($lSponID, $dteDeactivate, $lDeactivateReason);
         $this->session->set_flashdata('msg', 'The sponsorship was deactivated.');
         redirect_SponsorshipRecord($lSponID);
     }
 }
 function addDeposit()
 {
     //---------------------------------------------------------------------
     //
     //---------------------------------------------------------------------
     global $gdteNow, $gbDateFormatUS, $glChapterID;
     if (!bTestForURLHack('showFinancials')) {
         return;
     }
     $displayData = array();
     $displayData['formData'] = new stdClass();
     // models/helpers
     $this->load->helper('dl_util/time_date');
     $this->load->helper('dl_util/web_layout');
     $this->load->model('admin/madmin_aco', 'clsACO');
     $this->load->model('admin/morganization', 'clsChapter');
     $this->load->model('financials/mdeposits', 'clsDeposits');
     // validation rules
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('rdoACO', 'Accounting Country');
     $this->form_validation->set_rules('txtBank', 'Bank', 'trim');
     $this->form_validation->set_rules('txtAccount', 'Account', 'trim');
     $this->form_validation->set_rules('txtNotes', 'Notes', 'trim');
     $this->form_validation->set_rules('txtSDate', 'Start Date', 'trim|required|callback_depositVerifySDateValid');
     $this->form_validation->set_rules('txtEDate', 'End Date', 'trim|required|callback_depositVerifyEDateValid' . '|callback_depositCBH');
     if ($this->form_validation->run() == FALSE) {
         $this->load->library('generic_form');
         $this->clsDeposits->strLimit = 'LIMIT 0, 5';
         $this->clsDeposits->loadDepositReports();
         $displayData['lNumDeposits'] = $lNumDeposits = $this->clsDeposits->lNumDeposits;
         if ($lNumDeposits > 0) {
             foreach ($this->clsDeposits->deposits as $deposit) {
                 $deposit->lNumGifts = $this->clsDeposits->lNumGiftsViaDeposit($deposit->lKeyID, $curTot);
                 $deposit->curTot = $curTot;
             }
         }
         $displayData['deposits'] =& $this->clsDeposits->deposits;
         if (validation_errors() == '') {
             $this->clsChapter->lChapterID = $glChapterID;
             $this->clsChapter->loadChapterInfo();
             $displayData['formData']->txtBank = $displayData['formData']->txtAccount = $displayData['formData']->txtNotes = '';
             $displayData['formData']->strACORadio = $this->clsACO->strACO_Radios($this->clsChapter->chapterRec->lDefaultACO, 'rdoACO');
             $dteStart = null;
             $dteEnd = $gdteNow;
             if ($gbDateFormatUS) {
                 $displayData['txtSDate'] = '';
                 $displayData['txtEDate'] = date('m/d/Y', $dteEnd);
             } else {
                 $displayData['txtSDate'] = '';
                 $displayData['txtEDate'] = date('d/m/Y', $dteEnd);
             }
         } else {
             setOnFormError($displayData);
             $displayData['formData']->strACORadio = $this->clsACO->strACO_Radios(set_value('rdoACO'), 'rdoACO');
             $displayData['formData']->txtBank = set_value('txtBank');
             $displayData['formData']->txtAccount = set_value('txtAccount');
             $displayData['formData']->txtNotes = set_value('txtNotes');
             $displayData['txtSDate'] = set_value('txtSDate');
             $displayData['txtEDate'] = set_value('txtEDate');
         }
         //--------------------------
         // breadcrumbs
         //--------------------------
         $displayData['pageTitle'] = anchor('main/menu/financials', 'Financials/Grants', 'class="breadcrumb"') . ' | ' . anchor('financials/deposit_log/view', 'Deposit Log', 'class="breadcrumb"') . ' | Add Deposit Report';
         $displayData['title'] = CS_PROGNAME . ' | Financials';
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['mainTemplate'] = 'financials/deposit_opts_view';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $this->clsDeposits->strWhereExtra = ' AND dl_lKeyID=-1 ';
         $this->clsDeposits->loadDepositReports();
         $deposit =& $this->clsDeposits->deposits[0];
         $strSDate = trim($_POST['txtSDate']);
         MDY_ViaUserForm($strSDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $deposit->dteStart = strtotime($lMon . '/' . $lDay . '/' . $lYear);
         $strEDate = trim($_POST['txtEDate']);
         MDY_ViaUserForm($strEDate, $lMon, $lDay, $lYear, $gbDateFormatUS);
         $deposit->dteEnd = strtotime($lMon . '/' . $lDay . '/' . $lYear . ' 23:59:59');
         $deposit->lACOID = (int) $_POST['rdoACO'];
         $deposit->strBank = trim($_POST['txtBank']);
         $deposit->strAccount = trim($_POST['txtAccount']);
         $deposit->strNotes = trim($_POST['txtNotes']);
         $lDepositID = $this->clsDeposits->lAddNewDeposit();
         redirect('financials/deposits_add_edit/setGiftsToDeposit/' . $lDepositID);
     }
 }
function bVerifyCartBeforeHorse($strStartDate, $strEndDate)
{
    //---------------------------------------------------------------------
    // return false if end date before start date
    //---------------------------------------------------------------------
    global $gbDateFormatUS;
    MDY_ViaUserForm($strStartDate, $lMonS, $lDayS, $lYearS, $gbDateFormatUS);
    MDY_ViaUserForm($strEndDate, $lMonE, $lDayE, $lYearE, $gbDateFormatUS);
    if ($lYearS != $lYearE) {
        return $lYearS < $lYearE;
    }
    if ($lMonS != $lMonE) {
        return $lMonS < $lMonE;
    }
    return $lDayS <= $lDayE;
}
예제 #30
0
 function userAddEdit($lTableID, $lForeignID, $lEditFieldID)
 {
     //-----------------------------------------------------------------------------
     //
     //-----------------------------------------------------------------------------
     global $gbDateFormatUS;
     $this->load->helper('dl_util/verify_id');
     if (!vid_bUserTableIDExists($this, $lTableID, $enumTabType)) {
         vid_bTestFail($this, false, 'user table ID', $lTableID);
     }
     verifyIDsViaType($this, $enumTabType, $lForeignID, false);
     if (!is_numeric($lEditFieldID)) {
         vid_bTestFail($this, false, 'user field ID', $lEditFieldID);
     }
     $displayData = array();
     $displayData['lTableID'] = $lTableID = (int) $lTableID;
     $displayData['lForeignID'] = $lForeignID = (int) $lForeignID;
     $displayData['lEditFieldID'] = $lEditFieldID = (int) $lEditFieldID;
     //-----------------------
     // load table info
     //-----------------------
     $bEditMode = $lEditFieldID > 0;
     $this->load->model('personalization/muser_fields', 'clsUF');
     $this->load->model('personalization/muser_fields_display', 'clsUFD');
     $this->load->model('admin/mpermissions', 'perms');
     $this->load->library('util/dl_date_time', '', 'clsDateTime');
     $params = array('enumStyle' => 'enpRptC');
     $this->load->library('generic_rpt', $params);
     $this->load->model('admin/madmin_aco');
     $this->load->helper('dl_util/time_date');
     $this->load->helper('dl_util/context');
     $this->clsUFD->lTableID = $lTableID;
     $this->clsUFD->lForeignID = $lForeignID;
     $this->clsUFD->loadTableViaTableID();
     $enumTType = $this->clsUFD->userTables[0]->enumTType;
     loadSupportModels($enumTType, $lForeignID);
     // validation rules
     $this->form_validation->set_error_delimiters('<div class="formError">', '</div>');
     $this->form_validation->set_rules('txtxxxx');
     // dummy
     if ($bEditMode) {
         $this->clsUFD->loadSingleField($lEditFieldID);
         $enumFType = $this->clsUFD->fields[0]->enumFieldType;
         $strFName = 'var' . $lEditFieldID;
         if ($enumFType == CS_FT_DATE) {
             $this->form_validation->set_rules($strFName, 'Date Field', 'trim|callback_ufFieldVerifyDateValid');
         }
         if ($enumFType == CS_FT_INTEGER) {
             $this->form_validation->set_rules($strFName, 'Number Field', 'trim|required|callback_stripCommas|integer');
         }
         if ($enumFType == CS_FT_CURRENCY) {
             $this->form_validation->set_rules($strFName, 'Currency Field', 'trim|required|callback_stripCommas|numeric');
         }
     }
     if ($this->form_validation->run() == FALSE) {
         //------------------------------------------------------
         // set form validation based on field type being edited
         //------------------------------------------------------
         if ($bEditMode) {
             $this->load->helper('dl_util/web_layout');
         }
         $displayData['title'] = CS_PROGNAME . ' | Personalized Fields';
         $displayData['pageTitle'] = $this->clsUFD->strBreadcrumbsTableDisplay(0);
         $displayData['nav'] = $this->mnav_brain_jar->navData();
         $displayData['strTableDisplay'] = $this->clsUFD->strEditUserTableEntries($lEditFieldID);
         $displayData['strHTMLSummary'] = $this->clsUFD->strHTMLSummary;
         $displayData['mainTemplate'] = 'admin/user_table_add_edit_view';
         $this->load->vars($displayData);
         $this->load->view('template');
     } else {
         $this->clsUFD->loadSingleField($lEditFieldID);
         $enumType = $this->clsUFD->fields[0]->enumFieldType;
         $strFieldID = 'var' . $lEditFieldID;
         switch ($enumType) {
             case CS_FT_CHECKBOX:
                 $varUserVal = @$_POST[$strFieldID] == 'TRUE';
                 break;
             case CS_FT_DATE:
                 $varUserVal = trim($_POST[$strFieldID]);
                 if ($varUserVal == '') {
                     $varUserVal = ' null ';
                 } else {
                     MDY_ViaUserForm($varUserVal, $lMon, $lDay, $lYear, $gbDateFormatUS);
                     $varUserVal = ' "' . strMoDaYr2MySQLDate($lMon, $lDay, $lYear) . '" ';
                 }
                 break;
             case CS_FT_DATETIME:
                 break;
             case CS_FT_TEXTLONG:
             case CS_FT_TEXT255:
             case CS_FT_TEXT80:
             case CS_FT_TEXT20:
                 $varUserVal = trim($_POST[$strFieldID]);
                 break;
             case CS_FT_INTEGER:
                 $varUserVal = (int) $_POST[$strFieldID];
                 break;
             case CS_FT_CURRENCY:
                 $varUserVal = number_format($_POST[$strFieldID], 2, '.', '');
                 break;
             case CS_FT_DDL:
                 $varUserVal = (int) $_POST[$strFieldID];
                 break;
             default:
                 screamForHelp($enumType . ': invalid field type<br>error on line ' . __LINE__ . ',<br>file ' . __FILE__ . ',<br>function ' . __FUNCTION__);
                 break;
         }
         $this->clsUFD->updateUserField($varUserVal);
         redirect('admin/uf_user_edit/userAddEdit/' . $lTableID . '/' . $lForeignID . '/0');
     }
 }