public static function getLogin() { if (!self::$user && isset($_SESSION[self::KEY_USER_ID])) { self::$user = \MemberQuery::create()->findOneById($_SESSION[self::KEY_USER_ID]); } return self::$user; }
public function action_changeShort() { echo 'test2'; return; $member = \MemberQuery::create()->findOneById(1); $con = \Propel::getConnection(); if (!$con->beginTransaction()) { throw new \Exception('Could not begin transaction'); } try { $transfer = \TransferQuery::create()->findOneById(1); if (!$transfer) { $transfer = new \Transfer(); $transfer->setMemberId($member->getId()); $transfer->save($con); $transfer = \TransferQuery::create()->findOneById(1); } $transfer->setAmount($transfer->getAmount() + 2); $transfer->save($con); if (!$con->commit()) { throw new \Exception('Could not commit transaction'); } } catch (\Exception $e) { $con->rollBack(); throw $e; } print_r('<pre>'); print_r($transfer->toArray()); print_r('</pre>'); }
public function action_allinvoices() { $members = \MemberQuery::create()->filterByDeletionDate(null, \Criteria::ISNULL)->filterByNum('101', \Criteria::NOT_EQUAL)->orderBy('num')->find(); $result = '<div class="container"><div class="row sheet"> <table class="table2Debug"> <tbody> <tr> <th>Member</th> <th>Total</th> <th>Reasons Total</th> <th>Quantity</th> <th>Reasons</th> </tr>'; $reasons = \Tbmt\Localizer::get('view.account.tabs.invoice.transaction_reasons'); foreach ($members as $member) { $result .= '<tr>'; $result .= '<td>' . $member->getNum() . ' - ' . $member->getFirstName() . ' - ' . $member->getLastName() . '</td>'; $result .= '<td>' . \Tbmt\view\Factory::currencyArrToString($member->getOutstandingTotal()) . '</td>'; $result .= '<td colspan="3"></td>'; $result .= '</tr>'; $transactions = \TransactionQuery::create()->join('Transfer')->useTransferQuery()->filterByMember($member)->endUse()->select(['Reason'])->withColumn('count(*)', 'Quantity')->withColumn('sum(Transaction.Amount)', 'Total')->groupBy('Transfer.Currency')->groupBy('Transaction.Reason')->find(); foreach ($transactions as $transaction) { $result .= '<tr>'; $result .= '<td colspan="2"></td>'; $result .= '<td>' . \Tbmt\Localizer::numFormat($transaction['Total']) . '</td>'; $result .= '<td>' . $transaction['Quantity'] . '</td>'; $result .= '<td>' . $reasons[$transaction['Reason']] . '</td>'; $result .= '</tr>'; } } $result .= '</tbody></table></div></div>'; return $result; }
public function render(array $params = array()) { if (!isset($params['member']) && !$params['member'] instanceof \Member) { throw new \Exception('Invalid param member for account index view.'); } $this->members = \MemberQuery::create()->filterByPaidDate(null, \Criteria::ISNULL)->filterByDeletionDate(null, \Criteria::ISNULL)->find(); return $this->renderFile(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'tab.dev_paying.account.html', $params); }
function insertMember($data) { $mbr = new Member(); $mbrQ = new MemberQuery(); $mbr->setFirstName($data[0]); $mbr->setLastName($data[1]); $mbr->setGender($data[2]); $mbr->setSchoolId($data[3]); $mbr->setStandard($data[4]); $mbr->setGrade($data[5]); $mbr->setRollNo($data[6]); $mbr->setParentName($data[7]); $mbr->setParentOccupation($data[8]); $mbr->setMotherTongue($data[9]); $barcode = $mbrQ->assignRollNumber($mbr); $mbr->setBarcodeNmbr($barcode); $mbr->setClassification(3); return $mbrQ->insert($mbr); }
public static function validatePasswordResetForm(array $data = array()) { $data = self::initPasswordResetForm($data); $res = \Tbmt\Validator::getErrors($data, self::$PASSWORD_RESET_FORM_FILTERS); if ($res !== false) { return [false, $res, null]; } $recipient = \MemberQuery::create()->filterByDeletionDate(null, \Criteria::ISNULL)->findOneByNum($data['num']); if ($recipient == null) { return [false, ['num' => \Tbmt\Localizer::get('error.member_num')], null]; } return [true, $data, $recipient]; }
public function render(array $params = array()) { if (!isset($params['member']) && !$params['member'] instanceof \Member) { throw new \Exception('Invalid param "member" for account index view.'); } $this->totalMemberCount = \MemberQuery::create()->count(); $this->totalPaidMemberCount = \MemberQuery::create()->filterByPaidDate(null, \Criteria::ISNOTNULL)->count(); $this->absoluteTransferredTotal = ''; // $this->absoluteTransferredTotal = \MemberQuery::create() // ->withColumn('count(*)', 'nbComments') // ->count(); $this->member = $params['member']; $this->members = \MemberQuery::create()->filterByType(-1, \Criteria::NOT_EQUAL)->orderBy(\MemberPeer::ID, \Criteria::ASC)->limit(300)->find(); return $this->renderFile(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'tab.total_invoice.account.html', $params); }
/** * Remind all unpaid members after 7 days. * * @return */ public static function emailReminder($now = null, $allowedDays = '-7 days') { $con = \Propel::getConnection(); if (!$con->beginTransaction()) { throw new \Exception('Could not begin transaction'); } if ($now === null) { $now = time(); } $before7Days = strtotime($allowedDays, $now); $result = ''; try { $unpaidMembers = \MemberQuery::create()->filterByIsExtended(1)->filterByPaidDate(null, \Criteria::ISNULL)->filterBySignupDate($before7Days, \Criteria::LESS_EQUAL)->filterByDeletionDate(null, \Criteria::ISNULL)->joinReservedPaidEventRelatedByPaidId(null, \Criteria::LEFT_JOIN)->where(\ReservedPaidEventPeer::PAID_ID . ' is null', null)->joinMemberData(null, \Criteria::LEFT_JOIN)->with('MemberData')->condition('reminderMailIsNull', 'MemberData.FeeReminderEmail is null', null)->condition('reminderMailEqualZero', 'MemberData.FeeReminderEmail = ?', 0)->where(array('reminderMailIsNull', 'reminderMailEqualZero'), \Criteria::LOGICAL_OR)->find(); $result .= "7 days reminder email job:\n\n"; if (count($unpaidMembers) > 0) { $result .= "Found " . count($unpaidMembers) . " members:\n\n"; } else { $result .= "No member to remind found."; } foreach ($unpaidMembers as $member) { $totalAdvertised = $member->getAdvertisedCountTotal(); $result .= "Member: " . $member->getNum() . "\n"; $result .= "Advertised count: " . $totalAdvertised . "\n"; if ($totalAdvertised === 0) { MailHelper::sendFeeReminder($member); MailHelper::sendFeeReminderReferrer($member->getReferrerMember(), $member); } else { MailHelper::sendFeeReminderWithAdvertisings($member); MailHelper::sendFeeReminderWithAdvertisingsReferrer($member->getReferrerMember(), $member); } $data = $member->getMemberData(); if (!$data) { $data = new \MemberData(); $data->setMemberId($member->getId()); } $data->setFeeReminderEmail(1); $data->save($con); $result .= "---------\n\n"; } if (!$con->commit()) { throw new \Exception('Could not commit transaction'); } } catch (\Exception $e) { $con->rollBack(); throw $e; } return $result; }
public static function validateBonusTransactionForm(array $data = array()) { $data = self::initBonusTransactionForm($data); $res = \Tbmt\Validator::getErrors($data, self::$BONUS_TRANSACTION_FORM_FILTERS); if ($res !== false) { return [false, $res, null]; } $recipient = \MemberQuery::create()->filterByDeletionDate(null, Criteria::ISNULL)->findOneByNum($data['recipient_num']); if ($recipient == null) { return [false, ['recipient_num' => \Tbmt\Localizer::get('error.member_num')], null]; } if (!$recipient->hadPaid()) { return [false, ['recipient_num' => \Tbmt\Localizer::get('error.member_num_unpaid')], null]; } return [true, $data, $recipient]; }
public static function validateInvitationForm(array $data = array()) { $data = self::initInvitationForm($data); if ($data['type'] !== \Member::TYPE_SUB_PROMOTER) { $data['promoter_num'] = ''; } if ($data['type'] === \Member::TYPE_SUB_PROMOTER && !$data['promoter_num']) { return [false, ['promoter_num' => \Tbmt\Localizer::get('error.empty')], null]; } $recipient = \MemberQuery::create()->filterByDeletionDate(null, Criteria::ISNULL)->findOneByNum($data['promoter_num']); if ($recipient == null) { return [false, ['promoter_num' => \Tbmt\Localizer::get('error.member_num')], null]; } if ($recipient->getType() !== \Member::TYPE_PROMOTER) { return [false, ['promoter_num' => \Tbmt\Localizer::get('error.sub_promoter_to_promoter')], null]; } if (!$recipient->hadPaid()) { return [false, ['promoter_num' => \Tbmt\Localizer::get('error.member_num_unpaid')], null]; } return [true, $data, $recipient]; }
public static function pushRootAccounts() { $con = \Propel::getConnection(); if (!$con->beginTransaction()) { throw new \Exception('Could not begin transaction'); } $now = time(); try { $rootAccountNums = \SystemStats::$ROOT_ACCOUNTS_NUM; $rootAccounts = \MemberQuery::create()->filterByNum($rootAccountNums, \Criteria::IN)->filterByDeletionDate(null, \Criteria::ISNULL)->find(); $arrRootAccounts = []; foreach ($rootAccounts as $account) { $transfers = $account->getOpenCollectingTransfers($con); $arrTransfers = []; foreach ($transfers as $transfer) { $transfer->executeTransfer($account); $transfer->save($con); $arrTransfers[] = $transfer->toArray(); } if (count($arrTransfers) === 0) { continue; } $account->save($con); $arrRootAccounts[] = $account->toArray() + ['Transfers' => $arrTransfers]; } $client = new ApiClient(); print_r('<pre>'); print_r([$client->pushRootAccounts($arrRootAccounts)]); print_r('</pre>'); throw new \Exception('test'); if (!$con->commit()) { throw new \Exception('Could not commit transaction'); } } catch (\Exception $e) { $con->rollBack(); throw $e; } }
public function render(array $params = array()) { if (!isset($params['member']) && !$params['member'] instanceof \Member) { throw new \Exception('Invalid param member for account index view.'); } $this->member = $params['member']; $this->recipient = isset($params['recipient']) ? $params['recipient'] : null; $this->formVal = \Member::initBonusLevelForm(isset($params['formVal']) ? $params['formVal'] : $_REQUEST); $this->formErrors = isset($params['formErrors']) ? $params['formErrors'] : []; $this->successmsg = isset($params['successmsg']) ? true : false; $query = \MemberQuery::create()->joinActivity()->select(['Num', 'BonusLevel', 'Activity.Meta', 'Activity.Date'])->where('Activity.MemberId = ?', $this->member->getId())->orderBy('Activity.Date', \Criteria::DESC)->limit(100); $objBonusMembers = $query->find(); $arrBonusMembers = []; $currencySymbol = \Tbmt\Localizer::get('currency_symbol.' . \Transaction::$BASE_CURRENCY); $dateFormat = \Tbmt\Localizer::get('datetime_format_php.long'); foreach ($objBonusMembers as $bonusMembers) { $meta = json_decode($bonusMembers['Activity.Meta'], true); $amount = isset($meta[\Activity::MK_BONUS_PAYMENT_AMOUNT]) ? \Tbmt\Localizer::currencyFormat($meta[\Activity::MK_BONUS_PAYMENT_AMOUNT], $currencySymbol) : ' - '; $arrBonusMembers[] = [$bonusMembers['Num'], $amount, (new \DateTime($bonusMembers['Activity.Date']))->format($dateFormat)]; } $this->bonusMembers = $arrBonusMembers; return $this->renderFile(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'tab.bonus_levels.account.html', $params); }
public function validateSignupForm(array $data = array()) { $data['referral_member_num'] = Session::hasValidToken(); $data = $this->initSignupForm($data); if ($data['password'] !== $data['password2']) { return [false, ['password' => \Tbmt\Localizer::get('error.password_unequal')], null, null]; } $res = \Tbmt\Validator::getErrors($data, $this->SIGNUP_FORM_FILTERS); if ($res !== false) { return [false, $res, null, null]; } // Validate member number exists $parentMember = \MemberQuery::create()->filterByDeletionDate(null, \Criteria::ISNULL)->filterByType(\Member::TYPE_SYSTEM, \Criteria::NOT_EQUAL)->findOneByHash($data['referral_member_num'])->findOneByIsExtended(1); if ($parentMember == null || $parentMember->getNum() == 0) { return [false, ['referral_member_num' => \Tbmt\Localizer::get('error.referral_member_num')], null, null]; } // else if ( $parentMember->hadPaid() ) { // return [false, ['referral_member_num' => \Tbmt\Localizer::get('error.referrer_paiment_outstanding')], null]; // } $invitation = null; if ($data['invitation_code'] !== '') { $invitation = \InvitationQuery::create()->findOneByHash($data['invitation_code']); if ($parentMember == null) { return [false, ['invitation_code' => \Tbmt\Localizer::get('error.invitation_code_inexisting')], null, null]; } if ($invitation->getMemberId() != $parentMember->getId()) { return [false, ['invitation_code' => \Tbmt\Localizer::get('error.invitation_code_invalid')], null, null]; } if ($invitation->getAcceptedMemberId()) { return [false, ['invitation_code' => \Tbmt\Localizer::get('error.invitation_code_used')], null, null]; } } if (!isset($data['email'])) { $data['email'] = ''; } return [true, $data, $parentMember, $invitation]; }
$trans = $transQ->insert($trans); if ($transQ->errorOccurred()) { $transQ->close(); displayErrorPage($transQ); } // Set fee message if (OBIB_LOCALE == 'th') { $balText = number_format($fee, 2) . ' บาท'; } else { $balText = moneyFormat($fee, 2); } $_SESSION['feeMsg'] = "<font class=\"error\">" . $loc->getText("mbrViewBalMsg2", array("fee" => $balText)) . " <a href=\"../circ/mbr_account.php?mbrid=" . $saveMbrid . "&reset=Y\">" . $loc->getText('mbrAccountLink') . "</a></font><br><br>"; $transQ->close(); } // Update activity $mbrQ = new MemberQuery(); $mbrQ->connect(); $mbrQ->updateActivity($saveMbrid); $mbrQ->close(); } #************************************************************************** #* Destroy form values and errors #************************************************************************** unset($_SESSION["postVars"]); unset($_SESSION["pageErrors"]); #************************************************************************** #* Go back to member view #************************************************************************** if ($holdQ->getRowCount() > 0) { header("Location: ../circ/hold_message.php?barcode=" . U($barcode)); } else {
* Javascript to post checkin form ************************************************************************** --> <script language="JavaScript" type="text/javascript"> <!-- function checkin(massCheckinFlg) { document.checkinForm.massCheckin.value = massCheckinFlg; document.checkinForm.submit(); } --> </script> <?php if (isset($_GET['barcode'])) { if (isset($_GET['mbrid']) and $_GET['mbrid']) { $memberQ = new MemberQuery(); $mbr = $memberQ->get($_GET['mbrid']); echo '<p>'; echo $loc->getText("Checked in %barcode% for ", array('barcode' => $_GET['barcode'])); echo '<a href="../circ/mbr_view.php?mbrid=' . HURL($mbr->getMbrid()) . '&reset=Y">'; echo $loc->getText("%fname% %lname%", array('fname' => $mbr->getFirstName(), 'lname' => $mbr->getLastName())); echo '</a>.'; echo '</p>'; if (isset($_GET['late']) and $_GET['late']) { echo '<p><font class="error">' . $loc->getText("mbrViewOutHdr7") . ': ' . $_GET['late'] . '</font></p>'; } $acctQ = new MemberAccountQuery(); $balance = $acctQ->getBalance($mbr->getMbrid()); $balMsg = ""; if ($balance > 0) { $balText = moneyFormat($balance, 2);
#* Checking for query string. Go back to list if none found. #**************************************************************************** if (!isset($_REQUEST["code"])) { header("Location: ../admin/member_fields_list.php"); exit; } $code = $_REQUEST["code"]; $description = $_REQUEST["desc"]; #************************************************************************** #* Delete row #************************************************************************** $dmQ = new DmQuery(); $dmQ->connect(); $dmQ->delete("member_fields_dm", $code); $dmQ->close(); $memberQ = new MemberQuery(); $memberQ->connect(); $memberQ->deleteCustomField($code); $dmQ->close(); #************************************************************************** #* Show success page #************************************************************************** require_once "../shared/header.php"; echo $loc->getText("Member field, %desc%, has been deleted.", array('desc' => $description)); ?> <br><br> <a href="../admin/member_fields_list.php"><?php echo $loc->getText("return to member field list"); ?> </a>
public static function setUpBonusMembers($doReset = true, $options = false) { if (!\MemberQuery::create()->findOneByNum(SystemStats::ACCOUNT_NUM_SYSTEM)) { \Tbmt\SystemSetup::setCon(self::$con); \Tbmt\SystemSetup::doSetup(); } $options = array_merge(['IT' => true, 'VL' => true, 'OL' => true, 'PM' => true, 'VS2' => true, 'VS1' => true], $options ? $options : []); $currentParent = null; $currentBonusIds = '[]'; /* it specialists ---------------------------------------------*/ $IT_t = 0; $IT = null; if ($options['IT']) { if ($doReset === true || self::$it_member === null) { $IT_t = 0; $IT = self::$it_member = DbEntityHelper::createMember($currentParent, ['Type' => Member::TYPE_ITSPECIALIST, 'FundsLevel' => Member::FUNDS_LEVEL2]); } else { $IT = self::$it_member; $IT_t = self::$it_member->getOutstandingTotal()[DbEntityHelper::$currency]; } $currentBonusIds = MemberBonusIds::populate($IT, '[]'); } /* marketing leader ---------------------------------------------*/ $VL_t = 0; $VL = null; if ($options['VL']) { $VL = DbEntityHelper::createMember($currentParent, ['Type' => Member::TYPE_MARKETINGLEADER, 'FundsLevel' => Member::FUNDS_LEVEL2, 'BonusIds' => $currentBonusIds]); $currentBonusIds = MemberBonusIds::populate($VL, $VL->getBonusIds()); $currentParent = $VL; } /* org leader ---------------------------------------------*/ $OL_t = 0; $OL = null; if ($options['OL']) { $OL = DbEntityHelper::createMember($currentParent, ['Type' => Member::TYPE_ORGLEADER, 'FundsLevel' => Member::FUNDS_LEVEL2, 'BonusIds' => $currentBonusIds]); $currentBonusIds = MemberBonusIds::populate($OL, $OL->getBonusIds()); $currentParent = $OL; } /* promoter ---------------------------------------------*/ $PM_t = 0; $PM = null; if ($options['PM']) { $IT_t += Transaction::getAmountForReason(Transaction::REASON_IT_BONUS); $VL_t += Transaction::getAmountForReason(Transaction::REASON_VL_BONUS); if (!$OL) { $OL_t =& $VL_t; } $OL_t += Transaction::getAmountForReason(Transaction::REASON_ADVERTISED_LVL2) + Transaction::getAmountForReason(Transaction::REASON_OL_BONUS) + Transaction::getAmountForReason(Transaction::REASON_PM_BONUS); // TODO question: // kriegt der ol in diesem fall 22 oder 21 euro ? // 22 weil der ja den bonus der promoters kriegt wenn er jemand // wirbt ohne das ein promoter dazwischen ist? if ($currentParent) { $PM = DbEntityHelper::createSignupMember($currentParent); } else { $PM = DbEntityHelper::createMember($currentParent, ['BonusIds' => $currentBonusIds]); $IT_t -= Transaction::getAmountForReason(Transaction::REASON_IT_BONUS); $VL_t -= Transaction::getAmountForReason(Transaction::REASON_VL_BONUS); $OL_t -= Transaction::getAmountForReason(Transaction::REASON_ADVERTISED_LVL2) + Transaction::getAmountForReason(Transaction::REASON_OL_BONUS) + Transaction::getAmountForReason(Transaction::REASON_PM_BONUS); } $PM->setType(Member::TYPE_PROMOTER)->setFundsLevel(Member::FUNDS_LEVEL2)->save(self::$con); $currentParent = $PM; } /* funds level 2 ---------------------------------------------*/ $VS2_t = 0; $VS2 = null; if ($options['VS2']) { $IT_t += Transaction::getAmountForReason(Transaction::REASON_IT_BONUS) * 3; $VL_t += Transaction::getAmountForReason(Transaction::REASON_VL_BONUS) * 3; if (!$OL) { $OL_t =& $VL_t; } $OL_t += Transaction::getAmountForReason(Transaction::REASON_OL_BONUS) * 3; if (!$PM) { $PM_t =& $OL_t; } $PM_t += Transaction::getAmountForReason(Transaction::REASON_ADVERTISED_LVL2) + Transaction::getAmountForReason(Transaction::REASON_PM_BONUS) + 2 * (Transaction::getAmountForReason(Transaction::REASON_PM_BONUS) + Transaction::getAmountForReason(Transaction::REASON_ADVERTISED_INDIRECT)); $VS2_t += 2 * Transaction::getAmountForReason(Transaction::REASON_ADVERTISED_LVL1); $VS2 = DbEntityHelper::createSignupMember($currentParent); DbEntityHelper::createSignupMember($VS2); DbEntityHelper::createSignupMember($VS2); $currentParent = $VS2; } /* funds level 1 ---------------------------------------------*/ $VS1_t = 0; $VS1 = null; if ($options['VS1']) { $IT_t += Transaction::getAmountForReason(Transaction::REASON_IT_BONUS); $VL_t += Transaction::getAmountForReason(Transaction::REASON_VL_BONUS); if (!$OL) { $OL_t =& $VL_t; } $OL_t += Transaction::getAmountForReason(Transaction::REASON_OL_BONUS); if (!$PM) { $PM_t =& $OL_t; } $PM_t += Transaction::getAmountForReason(Transaction::REASON_PM_BONUS); if (!$VS2) { $VS2_t =& $PM_t; } $VS2_t += Transaction::getAmountForReason(Transaction::REASON_ADVERTISED_LVL2); $VS1 = DbEntityHelper::createSignupMember($currentParent); } return [[$IT, $VL, $OL, $PM, $VS2, $VS1], [$IT_t, $VL_t, $OL_t, $PM_t, $VS2_t, $VS1_t]]; }
//define el tipo de busqueda switch ($searchType) { case "cduclvsearch": $sType = OBIB_SEARCH_CDU_CLV; break; case "cdunumsearch": $sType = OBIB_SEARCH_CDU_NUM; break; case 'cdudessearch': $sType = OBIB_SEARCH_CDU_DES; break; } #**************************************************************************** #* Search database #**************************************************************************** $mbrQ = new MemberQuery(); $mbrQ->setItemsPerPage(OBIB_ITEMS_PER_PAGE); $mbrQ->connect(); $mbrQ->execSearch($sType, $searchText, $currentPageNmbr); #************************************************************************** #* Show member view screen if only one result from barcode query #************************************************************************** if ($sType == OBIB_SEARCH_BARCODE && $mbrQ->getRowCount() == 0) { $mbr = $mbrQ->fetchMember(); $mbrQ->close(); header("Location: ../catalog/cdu_view.php?mbrid=" . U($mbr->getMbrid()) . "&reset=Y"); exit; } #************************************************************************** #* Show search results #**************************************************************************
} else { $msg = ""; } #**************************************************************************** #* Loading a few domain tables into associative arrays #**************************************************************************** $dmQ = new DmQuery(); $dmQ->connect(); $mbrClassifyDm = $dmQ->getAssoc("mbr_classify_dm"); $materialTypeDm = $dmQ->getAssoc("material_type_dm"); $materialImageFiles = $dmQ->getAssoc("material_type_dm", "image_file"); $dmQ->close(); #**************************************************************************** #* Search database for member #**************************************************************************** $mbrQ = new MemberQuery(); $mbrQ->connect(); $mbr = $mbrQ->get($mbrid); $mbrQ->close(); #************************************************************************** #* Show member checkouts #************************************************************************** ?> <html> <head> <style type="text/css"> <?php include "../css/style.php"; ?> </style> <meta name="description" content="EspaBiblio Gestion de Bibliotecas">
function _checkout_e($mbcode, $bcode, $due, $date, $force) { if ($date === NULL) { list($date, $err) = Date::read_e('today'); if ($err) { Fatal::internalError("Unexpected date error: " . $err); } $earliest = $latest = time(); } else { list($date, $err) = Date::read_e($date); if ($err) { return new Error($this->_loc->getText("Can't understand date: %err%", array('err' => $err->toStr()))); } $earliest = strtotime($date . " 00:00:00"); $latest = strtotime($date . " 23:59:59"); } if ($due !== NULL) { list($due, $err) = Date::read_e($due); if ($err) { return new Error($this->_loc->getText("Can't understand date: %err%", array('err' => $err->toStr()))); } } if ($earliest > time()) { return new Error($this->_loc->getText("Won't do checkouts for future dates.")); } $mbrQ = new MemberQuery(); $mbr = $mbrQ->maybeGetByBarcode($mbcode); if (!$mbr) { return new Error($this->_loc->getText("Bad member barcode: %bcode%", array('bcode' => $mbcode))); } $mbrid = $mbr->getMbrid(); if (!$force && OBIB_BLOCK_CHECKOUTS_WHEN_FINES_DUE) { $acctQ = new MemberAccountQuery(); $balance = $acctQ->getBalance($mbrid); if ($balance > 0) { return new Error($this->_loc->getText("Member owes fines: checkout not allowed")); } } $copyQ = new BiblioCopyQuery(); $copy = $copyQ->maybeGetByBarcode($bcode); if (!$copy) { return new Error($this->_loc->getText("Bad copy barcode: %bcode%", array('bcode' => $bcode))); } if ($copy->getStatusCd() == OBIB_STATUS_OUT) { if ($copy->getMbrid() == $mbrid) { # Renewal $reachedLimit = $copyQ->hasReachedRenewalLimit($mbrid, $mbr->getClassification(), $copy); if (!$force && $reachedLimit) { return new Error($this->_loc->getText("Item %bcode% has reached its renewal limit.", array('bcode' => $bcode))); } else { if (!$force && $copy->getDaysLate() > 0) { return new Error($this->_loc->getText("Item %bcode% is late and cannot be renewed.", array('bcode' => $bcode))); } else { $copy->setRenewalCount($copy->getRenewalCount() + 1); } } } else { if ($force) { list($dummy, $err) = $this->shelving_cart_e($bcode, $date, $force); if ($err) { return $err; } $copy = $copyQ->maybeGetByBarcode($bcode); if (!$copy) { Fatal::internalError("Copy disappeared mysteriously."); } } else { return new Error($this->_loc->getText("Item %bcode% is already checked out to another member.", array('bcode' => $bcode))); } } } else { $copy->setRenewalCount(0); $reachedLimit = $copyQ->hasReachedCheckoutLimit($mbrid, $mbr->getClassification(), $copy->getBibid()); if (!$force && $reachedLimit) { return new Error($this->_loc->getText("Member has reached checkout limit for this collection.")); } } $days = $copyQ->getDaysDueBack($copy); if ($days <= 0) { if ($force) { # the checkout has probably already happened, just guess - FIXME? $days = 14; } else { return new Error($this->_loc->getText("Checkouts are disallowed for this collection.")); } } if ($copy->getStatusCd() == OBIB_STATUS_ON_HOLD) { $holdQ = new BiblioHoldQuery(); $hold = $holdQ->maybeGetFirstHold($copy->getBibid(), $copy->getCopyid()); if ($hold) { // FIXME: Y2K38. Before 2038, timestamp won't be outside valid range. $holdAge = Date::daysLater($date, $hold->getHoldBeginDt()); if (OBIB_HOLD_MAX_DAYS > 0 && $holdAge > OBIB_HOLD_MAX_DAYS) { $tooOld = true; } else { $tooOld = false; } if ($tooOld || $mbrid == $hold->getMbrid()) { $holdQ->delete($hold->getBibid(), $hold->getCopyid(), $hold->getHoldid()); } else { if (!$force) { return new Error($this->_loc->getText("Item is on hold for another member.")); } } } } $oldtime = strtotime($copy->getStatusBeginDt()); if ($oldtime > $latest) { return new Error($this->_loc->getText("Can't change status to an earlier date on item %bcode%.", array('bcode' => $bcode))); } else { if ($oldtime == $latest) { return new Error($this->_loc->getText("Can't change status more than once per second on item %bcode%.", array('bcode' => $bcode))); } else { if ($oldtime < $earliest) { $time = date('Y-m-d H:i:s', $earliest); } else { $time = date('Y-m-d H:i:s', $oldtime + 1); } } } $copy->setStatusCd(OBIB_STATUS_OUT); $copy->setMbrid($mbrid); $copy->setStatusBeginDt($time); if ($due === NULL) { $copy->setDueBackDt(Date::addDays($date, $days)); } else { $copy->setDueBackDt($due); } if (!$copyQ->updateStatus($copy)) { Fatal::InternalError("Impossible copyQ update error."); } $hist = new BiblioStatusHist(); $hist->setBibid($copy->getBibid()); $hist->setCopyid($copy->getCopyid()); $hist->setStatusCd($copy->getStatusCd()); $hist->setStatusBeginDt($copy->getStatusBeginDt()); $hist->setDueBackDt($copy->getDueBackDt()); $hist->setMbrid($copy->getMbrid()); $hist->setRenewalCount($copy->getRenewalCount()); $histQ = new BiblioStatusHistQuery(); $histQ->insert($hist); }
require_once "../classes/CircQuery.php"; require_once "../classes/Date.php"; require_once "../functions/errorFuncs.php"; require_once "../functions/formatFuncs.php"; require_once "../classes/Localize.php"; $loc = new Localize(OBIB_LOCALE, $tab); if (count($_GET) != 0) { $_POST = $_GET; } if (count($_POST) == 0) { header("Location: ../circ/index.php"); exit; } $barcode = trim($_POST["barcodeNmbr"]); $mbrid = trim($_POST["mbrid"]); $mbrQ = new MemberQuery(); $mbr = $mbrQ->get($mbrid); $postVars = $_POST; $pageErrors = array(); function checkerror($field, $err) { global $mbrid, $postVars, $pageErrors; if (!$err) { return; } $pageErrors[$field] = $err->toStr(); $_SESSION["postVars"] = $postVars; $_SESSION["pageErrors"] = $pageErrors; header("Location: ../circ/mbr_view.php?mbrid=" . U($mbrid)); exit; }
} $sclid = $_POST["schoolId"]; // if (isset($_GET["sclid"])){ // $sclid = $_GET["sclid"]; // } else { // require("../shared/get_form_vars.php"); // $sclid = $postVars["sclid"]; // } $schoolid = $_POST["schoolId"]; #**************************************************************************** #* Validate data #**************************************************************************** #************************************************************************** #* Insert new library school #************************************************************************** $standardLevel = $_POST["standardLevel"]; $_POST["standardLevel"] = $standardLevel; $standardGrade = $_POST["standardGrade"]; $_POST["standardGrade"] = $standardGrade; $mbrQ = new MemberQuery(); $mbrQ->connect(); $mbrQ->updateStandards($schoolid, $standardLevel, $standardGrade); $mbrQ->close(); #************************************************************************** #* Destroy form values and errors #************************************************************************** unset($_SESSION["postVars"]); unset($_SESSION["pageErrors"]); $msg = $loc->getText("sclPromoteSuccess", array("grade" => $standardLevel . "" . $standardGrade)); header("Location: ../circ/scl_view.php?sclid=" . U($sclid) . "&reset=Y&msg=" . U($msg)); exit;
$restrictToMbrAuth = TRUE; $nav = "deletedone"; $restrictInDemo = true; require_once "../shared/logincheck.php"; require_once "../classes/MemberQuery.php"; require_once "../classes/BiblioStatusHistQuery.php"; require_once "../classes/MemberAccountQuery.php"; require_once "../functions/errorFuncs.php"; require_once "../classes/Localize.php"; $loc = new Localize(OBIB_LOCALE, $tab); $mbrid = $_GET["mbrid"]; $mbrName = $_GET["name"]; #************************************************************************** #* Delete library member #************************************************************************** $mbrQ = new MemberQuery(); $mbrQ->connect(); $mbrQ->delete($mbrid); $mbrQ->close(); #************************************************************************** #* Delete Member History #************************************************************************** $histQ = new BiblioStatusHistQuery(); $histQ->connect(); if ($histQ->errorOccurred()) { $histQ->close(); displayErrorPage($histQ); } if (!$histQ->deleteByMbrid($mbrid)) { $histQ->close(); displayErrorPage($histQ);
function render($rpt) { list($rpt, $errs) = $rpt->variant_el(array('order_by' => 'member')); if (!empty($errs)) { Fatal::internalError('Unexpected report error'); } $mbrQ = new MemberQuery(); $lay = new Lay(); $lay->pushFont('Helvetica', 10); $lay->container('Columns', array('margin-left' => '1in', 'margin-right' => '1in', 'margin-top' => '1in', 'margin-bottom' => '1in')); $mbr = NULL; $oldmbr = NULL; while ($row = $rpt->each()) { if ($row['mbrid'] != $oldmbr) { if ($oldmbr !== NULL) { $lay->close(); $lay->container('Columns', array('margin-left' => '1in', 'margin-right' => '1in', 'margin-top' => '1in', 'margin-bottom' => '1in')); } $mbr = $mbrQ->get($row['mbrid']); $oldmbr = $row['mbrid']; $lay->container('Column', array('margin-left' => '3.25in')); $lay->container('TextLine'); $lay->text(date('m/d/Y')); $lay->close(); $lay->element('Spacer', array('height' => 14)); $lines = array(OBIB_LIBRARY_NAME, '101 1st Street', 'Busytown, IA 11111-2222', 'phone: ' . OBIB_LIBRARY_PHONE, 'hours: ' . OBIB_LIBRARY_HOURS); foreach ($lines as $l) { $lay->container('TextLine'); $lay->text($l); $lay->close(); } $lay->close(); $lay->element('Spacer', array('height' => 14)); $lay->container('TextLine'); $lay->text($mbr->getFirstName() . ' ' . $mbr->getLastName()); $lay->close(); foreach (explode("\n", $mbr->getAddress()) as $l) { $lay->container('TextLine'); $lay->text($l); $lay->close(); } $lay->element('Spacer', array('height' => 14)); $lay->container('TextLine'); $lay->text('Dear ' . $mbr->getFirstName() . ' ' . $mbr->getLastName() . ':'); $lay->close(); $lay->element('Spacer', array('height' => 9)); $lay->container('Paragraph'); $lay->container('TextLines'); $lay->text('Our records show that the following library items ' . 'are checked out under your name and are past due. Please ' . 'return them as soon as possible and pay any late fees due.'); $lay->close(); $lay->close(); $lay->element('Spacer', array('height' => 28)); $lay->container('TextLine'); $lay->text('Sincerely,'); $lay->close(); $lay->element('Spacer', array('height' => 14)); $lay->container('TextLine'); $lay->text('The library staff at ' . OBIB_LIBRARY_NAME); $lay->close(); $lay->element('Spacer', array('height' => 14)); $lay->pushFont('Times-Italic', 12); $lay->container('Line'); $lay->container('TextLine', array('width' => '1.5in', 'underline' => 1)); $lay->text('Title'); $lay->close(); $lay->container('TextLine', array('width' => '1.5in', 'underline' => 1)); $lay->text('Author'); $lay->close(); $lay->container('TextLine', array('width' => '1in', 'underline' => 1)); $lay->text('Due Date'); $lay->close(); $lay->container('TextLine', array('width' => '0.75in', 'underline' => 1)); $lay->text('Days Late'); $lay->close(); $lay->close(); $lay->popFont(); } $lay->container('Line'); $lay->container('TextLine', array('width' => '1.5in')); $lay->text($row['title']); $lay->close(); $lay->container('TextLine', array('width' => '1.5in')); $lay->text($row['author']); $lay->close(); $lay->container('TextLine', array('width' => '1in')); $lay->text(date('m/d/y', strtotime($row['due_back_dt']))); $lay->close(); $lay->container('TextLine', array('width' => '0.75in')); $lay->text($row['days_late']); $lay->close(); $lay->close(); } $lay->close(); $lay->popFont(); $lay->close(); }
<?php echo 'test1'; include dirname(__FILE__) . '/bootstrap.php'; $member = \MemberQuery::create()->findOneById(1); $con = \Propel::getConnection(); if (!$con->beginTransaction()) { throw new \Exception('Could not begin transaction'); } try { $transfer = \TransferQuery::create()->findOneById(1); if (!$transfer) { $transfer = new \Transfer(); $transfer->setMemberId($member->getId()); $transfer->save($con); $transfer = \TransferQuery::create()->findOneById(1); } $transfer->setAmount($transfer->getAmount() + 2); $transfer->save($con); if (!$con->commit()) { throw new \Exception('Could not commit transaction'); } } catch (\Exception $e) { $con->rollBack(); throw $e; } print_r('<pre>'); print_r($transfer->toArray()); print_r('</pre>'); echo "\n CONSISTENCY 2\n";
} } $validData = $mbr->validateData(); if (!$validData) { // $pageErrors["barcodeNmbr"] = $mbr->getBarcodeNmbrError(); $pageErrors["lastName"] = $mbr->getLastNameError(); $pageErrors["firstName"] = $mbr->getFirstNameError(); $_SESSION["postVars"] = $_POST; $_SESSION["pageErrors"] = $pageErrors; header("Location: ../circ/mbr_new_form.php"); exit; } #************************************************************************** #* Check for duplicate barcode number #************************************************************************** $mbrQ = new MemberQuery(); $mbrQ->connect(); // $dupBarcode = $mbrQ->DupBarcode($mbr->getBarcodeNmbr(),$mbr->getMbrid()); // if ($dupBarcode) { // $pageErrors["barcodeNmbr"] = $loc->getText("mbrDupBarcode",array("barcode"=>$mbr->getBarcodeNmbr())); // $_SESSION["postVars"] = $_POST; // $_SESSION["pageErrors"] = $pageErrors; // header("Location: ../circ/mbr_new_form.php"); // exit(); // } #************************************************************************** #* Insert new library member #************************************************************************** $mbrid = $mbrQ->insert($mbr); $mbrQ->close(); #**************************************************************************
} $validData = $mbr->validateDataUser(); if (!$validData) { $pageErrors["barcodeNmbr"] = $mbr->getBarcodeNmbrError(); $pageErrors["lastName"] = $mbr->getLastNameError(); $pageErrors["firstName"] = $mbr->getFirstNameError(); $pageErrors["status"] = $mbr->getStatusError(); $_SESSION["postVars"] = $_POST; $_SESSION["pageErrors"] = $pageErrors; header("Location: ../user/user_edit_form.php"); exit; } #************************************************************************** #* Check for duplicate barcode number #************************************************************************** $mbrQ = new MemberQuery(); $mbrQ->connect(); $dupBarcode = $mbrQ->DupBarcode($mbr->getBarcodeNmbr(), $mbr->getMbrid()); if ($dupBarcode) { $pageErrors["barcodeNmbr"] = $loc->getText("mbrDupBarcode", array("barcode" => $mbr->getBarcodeNmbr())); $_SESSION["postVars"] = $_POST; $_SESSION["pageErrors"] = $pageErrors; header("Location: ../user/user_edit_form.php"); exit; } #************************************************************************** #* Update library member #************************************************************************** $mbrQ->update($mbr); $mbrQ->updateActivity($mbrid); $mbrQ->close();
require_once "../classes/Localize.php"; $loc = new Localize(OBIB_LOCALE, $tab); $foundError = false; #**************************************************************************** #* Checking for post or get vars. Go back to form if none found. #**************************************************************************** if (count($_GET) != 0) { $_POST = $_GET; } if (count($_POST) == 0) { header("Location: ../circ/index.php"); exit; } $barcode = trim($_POST["barcodeNmbr"]); $mbrid = trim($_POST["mbrid"]); $mbrQ = new MemberQuery(); $mbrQ->connect(); $mbr = $mbrQ->get($mbrid); $mbrClassification = $mbr->getClassification(); if (strcmp($mbr->getStatus(), "N") == 0) { $foundError = TRUE; $pageErrors["barcodeNmbr"] = $loc->getText("checkoutErr9"); } if (isset($_POST["renewal"])) { $renewal = true; } else { $renewal = false; } #**************************************************************************** #* Make sure member does not have outstanding balance due #****************************************************************************
require_once "../classes/MemberQuery.php"; require_once "../functions/errorFuncs.php"; require_once "../classes/Localize.php"; $loc = new Localize(OBIB_LOCALE, $tab); #**************************************************************************** #* Checking for post vars. Go back to form if none found. #**************************************************************************** if (count($_POST) == 0) { header("Location: ../admin/locationMembers.php"); exit; } #**************************************************************************** #* Validate data #**************************************************************************** $location = $_POST["locationid"]; $memQ = new MemberQuery(); $memQ->connect(); $members = $memQ->getMembersList($location); $my_file = '../layouts/default/MembersLocationFile.csv'; $handle = fopen($my_file, 'w') or die('Cannot open file: ' . $my_file); foreach ($members as $member) { $line = array($member['first_name'], $member['last_name'], $member['barcode_nmbr'], $member['work_phone'], $member['email']); fputcsv($handle, $line); } header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Length: ' . filesize($my_file)); header('Content-Disposition: attachment; filename="' . 'MembersLocationFile.csv' . '"'); readfile($my_file); /** *
public function action_ajax_tree(array $params = array()) { $ids = Arr::init($_REQUEST, 'ids', TYPE_ARRAY); $bonusOnly = Arr::init($_REQUEST, 'bonusOnly', TYPE_BOOL); $rowCount = Arr::init($_REQUEST, 'count', TYPE_INT, 100); $byColumn = Arr::init($_REQUEST, 'column', TYPE_STRING, 'ParentId'); $filterByColumn = "filterBy{$byColumn}"; $comparisonOperator = \Criteria::IN; $memberTypes = Localizer::get('common.member_types'); $rows = []; for ($i = 0; $i < $rowCount; $i++) { $members = \MemberQuery::create()->{$filterByColumn}($ids, $comparisonOperator)->orderBy(\MemberPeer::SIGNUP_DATE, \Criteria::ASC); if ($bonusOnly) { $members->filterByType(\Member::TYPE_MEMBER, \Criteria::GREATER_THAN); } $members = $members->find(); if (count($members) === 0) { break; } $row = $members->toArray(); $newIds = []; foreach ($members as $i => $member) { $row[$i]['TypeTranslated'] = $memberTypes[$member->getType()]; $newIds[] = $member->getId(); } $rows[] = $row; $ids = $newIds; } return new ControllerActionAjax($rows); }